前端性能优化关键词:VanillaJS


What is vanilla JavaScript?

你可能听说过Angular、React、Backbone、Ember、Knockout、Vue、Ext、jQuery、Meteor、Express、Koa、Total、Socket.io等等等等。但什么是 VanillaJS,又要学一个新框架么?
VanillaJS 只是不用任何框架或库的一种调侃,源自于“plain JavaScript without any additional libraries” 大概是 without any libraries 的简写吧。
还有人建立了模仿一般框架的官网。http://vanilla-js.com/
下载区域可以选择不同的插件,全部选择后源文件大小也是 0.00KB。所有API都和原生JavaScript一样。执行速度也是最快的。而且所有浏览器都原生支持!
有些页面只为实现简单的功能引入了代码库比如jQuery,但是jQuery本身就占了页面所有JS的70~80%,如果页面功能又必须在jQuery加载后才能执行,对页面的性能影响就很可观了。

JS框架的优点

JS框架封装了复杂困难的代码;
JS框架能加快开发速度,更快完成项目;
JS框架让你更专注于产品内容的价值,而不是实现过程;
JS框架让合作更简单,大家都对基础代码有共同的理解;
JS框架还会强迫你练习,多实践不是坏事,顺能生巧嘛。

JS框架的问题

每个项目的开发都会遇到框架文档没有说明的问题,这时候就要深入框架查找原因,这时候就需要深厚的原生JavaScript功力了。
过去5年能被大家注意到的新框架产生了数十个,猜猜5年后会有多少新的框架发布,一旦确定了项目的技术栈,几年后项目怎么办?

学会 Vanilla JavaScript 能让你真正理解JS框架,甚至能为其贡献代码,还能帮你选择合适的框架。

如果你不知道Web基本原则,语言本身的演变和新框架的不断到来,你早晚会撞墙。
知道纯JS将使你成为一个能够(不用疯狂搜索原因)解决复杂问题的关键工程师。
它将增加你的通用能力和生产力,不管在前端还是后端。
它会给你创新的工具,而不只是执行。
它会指导你什么时候使用或者不使用框架。
它将让您更好地了解浏览器和计算机工作原理。

参考文档

http://stackoverflow.com/questions/20435653/what-is-vanillajs
http://www.jianshu.com/p/99de1da0a570
http://vanilla-js.com/
https://snipcart.com/blog/learn-vanilla-javascript-before-using-js-frameworks