前端框架探索系列1——前言

207 阅读3分钟

前言

大约在2015年的时候,我偶然在网上看到了一本书,名字叫《Build your own AngularJs》,我曾经和很多人提到过这本书,不仅仅因为其中的内容优秀,更为作者的敬业深深吸引,从最初的jQuery、AngularJs、Vue1、Vue2,我看过国内很多人写的源码分析的各种资料,但绝大多数都存在以下一些问题:

1、抄袭极其严重

2、靠标题吸引人,很多文章标榜“史上最好的xxx”,但实际上浅尝辄止,深度不够,对于一些常见的逻辑,例如Vue响应式的分析,一搜一大把,但很少有讲到设计思路的

3、有些作者的确是原创,也能看出花了不少心血,但总感觉缺了点什么,例如代码全局的思路是什么样的,源码为什么这么写,这种代码结构是为了解决什么问题而存在的,介绍这种问题的文章凤毛麟角

关于上面的问题,我思考了很长时间,一直想以我的风格写一个系列的文章,这个系列从问题出发,然后结合框架的代码,思考框架是怎么解决这些问题的,最后很自然地生产一个框架

当然,想法非常美好,但可能我的文章也会或多或少存在上述问题,希望以此能够和更多的朋友交流,共同提升

前端发展的一个重要标志其实就是工程化的引入,分水岭大约在2016年

也正是在那个时候,我刚刚参加工作1年左右,1年前找实习工作时,很多公司要求的技术栈还是:YUI、Ext、Dojo、jQuery,部分巨头公司已经开始尝试AngularJs

不过没过多久前端就迎来Vue、React、Angular三分天下的局面,我听说过的最多的疑问就是:

“这jQuery用得好好的,为什么非得弄个angular,angular好不容易学会了,咋又出来react、webpack...”

我想,之所以有这种疑问,可能是因为,绝大多数人,包括我在内,在平时工作时还是缺乏思考,没有想过当下开发方式的痛点是什么,有没有什么更好的方式去解决这些问题,只是每天完成任务便万事大吉,然后一味抱怨

“啊!业务逻辑好复杂!”

我想更多的人也懒得去想框架到底解决了什么问题,更不可能去想有没有什么其他方案解决这些问题,想得更多的,我觉得可能是市面上流行Vue学Vue,出来React学React,然后webpack、es6、后端、docker...然后在简历上就可以写上,我精通xxx,当然,基于现如今的各种原因,也不允许让人这样做,也是事实

所以,我写这个文章着实感觉很艰难,虽然有一些源码分析的文章作为参考资料,但很多时候还是要靠自己想,也造成了这里面很多观点可能只是我自己的猜测,还希望各位能够发现并指正