对于web开发前后端分离的思考

Android,iOS的移动应用app本来就是前后端彻底分离的,但是web app有必要前端端分离吗?前后端分离的意义是什么?有什么弊端?知乎上也有对这个问题的讨论https://www.zhihu.com/question/28207685,下面是我个人的一些思考。


一,前后端分离的好处

有一篇博客对前端分离的优势与意义总结的很好http://www.cnblogs.com/luozhihao/p/5761515.html

  1. 彻底解放前端。
  2. 提高工作效率,分工更加明确。
  3. 局部性能提升。
  4. 降低维护成本。

二,前后端分离存在的问题

  • 为什么不直接全栈?
    不能否认,如果开发人员是一群精通前后端的牛人当然是最好的。但是实际开发中,普遍的还是熟悉一端的人为多,如果全栈开发并不能作为一个通用的方案。那为什么不让后端人员学习前端开发,让前端人员学习后端开发呢?首先,每个人的时间和精力都是有限的,技术上的专研要有侧重点,除非是大神,普通人很难面面俱到。前端50分后端50分的两个开发人员最后只能开发出一个50分的应用,一个前端80分后端10分的开发人员和一个前端10分后端80分的开发人员却可以开发出一个80分的应用。前端分离,可以专人做专事,让每个人发挥最大的长处。

  • 数据通过异步获取,不利于seo
    对于类似博客这种展示类的应用可以页面静态化,或者通过其它一些手段优化seo,例如引入nodejs。

  • 是不是非得前后端分离不可?
    具体情况要具体分析,前后端分离是一种推荐的做法,但是如果遇到了前后端分离不好解决的问题,可以不分离,如缺少前端开发人员,或者前端界面逻辑比较复杂,后端渲染更容易实现,或者整体前后端分离部分特殊页面后端渲染相结合。但是要保持警惕,防止当项目越做越大,对前端界面显示的需求越来越大时,后端很难掌控前端的交互显示,前端人员又很难接手之前后端人员写的后端渲染页面。


三,前后端联调的沟通问题

不管前后端分不分离,前后端的联调都是一个需要解决的问题,小团队还好,大公司前后端联调可能要跨部门协作,十分拖效率。
我个人的想法是,不管是否是大公司,都可以以小团队的形式进行开发。例如某个版本的开发人员是相对固定的,那些这版本的策划,前端和后端人员可以把工位调在一起,这样隔壁桌或者走几步就能直接面对面进行沟通,这种沟通方式的最高效直接方便的。


四,扩展阅读

淘宝对前后端分离的实践
http://blog.jobbole.com/65513/
http://blog.jobbole.com/65534/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值