? ? ? ?我这里所说的前后端分离指的是前端代码与后端代码是完全相互独立的,前端的实现不会掺杂任何的后端代码。前后端仅仅通过json数据去通信。前端去发送ajax请求后端提供的数据。
? ? ? ?自从公司前年从.net转向java后,一直采用的是前后端分离的模式。后端程序没有一个页面,均为前端提供json数据。前端则通过ajax去请求这些数据,其中前端的静态页面完全是放在nginx中的。下面说一下对于这种模式的几个想法。
? ? ? ?1、首先最直观哒,那我认为就是工作量上的问题啦!采用这种方案后,前端的同志们任务艰巨了很多啊,因为这样许多的逻辑判断都交给了前段,而后端呢,这是提供前端json数据,这对于我们后端的同胞们来说,轻松了不少。这样也是代码干净了许多,前端代码里只有js,css等代码。同时前端同胞们终于可以专心的研究前端技术啦,从backbone到现在的?angularjs等,我觉得我们的前端攻城师真的越来越强大。
? ? ? ?2、性能方面上,前后端分离有一定的提升,因为静态页面完全在nginx里,所以为后端服务器分担了些压力,当然,即使前后端不完全分离,象一些静态文件也可以放在nginx里。因为所有请求都是异步的,所以不会出现这个页面都阻塞在那里的情况。
? ? ? ?3、因为前端不依赖后端了,所以即使后端换一种语言编写,也不会影响前端,只要请求路径以及返回json数据格式不变就行了。但我估计换语言的可能几乎为零,谁闲着没事儿去换语言,换语言很容易悲剧。即使换了语言,我估计前端的需求也变了。
?
? ? ? 总结:前后端分离的确给我们带来了一些好处,像分工明确,性能提升等。但并不是所有项目都是用于这种模式,小的项目采用这种项目反而会增加成本,包括部署方面以及代码编写和维护方面。因为这样前端已经非常的复杂,采取各种框架,如backbone,?angularjs,requireJS等,这样导致维护前端代码也不是那么容易。同时前后端的协调工作也多了起来,需要前后端去商量请求路径返回数据格式等。但我认为尝试下这种方案还是不错的,至少我们已经成功的应用了这种方案。
?
才发现,原来写日志是这么困难。自己写日志的目的就是记录自己的学习历程,分享自己的工作经验,更是为了获取大家的批评与指正。这是写的第一篇日志,感觉写的是失败的,感觉就像流水帐。希望大家都能够提出自己的意见,我们互相的去进步。
?
?
原文:http://z19910509.iteye.com/blog/2230708