作者:Adam at 2016-08-30 22:48:37
这两周陆陆续续进行了两个独立的前端项目,一个是前后端分离的Angular项目,一个是ES6+Nodejs的全栈项目,前者先做,后者差不多刚完成,最明显的感觉就是写了Angular不想写JQuery,写了ES6不想写ES5。
我就在想,为什么会有这么强烈感觉?是什么导致的?
首先,我们来看看前端主要做什么?
一是页面:HTML+CSS样式布局;
二是Javascript脚本:根据页面事件响应、控制页面逻辑。
就这么简单。
然后,CSS样式多了,Javascript函数多了,我们就希望代码好维护,方便调用,少写代码,于是就出现了各种CSS/Javascript框架。
随之而来的问题也出现了,逻辑变复杂,这就需要我们把注释要写清楚,甚至完全文档化。
Javascript写法太自由了,写出来效果往往容易有bug,加上不同浏览器的、不同终端的折腾,好吧,我们把单元测试、界面测试补上,这下总可以了吧。
但是,问题并没有结束。
我们开始思考Javascript是否真的适合写前端页面,为什么Javascript写大型项目这么痛苦?为什么要不断重复写写登录注册?为什么要离不开for循环?为什么不能尽可能高的重用代码?
我们很早就在说OOP、MVC,也有现在的MVVM、SAM,也出了不少经典框架,但Javascript始终还是Javascript,没有class,没有isArray,只有说不清道不明的 prototype
和 __proto__
。既然我们知道什么样的语法简洁高效,为什么不让Javascript也能这么做呢?所以,Type Script出来了,Webpack/Babel出来了,ES6出来了。
所以,如果现在你想学前端,直接写ES6吧,有了webpack和babel,以前能做的现在都能做,现在能做的,以前不一定能做。
如今前端也再也不是写写页面、做做脚本,不再是网页三剑客的时代。你还需要精通Sublime/Vim这些编辑器,会架构前端开发环境、熟悉Nodejs/NPM,掌握Phantomjs/Jasmine等测试手段,会用JsDoc写文档。当然,最重要的还是要学好ES6。
最后,我总结一下我学习ES6后,发现的一些好处,希望和大家多交流、沟通~
- OOP的原配Class,写起来的酸爽倍儿棒只有自己知道
- 模块化导入,让我可以前后端共享代码
- 函数参数的扩展是我的最爱,直接让我轻松20%
- 代码密集度明显好于过去,这是密集恐惧症的福音
- Webpack无疑是前端开发自动化的必备神器,你值得拥有~
- 你不再需要模版语言,ES6就是最好的模版语言
- 一切皆Js,HTML是,CSS也是