Java Web开发中前后端分离的技术方案和优缺点
2015-10-28 18:15
531 查看
方案一
前端使用ArgularJS编写SPA(Single Page Application)应用,后端服务器只提供RESTful接口且完全无状态化。优点:
前后完全分离,前端开发者完全不需要关心服务端用了什么技术,只需要一份接口说明文档即可。
手机App与PC端网站可以共用同一套接口。
缺点:
如果”页面”过多,SPA应用第一次加载速度会稍慢。
SEO困难。
方案二
使用NodeJS渲染Web页面,然后调用后端RESTful接口。优点:
前后完全分离, 后端开发者可以专注于业务逻辑开发。
缺点:
NodeJS代码如果异常处理不好容易直接挂掉进程。
增加了部署和维护成本
对前端开发者技术要求比较高
增加了一层NodeJS,提高了网络传输的开销
方案三
使用Velocity(或其它渲染引擎),前端开发者只写静态页,完成后交给后端进行“动态化”优点:
前端完全不需要关注后端的任何东西。
缺点:
后端开发者必须熟悉HTML , CSS, JS,不能专注业务开发。
前后端沟通成本大
后端服务器如果需要为App提供接口,则需要写两套
Controller
方案四
前端开发者学习使用Velocity语法,直接编写*.vm文件
优点:
后端完全不需要关心页面问题
缺点:
前端人员学习成本高
需要在本地搭建、部署Java运行环境,对前端人员来说难度很大。
后端服务器如果需要为App提供接口,则需要写两套
Controller
目前我们使用一、四结合的方案,对NodeJS保持谨慎态度。 前端开发者更倾向于SAP和NodeJS.
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统