前端入门之我见

作者: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也是