现在全职从事前端工作,到20年年底整6年,在做前端之前,我是那种跟在销售后面,他投标,我负责把他吹的牛逼变出来的板儿砖型程序员,什么语言和技术栈,根本不是借口,deadline放在那里,让你今天学一个技术栈,下周项目上线的事情,时有发生。我工作4年以来,对服务端,移动端,桌面端,和一些行业专有领域,都有过或多或少的涉猎,所以我对前端在整个技术图景中的位置和形态,一直有观察和评估。
在这期间我见到过各种各样的前端项目,既有大型企业级项目,也有精致的单一功能产品。到目前为止,我自己见识过得,认为可以某种程度上代表前端上限的产品有——
单一功能产品,国外的有:gmail,officeonline,mapbox,niagara(一种智慧建筑管理系统),react,vscode等。国内的有:石墨文档,厦门hightopo的webscada,QQ空间,淘宝双11大屏,echart,白鹭引擎等。
我认为以上产品,在单一功能复杂程度,以及实现水平方面,分别在国际和国内代表了当前最高水平。
企业级的大项目,不好衡量,但是从业务复杂程度和可见部分的架构水平而言,一线互联网公司(比如facebook/google/阿里)的支撑系统,以及业界领先的企业应用产品(比如saleforce/aws/微软),应该是目前最棒的。
我认为这些产品,从工程管理和前端架构方面,代表了业界最高水平。
如果以以上产品为标杆,我们可以大致这样说:
第一,在单点技术深度方面,前端的上限,不会超过桌面时代的native应用。
第二,在整体架构和项目管理方面,前端的上限,不会超过当前主流的大型后端项目。
所以如果有人标榜什么前端技术,那是忽悠人。前端在深度和广度上,和其他领域比,都谈不上什么超前和优势。
那是不是说前端在技术上就可以什么可取之处呢?我认为也不是。
首先,前端是一个比较综合的领域,即有抽象的架构,又有具体的界面,对于综合能力的要求和培养程度比较高。在前端,埋头做一个小局部不