发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

基于JVM使用React.js和Spring Boot建立同构的Web应用

                   
2015-02-28 12:04
赞助商链接

这是一个展示如何使用Java的Spring Boot实现预渲染前端MVC(MVC-frontend)的同构Web应用开源项目:winterbe/spring-react-example · GitHub

所谓同构Isomorphic应用是指Javacript在客户端和服务器端同时运行,后端和前端同享相同的代码。

传统Web应用是在服务器端产生HTML,然后发往客户端,后来这被客户端MVC改变如 Angular.js, Backbone.js or Ember.,但是在客户端产生HTML视图有优点和缺点,同构webapp试图克服其缺点,方式是通过在服务器端和客户端使用相同的技术同时产生视图来实现。

React.js是一个可程序化产生视图的Javascript库包,React是一种对传统MVC替代的Flux模式,它的组件能在服务器端和客户端实现渲染。

所以,这种同构架构一般需要前后端都是统一的Javascript环境,后端一般使用Node.js,但是本开源项目后端使用Java,通过Nashorn这个JVM的Javascript引擎在后端运行React的服务器端代码。

这种方式可能有性能损失,从严格概念上讲,不是真正的同构,但是考虑到后端大量的Java投入,这个设计不失为衔接传统遗留系统与现代潮流系统的折中方式,不过,千万要记住计算机科学的一条原则:

All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection.
在计算机科学中所有问题都可以通过引入另外一个间接层来解决,除了因为间接层太多带来的新问题。

2
reactjs      spring      MVC模式      EDA事件驱动     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com