上上上周的周末,公司请了一个互联网巨头的前端架构师,给我们介绍了下前端技术的发展状况和技术体系,内容很多,这篇博客,我主要和大家分享下"前端技术水平的各个阶段",大家可以对号入座,看看自己或者公司的前端水平停留在哪个阶段?
一、刀耕火种(静态页面为主,也称作Web 1.0)
界面以信息展现为主,主要是HTML,少量的javascript,主要用于表单验证等。页面由 JSP、ASP,前后端职责不明晰,或者说没有前端
前端View代码和业务逻辑的java或者.Net代码混合中一起,不易维护。
这个阶段,开始出现组件化萌芽
二、青铜时代(后端MVC)
为了降低复杂度,以后端为出发点,有了 Web Server 层的架构升级。
Structs、SpringMVC、FreeMarker
前后端工作划分开始变的明晰
三、铁器时代(Ajax)
2004 年Gmail像风一样的女子来到人间,很快2005 年 Ajax正式提出,加上CDN 开始大量用于静态资源存储,于是出现了 JavaScript 王者归来的 SPA(Single Page Application 单页面应用)时代
前后端的分工非常清晰,前后端的关键协作点是 Ajax 接口
这个时期,随着好的用户体验产品不断出现,前端开发越来越复杂,Web前端的类库增长迅速
存在的挑战:前后端接口约定;前端代码量的增加,前端开发开始有了代码组织的问题
四、工业革命(前端MVC)
前端开发繁荣发展,开始考虑:如何更好地模块化开发;业务数据如何组织;界面和业务数据之间通过何种方式进行交互;
出现了一些前端MVC、MVP、MVVM框架,我们把这些框架统称为MV*框架
出现量一些模块化开发的架构,Require.js ,Sea.js
前后端职责很清晰。前端工作在浏览器端,后端工作在服务端。可以很好的实现前后端分离并行开发。
全异步,对 SEO不利。往往还需要服务端做同步渲染的降级方案。
性能并非最佳,特别是移动互联网环境下。
五、全栈时代(Node.js)
尝试阶段,随着 Node.js的兴起,JavaScript 开始有能力运行在服务端。前端开发人员开始负责两个UI层。
据我了解,国内,现在大型互联网公司基本能达到第四阶段,大多数IT公司还处在第二阶段和第三阶段中,也有少数还处在刀耕火种的阶段,主要是维护一些遗留系统或者基于遗留系统做些工作。
你的公司属于哪个阶段呢?如果你是做前端的,你自己又在哪个阶段呢?