首先大家可以阅读一下中文版原文:https://www.v2ex.com/t/298014?p=4,很有意思的一篇文章,作者文笔幽默,阅读起来很轻松。
文中有几个观点是笔者特别赞同的,比如:
(1)前后端不分离的团队,前端工程师都是页面仔话语权很弱,技术大牛都在后端,前端相当于给后端工程师打杂的;前端工程师晋升机会很少,薪资不高,发展前景渺茫;
(2)前后端分离后,更好招聘,团队耦合度更低,职责更分明。
但我深知前后端分离的好处远大于全栈工程师带来的好处。原因有4,详见下一小节。
我们团队最终决定进行前后端分离改造的4个主要原因:
(1)全栈工程师很难招聘,很难培养,很多后端开发人员不愿意学前端技术,而很多前端开发人员怕学后端技术;
(2)如果前后端不分离,前端工程师的工作就必须依赖后端工程师,前端工程师变成打杂的,职业生涯前景惨淡;
(3)前后端分离后,前端和后端工程师独立开发,大大提高开发效率;
(4)综合来讲,前后端分离的用人成本远低于全栈工程师用人成本;同时,前后端分离的工作效率远大于耦合工作的工作效率;
然而我们团队也是从最近才开始全面实施前后端分离的,因为笔者深知,上面4个原因所描绘的美好愿景,其实际效果将会极大的取决于一个关键环节:API文档服务器。一个将就的API文档服务器会使前后端开发工作痛不欲生,团队矛盾日益尖锐,最终将会使程序质量下降,然后没有人愿意维护。