Fork me on GitHub

大前端感悟

随着公司面临整改清算,自己也腾出了时间对自己的知识体系进行了梳理。作为一个前端er,身处在一个变化激烈,日新月异的时代中,压力还是比较大的。nodejs的流行使得前端战场有浏览器蔓延到了服务端,15年的Vue,React的火爆更是引起了大前端的热潮,仿佛一夜之间JQuery的使用者成为了众矢之的。移动端的流行更使得战场由PC转向移动APP,内嵌H5的APP混合模式开发也已被越来越多的公司所运用,前端er的地位也由“页面仔”变为“工程师”,越来越重要,亦或大前端时代的逐步繁荣昌盛。

大前端的技术背景

传统技术栈

传统技术栈是以后台语言.net,java,php为主,前端为辅的开发模式,模板渲染多使用后台模板为主,少量数据使用ajax进行交互,前端的主要职责则是对将设计稿做成HTML静态页面,web开发以后台作为核心的开发模式。
在这种技术栈下,如果前端需要参与更多的内容,则需要学习后台生硬的模板语言例如Smarty,Velocity等,同时后台前端数据交互必须特别频繁,对接口文档的依赖和前后端的默契配合契合度特别高;

大前端技术栈

由于静态html为前端人员所写,但是后台模板一般由后台人员所改写并维护,这一定程度上造成对html结构理解的不一致从而造成样式的混乱。由于需求的变化性以及沟通成本的增加,这种模式一定程度上并不能适用多样的需求。为了解决以上问题,基于前端的分离化方案逐步完善,easeUI、基于backbone的MVC框架以及angular的MVVM框架都将web应用的主战场拉到客户端,由服务端负责数据维护,通过restfulAPI接口的形式与客户端进行交互,前端负责页面呈现和用户交互被更多的用户所推崇,这样很大的程度上提高了前端的技术栈,让前端由‘UI’角色变成了‘开发者’。

纯前端的项目带来了问题:SEO不友好,首屏加载过长;这对展示型的网站无异于自寻死路。为了解决上述问题,基于nodejs搭建服务器的解决方案便以形成。