smalldragonluo

smalldragonluo

V2EX member #182406, joined on 2016-07-18 21:35:08 +08:00
Per smalldragonluo's settings, the topics list is hidden
Deals info, including closed deals, is not hidden
smalldragonluo's recent replies
前后端分离之所以提出来,并且簇拥者甚多,肯定不仅仅是部门斗争的结果。毫无疑问,前后端分离后,前端的话语权有一定的提升,但这只是结果。
淘宝前后端分离的好处,有以下几点:
1. 当事物的粒度被划分得比较细,人员各司其职,注定会提升整体效率。这一切的前提是各环节之间的衔接必须顺利。前后端分离之前,频道页面的开发流程是这样的:前端和后端协商整个页面的路由;约定接口;前端写好页面,将 html 拿给后端,由后端写模板,这一阶段前后端衔接会有很大的沟通成本;然后预发(这一过程是比较长的),如果页面有问题,还得前端改好,让后端再次预发,这一直是开发过程中的痛点。 Node.js 让前端掌控了页面渲染,摆脱了这种困境。
2. 从体验上来讲,一般是同步渲染页面首屏, Java 端模板渲染页面后,前端往往又需要异步渲染剩余的数据(分页,瀑布流),这时候就存在两套模板,总体效率降低。使用 Node.js 后,模板语言统一,减少了不必要的开发成本。
3. 前端对页面的性能优化掌控能力增加,可以做很多事情,例如 BigPipe 。有人提到淘宝 CDN PHP 换 Node.js 是因为性能差,实际上之前的 PHP 性能差很大一部分是 PHP 版本过旧,还有一个原因是 fast-cgi 高并发和 Node.js 相比没有优势。
当然,劣势也显而易见:例如对前端要求变高,不专业的人员容易出现许多问题;增加了 Node.js 层,同机部署压力增加;许多监控,稳定性保障需要加强等。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3510 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 10:36 · PVG 18:36 · LAX 03:36 · JFK 06:36
♥ Do have faith in what you're doing.