经常在开发过程中前端和后端人员需要经常交流细节,不能按章程一次开发到位。 职责不分:传统Web开发,是【 服务端】 的MVC分层,视图层、业务逻辑层都混 在一个项目中,实际上工作量都是后端开发工程师在做,后端开发人员既要写业 务逻辑代码,又要负责将数据填充进view页面中。但是通常后端工程师并不擅长 页面设计,所以造成了后端工程师任务繁重,且要做自己不擅长的页面开发,职 责过于集中化; 无法复用接口:因为传统的web开发,业务逻辑和视图层代码混在一块,导致服 务端接口跟前端过于紧密, web服务只能负责浏览器终端的服务,无法为手机 APP、微信公众号页面等新兴终端提供接口服务 如果前后端可以通过Ajax:GET,POST进行数据交换,在开发前期只需要提供标准结果。
正确情况下
{ “Status”:200, “Message”:”ok”, “Data”:[ { “ClassRoomName”:”B101”, “Statue”:[ “占”, “占”, “空”, “空”, “空”, “空”, “空”, “空”, “空”, “空” ] } ] }
错误情况下
{ “Status”:400, “Message”:”Requst Error !” }
1.接口复用 后端一套API接口,只提供标准的JSON数据; PC-WEB、 Mobile-WAP-WEB、微信公众号、微信小程序、安卓APP、苹果APP等6种终端,可以共用 一套服务端API接口,大大提高了后端服务共用的效率,减少了维护成本。 2.职责清晰 纯后端工程师只负责业务逻辑,并以JSON的格式对外提供接口,不用去关心如何渲染,也不用去关心 渲染给哪种终端,对后端工程师来说,所有类型的终端,都是一种终端; •前端工程师可以放心地去做自己擅长的事情,可以使用自己熟悉的JavaScript + CSS +HTML来开发 视图层页面,可以使用JS来自己封装最终暴露给视图层的【 外放接口】 ; 3.路由及安全 因为在后端接口,和前端终端之间,会加上一层【 前端中间层】 ,通常是使用NodeJS框架来实现,这 个中间层会起到路由、缓存和分发的作用,后面会详述; •因为终端面向的是前端中间层,所以后端的接口并不会直接暴露给APP终端层,提高了安全性。
第一阶段:后端生成静态页面 第二阶段:后端提供JSON接口,前端html + js解析json,动态渲染页面 第三阶段:前、中、后三层架构 NodeJS中间层