2017年值得关注的JavaScript框架与主题

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

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

JavaScript%20&%20DOM%20Fundamentals

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

  • 内建方法:%20我们需要了解标准数据类型%20(特别是%20arrays,%20objects,%20strings,%20以及%20numbers).

  • 函数%20&%20纯函数:%20或许你觉得自己已经很了解函数了,但是总有些小技巧是你没有接触过的。另外不仅仅是对于基本的函数的用法,我们还要对函数式编程的思想,譬如纯函数高阶函数等有所掌握。

  • Closures:%20在学习闭包的过程中了解JavaScript传统的函数作用域。

  • Callbacks:%20回调是JavaScript异步编程的基本概念,某个回调函数会在某个异步操作结束后被调用,就好比领导对你说:好好干你的工作,做好了跟我汇报下。

  • Promises:%20Promise是处理将来值的方法之一,当某个函数返回的是Promise对象时,你可以调用该对象的then函数来获取异步传入的值。而调用者是通过传入的resolve回调来传值,譬如doSomething().then(value%20=http://www.netofthings.cn/JieJueFangAn/2016-12/>%20console.log(value));

  • Ajax%20&%20服务端API调用:%20绝大部分有趣的应用都需要与服务端通过网络进行交互,你应该了解基本的HTTP%20Client知识。

  • ES6:%20最新的JavaScript版本为ES7,或者叫ES2016,不过很多人ES6还没用熟练,正在过渡期吧。

  • Classes%20(note:%20避免类继承.%20参考%20How%20to%20Use%20Classes%20and%20Sleep%20at%20Night.)

  • 函数式编程基础:%20函数式编程基于数据函数的组合来构建业务逻辑,避免了共享状态与可变数据,这一点会避免很多的问题。

  • Generators%20&%20async/await:%20个人观点,最好的异步代码的写法就是用写同步代码的方式去写异步代码。不可否认这些都存在学习曲线,不过磨刀不误砍柴工。

  • Performance:%20RAIL — 参考%20“PageSpeed%20Insights”%20&%20“WebPageTest.org”

  • Progressive%20Web%20Applications%20(PWAs):%20参考%20“Native%20Apps%20are%20Doomed”&%20“Why%20Native%20Apps%20Really%20Are%20Doomed”

  • Node%20&%20Express:%20Node允许你在服务端运行JavaScript程序,而Express则是目前最为流行的基于NodeJS的Web框架。

  • Lodash:%20一个非常好用的、模块清晰的JavaScript辅助工具,其也遵循了很多函数式编程的理念,你可以通过%20lodash/fp导入。

Tooling
  • Chrome%20Dev%20Tools:%20DOM%20inspect%20&%20JS%20debugger:%20Chrome%20Dev%20Tools算是最为优秀的调试工具了,Firefox也有很多不错的扩展。

  • npm:%20官方开源的JavaScript包管理工具。

  • git%20&%20GitHub:%20分布式版本管理系统,很适合团队协作。

  • Babel:%20能够将ES6代码编译到ES5使之能够兼容老版本浏览器。