smalldragonluo 最近的时间轴更新
smalldragonluo

smalldragonluo

🏢  Alibaba / 前端工程师
V2EX 第 182406 号会员,加入于 2016-07-18 21:35:08 +08:00
smalldragonluo 最近回复了
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   ·   实用小工具   ·   2857 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 06:22 · PVG 14:22 · LAX 22:22 · JFK 01:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.