1、table表格时代
最早在学校学web开发的时候,记得有html+css,js,ps,网页设计,php,mysql等课程,第一年的时候学table表格制作网页,第二年的时候学习css+div制作网页和js,当时有很多同学都逃课,有的课程老师后来都不讲了,让大家在电脑教室自习,选择一个好的学校是多么重要,整个教室只有我在自己学习,到了期末考试的时候,大部分同学也是抄我的答案和毕业设计。
2、套页面时代
那个时候的前端还停留在套页面的时代,有的前端也叫美工,那个时候我们还在用dreamvewer开发页面,当写好了页面,有的公司是前端自己套页面,有的公司是后端负责去套,记得最早的时候还是用asp + iis,用的windows服务器,后来又到了php + apache 或者nginx,然后是java + jsp,ssh、ssm框架,套页面的问题就是前后端的职责有耦合,前端不想去碰后端的项目,后端也不想改前端的页面。
3、jquery + ajax + bootstrap 时代
于是随着ajax的为人熟知,前后端分离成为了新的协作模式,后端变为提供api接口,前端只需调用api接口,拿到数据后,自行去渲染页面,这时还是jquery + bootstrap横行的时代,这时前端只需提供联调后的html即可,大家都是面对api接口开发,开开心心。
这时诞生了许多前端的模板引擎,handlebars、art-template等等,当然使用模板引擎还不能够解决全部的问题,对于大量的交互式web应用来说,还需要绑定大量的事件,比如获取大量表单的值,设置表单值,都需要我们手工的一个个查找dom并进行后续的逻辑,这就很麻烦了,因为查询dom就是一个麻烦事,还要取值和更新值操作。
4、angular 1.x 时代
这时Google的angular 1.x来了,它完全颠覆以前的jq开发模式,让我们从繁重的dom操作中解脱出来,只需针对数据也就是view-model去开发即可,数据改变自动更新dom,dom上触发数据变化数据也会随之更新,这一切的dom操作的脏活累活全部又框架帮你做好了,我们只需关注数据即可。
5、angular、react、vue 框架三足鼎立
angular之后,react、vue等各种mvvm框架也像雨后春笋一样陆续冒出来,直到现在的三足鼎立状态。
6、单页面应用时代
之后由于h5 history的加入,让前端有能力操作浏览器URL,所以单页面应用开始陆续的流行起来,以前由后端所掌握的页面地址也交给了前端来负责。单页面应用每次加载新页面不用重新去请求所有代码,只需请求变化的部分,重新渲染到ui上,所以体验上要比以前的多页应用要好很多。
但单页面应用也并非十全十美,由于首次启动应用需要加载依赖库代码,页面代码,然后请求数据,页面才会渲染出来,所以首屏加载速度是单页面应用的硬伤。还有就是SEO问题,由于搜索引擎并不能运行js代码,所以单页应用的SEO也是个问题。
7、SSR服务端渲染
所以SSR又出现了,借助nodejs的能力,通过服务端加载好数据,并生成完整的html返回到前端来解决上面的首屏渲染和SEO的问题。
但SSR也增加了前端应用的复杂性,由于借助了nodejs作为服务端能力,所以应用保活,错误处理,性能压测,性能优化也需要前端去了解,需要学习一些后端和运维方面的知识。所以对前端又是一片蓝海领域。
8、Serverless 无服务器
由于上面提到的一些问题,为了降低前端的学习成本,serverless又出现了,它的出现可以让前端专注业务逻辑,无需关心应用的运维,应用扩容,保活不在需要你去关心。
所以前端工程师们一直在不停的思考,探索未来的web前端应用是什么样子,所以感谢这个时代,感谢我是一名前端工程师,感谢这个有趣的时代。
欢迎我的公众号【小帅的编程笔记】,让我们在前端的路上越走越远
|