1 基于后端MVC的传统架构
由于公司的项目之前是MVC架构,前端项目写在view层,辅以后端的模版嵌套
优点:
- 项目由后端统筹,包括css,img,js等静态文件,布局模版,版本控制,便于后端理解
- 有利于SE0
- 适合PC端
- 适合小型项目快速开发
缺点:
- 不能做到前端模块化,需借助 sea.js 此类模块化js
- 压缩,合并前端资源,需借助 gulp 等node构建工具
- 冗余代码较多
2 前端工程化
以vue-cli搭建SPA的项目为例
优点:
作为目前流行的开发模式,有着下面的优点:
- 模块化开发(js,css)
- 组件化:传统项目更多是封装成插件使用
- 更好的压缩合并前端资源
- 方便使用es6等前沿技术开发
- 适合手机应用开发
- 更好的处理复杂应用
缺点:
- 需掌握的知识更多,对开发有技术要求
- 单页SPA开发,不利于SEO搜索
3 前后端对接的一些注意点:
3.1 请求状态码:
请求状态码需要统一,每个状态码需要明确代表什么意思,方便前端判断。
比如:错误码的定义同HTTP请求状态码一样,对接者能通过系统定义的错误码,快速了解接口返回错误信息,方便排查错误原因。
比如:在需要用户权限的系统中,如果判断该用户未登录或者登录状态丢失,可返回一个指定的状态码,方便前端请求拦截。
3.2 使用工具测试,推荐PostMan
3.3 token验证机制
用户验证机制,推荐用token验证。
关于token验证的过程,请看链接
3.4 遇到涉及安全的字段传递,需考虑签名匹配
4 个人观点:
- PC端项目重SE0,小型项目可采用第一种模式
- 后台项目,手机端项目可采用第二种模式
无论选择哪种模式,前期开发的时候,规范一定要先制定好,最好先写个共同开发准则
参考链接