2017年值得关注的JavaScript框架

作者:王下邀月熊
链接:https://zhuanlan.zhihu.com/p/24373050
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2017年值得关注的JavaScript框架与主题翻译自Top JavaScript Frameworks & Topics to Learn in 2017,从属于笔者的Web 前端入门与最佳实践。其他有关于2016年前端开发的总结包括2016 年前端工具使用度调研报告2016年里做前端是怎样一种体验2016前端学习路线图。另外推荐The State of UX in 2017,作为开发者了解下设计的想法也是必需的。

JavaScript的繁荣促生了很多优秀的技术、框架与工具库,这空前的繁荣也给很多人造成了困惑,无所适从。到底何者是值得投入,代表了未来的方向,而何者又是真正适合于当前项目,当前团队的?而本文即时作者基于自身实践的一些思考,与诸君共享。

JavaScript & DOM Fundamentals

工欲善其事,必先知其器。在我们准备了解使用其他JavaScript框架的时候,我们首先需要去了解JavaScript的语法要点与一些工程实践:

  • 内建方法: 我们需要了解标准数据类型 (特别是 arrays, objects, strings, 以及 numbers).
  • 函数 & 纯函数: 或许你觉得自己已经很了解函数了,但是总有些小技巧是你没有接触过的。另外不仅仅是对于基本的函数的用法,我们还要对函数式编程的思想,譬如纯函数高阶函数等有所掌握。
  • Closures: 在学习闭包的过程中了解JavaScript传统的函数作用域。
  • Callbacks: 回调是JavaScript异步编程的基本概念,某个回调函数会在某个异步操作结束后被调用,就好比领导对你说:好好干你的工作,做好了跟我汇报下。
  • Promises: Promise是处理将来值的方法之一,当某个函数返回的是Promise对象时,你可以调用该对象的then函数来获取异步传入的值。而调用者是通过传入的resolve回调来传值,譬如doSomething().then(value =http://www.netofthings.cn/JieJueFangAn/2016-12/> console.log(value));
  • Ajax & 服务端API调用: 绝大部分有趣的应用都需要与服务端通过网络进行交互,你应该了解基本的HTTP Client知识。
  • ES6: 最新的JavaScript版本为ES7,或者叫ES2016,不过很多人ES6还没用熟练,正在过渡期吧。
  • Classes (note: 避免类继承. 参考 How to Use Classes and Sleep at Night.)
  • 函数式编程基础: 函数式编程基于数据函数的组合来构建业务逻辑,避免了共享状态与可变数据,这一点会避免很多的问题。
  • Generators** & async/await:** 个人观点,最好的异步代码的写法就是用写同步代码的方式去写异步代码。不可否认这些都存在学习曲线,不过磨刀不误砍柴工。
  • Performance: RAIL** — **参考 “PageSpeed Insights” & “WebPageTest.org”
  • Progressive Web Applications (PWAs): 参考 “Native Apps are Doomed”& “Why Native Apps Really Are Doomed”
  • Node & Express: Node允许你在服务端运行JavaScript程序,而Express则是目前最为流行的基于NodeJS的Web框架。
  • Lodash