根据以往的工作经验,先总结出前端在项目中的角色和职责,大体分为两类:
一.设计HTML页面
前端根据UI设计师交付的设计图,转化成静态的html页面,后端开发拿到html页面,转化成动态的后台模板(jsp,velocity,freemark等等),并且加上ajax代码进行异步处理。在我任职过的其中一家公司就是用这种模式,背景是前后端人员比例1:8,前端无法腾出更多的精力参与更多工作。一个项目的工作量不仅是编码,还包含线上故障的修复及用户体验问题的优化。
二.渲染HTML页面
前端开发人员负责页面的渲染与ajax处理,角色和app客户端开发人员类似。细分不同框架的操作方式:
1.java web框架(struct,freemark,jsp....)
前端人员在开发电脑上搭建后台java的运行环境,在java web的工程下编写页面,如果是纯ajax异步渲染的页面,问题不大,对于要求seo友好的页面,需要后端直接渲染页面,对前端提出更高的要求,要求懂后台的模板标签语言。后端开发人员负责逻辑处理与数据获取,把数据实体对象提供给前端。
2.node.js框架
node.js使前端更易上手web后端开发,java开发人员提供restful api接口,定义后接口,各自独立开发,互不影响,不足之处是node后端通常不做逻辑处理与数据库访问,需要再调用后端接口。本是浏览器的http直接访问tomcat,现在在中间加上一层node,性能不如之前。
前后端干活的姿势哪种好,取决于项目的人员配备、项目使用的技术框架、性能要求。