首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
smalldragonluo
›
全部回复第 1 页 / 共 1 页
回复总数
1
2016-08-12 19:59:14 +08:00
回复了
FrankFang128
创建的主题
›
JavaScript
›
为什么我不喜欢「前后端分离」(个人观点,欢迎来喷)
前后端分离之所以提出来,并且簇拥者甚多,肯定不仅仅是部门斗争的结果。毫无疑问,前后端分离后,前端的话语权有一定的提升,但这只是结果。
淘宝前后端分离的好处,有以下几点:
1. 当事物的粒度被划分得比较细,人员各司其职,注定会提升整体效率。这一切的前提是各环节之间的衔接必须顺利。前后端分离之前,频道页面的开发流程是这样的:前端和后端协商整个页面的路由;约定接口;前端写好页面,将 html 拿给后端,由后端写模板,这一阶段前后端衔接会有很大的沟通成本;然后预发(这一过程是比较长的),如果页面有问题,还得前端改好,让后端再次预发,这一直是开发过程中的痛点。 Node.js 让前端掌控了页面渲染,摆脱了这种困境。
2. 从体验上来讲,一般是同步渲染页面首屏, Java 端模板渲染页面后,前端往往又需要异步渲染剩余的数据(分页,瀑布流),这时候就存在两套模板,总体效率降低。使用 Node.js 后,模板语言统一,减少了不必要的开发成本。
3. 前端对页面的性能优化掌控能力增加,可以做很多事情,例如 BigPipe 。有人提到淘宝 CDN PHP 换 Node.js 是因为性能差,实际上之前的 PHP 性能差很大一部分是 PHP 版本过旧,还有一个原因是 fast-cgi 高并发和 Node.js 相比没有优势。
当然,劣势也显而易见:例如对前端要求变高,不专业的人员容易出现许多问题;增加了 Node.js 层,同机部署压力增加;许多监控,稳定性保障需要加强等。
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
5862 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms ·
UTC 02:25
·
PVG 10:25
·
LAX 18:25
·
JFK 21:25
Developed with
CodeLauncher
♥ Do have faith in what you're doing.