在知乎上看到Web 前后端分离的意义大吗?这样的话题。感觉特别有意思,结合自己的工作经历。想分享点自己一些浅薄的认识:
在公司的角度出发
在公司的角度出发和业务类型有很大关系,如果是大公司,业务线比较深业务比较复杂公司是希望,前后端分离的,原因很简单:社会分工和协作越来越细化,大公司希望创造流水线式的工作流程。专业的人做专业的事情,我想度过《福特传》的同学应该会深有体会。通过设计出流水线式的工作模式,大大提高生产力。这样的好处在与,对于员工依赖性小,只需要短期培训就能上流水线。公司更希望缔造管理者联盟在管理者之间存在深层次的交互渗透。
对于小公司而言,考虑的是时间成本和人力成本,如果前后端不分离,那么意味着沟通成本小,在对于细分部分要求不是那么严格,要求快速成型的前提下,一个人能顶多个,公司宁愿多付一部分成本来请这样的人去快速推进产品节奏。对于创业公司,时间也是不小的成本。
在工程师的角度出发
工程师团队有两种类型工程师:工程师类型和科学家类型
工程师类型,在他们眼中一切皆工具,能快速实现和为工程服务,他们的技能是追求横向的,一切皆我所用。能快速实现,用可以掌握的技术解决工程问题。这样的人,无所谓前后端了,全栈或者是爆栈。如果这类人,愿意跟随公司业务一起成长,擅长解决遇到各种技术问题,所以在他们眼里无所谓前后端。
科学家类型,在他们眼中更像是清教徒,做技术就要做到极致,追求更深入研究和细节。用什么东西喜欢研究透。这种工程师会在纵向细分领域研究很深入。这些人倾向于做细分领域也就是前后端分离倾向。
科学家类型像学术方向,工程师类型像应用方向,没有谁绝对好或者不好。