分离的痛点是分离后,接口提供不及时,文档不完善,模拟数据不方便等。说一下我们的解决办法:
1)webpack设置proxy,这个通过webpack文档或GOOGLE一下可以解决。
2)第二步就是需要在后端提供接口及数据和接口文档,而因为前后端很可能是并行开发的,所以在真实接口出来之前需要前端模拟接口及数据,及数据文档然后在真实接口出来后,切换到真实接口调试,我们之前也遇到过此问题,所以抽时间自己做了个mocksever 系统,功能包括:
支持可视化编辑JSON接口数据及接口文档
支持GET、POST、PUT、DELETE请求类型
支持指定返回状态码,默认200
支持延时返回数据
支持mockjs
支持单个接口代理到真实服务器(开发过程中某个接口使用模拟数据,当此接口已开发完成后,可将指定接口,通过此服务指向到真实接口上)
前后端分离架构的技术要点
就是把数据和页面分离开,后端不提供页面,只是纯粹的通过 Web API 来提供数据和业务交互能力,Web 前端就是纯粹的客户端角色,与 WinForm、移动终端应用属于同样的角色,可以把它们合在一起,统称为前端,分离开了后,后端不再考虑页面如何美化,前段也不需要了解后端采用的是什么样的技术实现方案,使得前后端的开发人员能够更加专注于自身业务的开发。以前的一体式 Web 架构示意现在的前后端分离构架示意图前后端分离后,会出现以前web一体式构架中没有出现过得问题,比如认证,会话机制,签名验证等,既然是做对外的api接口,当然安全问题是我们需要认真考虑的问题了,那么webapi会存在那些安全隐患呢?处理这些安全隐患可以采用token signature认证的方式;原理是:(1)做一个认证服务,提供一个认证的webapi,用户先访问它获取对应的token;(2)用户拿着相应的token以及请求的参数和服务器端提供的签名算法计算出签名后再去访问指定的api;(3)服务器端每次接收到请求就获取对应用户的token和请求参数,服务器端再次计算签名和客户端签名做对比,如果验证通过则正常访问相应的api,验证失败则返回具体的失败信息
前后端分离技术架构
前端开发和后端开发的区别在于:
一、展示方式不同
1、前端开发主要做的是用户所能看到的前端展示界面。
2、后端开发主要做的是逻辑功能等模块,是用户不可见的。
二、所用技术不同
1、前端开发用到的技术包括但不限于html5、css3、javascript、jquery、Bootstrap、 、AngularJs等技术。
2、后端开发 以java为例 主要用到的 是包括但不限于Struts spring springmvc Hibernate Http协议 Servlet Tomcat服务器等技术。
公司对前后端人员招聘的要求:
Web前端:
1、精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构;
2、精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器;
3、熟悉JavaScript,了解ECMAScript基础内容,掌握1到2种js框架,如JQuery;
4、对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案;
5、对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施;
Web后端:
1、精通jsp,servlet,javabean,JMS,EJB,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解;
2、练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力;
3、熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑;
4、精通面向对象分析和设计技术,包括设计模式、UML建模等;
5、熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力;
参考资料来源:百度百科:前端开发