链接:http://www.sitepoint.com/javascript-2015-review/
JavaScript经历了一个不平凡的一年。尽管到5月份已经20年了,关于JS的新闻、项目和兴趣继续成倍增长。或许这是一个奇怪怪圈,但是我想不出另一个技术有类似发展速度。JS变得越来越难以跟上,所以我希望这篇总结文章有助于大家更加了解JS.
ECMAScript 快速发展
七年的漫长等待,在2015年6月ECMAScript Harmony 或ECMAScript6.0 规范正式发布。
ES6很快又称为ES2015,尽管我不知道有谁这样叫过。名字的更改是好的;2015年完成了规范。JavaScript引擎现在可以完全支持ES2015而且每个人都能理解。不幸的是,营销类不会喜欢这点;没人回叫ES2015,似乎2016年一月一日它听起来就过时了。
ES2015对开发者来说意味着什么?做好准备吧类似:
- classes
- enhanced object literals
- let and const
- arrow functions
- template strings
- iterators
- generators
- destructuring
- proxies
- weakmap and weakset
- symbols
- promises
- reflection
其中大部分是语法糖。例如,JavaScript将保存原型继承但是提供classical 继承,例如对于那些从其他语言迁移来的开发人员提供了 class 结构。
ES2015的支持仍然是不完整的,但是可以使用转换器如Babel 将大部分代码转换为ES5。这样也很好但是需要额外的工作使测试和调试变得更加复杂。就我个人而言,我是一个JavaScript勒德分子更喜欢旧的东西直到它的支持得到改善。
但是从现在起忘记ES2015 -- 让我们继续ES7/2016!
JavaScript复仇者联盟
随着WebAssembly的公布,引起一阵狂热;一个低级地二元包装类集合的web语言!
向浏览器发布大型应用程序并不总是可行的。一个游戏或复杂的程序需要下载数百兆源代码,编译成字节码并最终以机器代码运行。WebAssembly通过编译源码成一个更简单/更快的处理使这个过程更有效,Javascript引擎兼容字节码并且打包在一个紧凑的二进制文件里。浏览器代码将因此下载并且更快的开始。没有必要比正常的JavaScript运行更快但是可以优化。
我们之前已经见过二进制的土地。Flash, Silverlight, Java和Google Native Client(NaCI)全是类似的。但是WebAssembly应该有更好的机会展现它。
1. 需要相对简单的JavaScript引擎的变化
2. 不需要浏览器插件,并且
3. 需要Google, Microsoft, Mozilla 和Apple的支持
兴奋吗?你最好温习下你的C/C++技能,因为他们是第一个WebAssembly编辑器的目标。
Node.js 分叉
Node.js从2014一个小众技术变成2015的必备技术。Node.js无处不在;桌面, 服务器,树莓派,嵌入式设备等等。即使来着其他领域的开发人员采用Node.js使用构建工具例如Grunt和Gulp。
2015年见证了关于Node的的党派争论并以与io.js合并结束。这意味着Node.js v0.12将在9月份被Node.js v4.0取代。是的,这是一个3个整版本的跳跃因为io.js已经达到版本3.0,也不能倒退了。
当然,版本号码也不意味着什么。。。除了那些现在认为Node.js 4+比Ruby 2he Python 3更先进。V5会在一个月后到达,他也会取代.NET4. 并且在速度上会赶上PHP7!
框架疲劳
2269个新的JavaScript框架在2015年发布了。我虚构了这些数字绝对没有研究过,但是很少有人会怀疑的。很难去追逐这些框架。。。
- AngularJS依然很流行但是使用上已经达到稳定,它在2016年推出2.0版本会有更新。
- React已经吸引了浓厚的兴趣。
- Meteor承诺一个全栈同构JavaScript应用平台。
- Vue.js 达到版本1.0 并且Aurelia发布了。
- Ember, Knockout和 Backbone.js已然健在
- 其他,例如Rendr, 看起来他们会受欢迎,但是却没有。
对于JavaScript开发者是不可能有信心去依靠一个特定的代码库。对于一体化框架能解决很多问题但是也能引起很多问题。依赖一个框架是非常危险的,根据这篇文章--前端Javascript依赖是完全错误的明智建议,需要提取框架底层技术。
如果你必须使用一个框架但是从不认为长期是可行的。新的、更好的框架替代品在你开发一半的时候出现。永远不要忘了框架是一个选项--你不需要一定要用。小而灵活,最小的依赖关系的项目是一个更安全的赌注。
工具浪潮
你还记得那些无忧无虑的日子吗,web开发只需要一个浏览器,一个文本编辑器和一个FTP客户端。现在你需要Node.js, Gulp/Grunt, git, 静态HTML生成器, Sass编辑器, Autoprefixer, minifiers, uglifiers, linters, 浏览器同步和一系列其他构建工具来一个基本的“Hello World”页面。
这是好的。我们正在开发更加复杂的web程序,工具让我们自动化平凡的流程,把精力集中到更有趣的棘手部分。2015是一个伟大的一年,因为:
- Atom 1.0--GitHub的Node.js-提供可控制编辑器,在六月已经发布了
- PostCSS- 快速的、模块化CSS处理器,获取了今年我的工具奖。
- 一系列新的浏览器包括Edge和Vivaldi增强许多开发工具。
是的,尽管所有这些免费优化工具,网页平均重量要多2MB,并且包含一百多个单独文件。这是进步吗?或许不是,如果你读过Klint Finley的这篇文章我关闭JavaScript整整一个星期,感觉太棒了。其实这不是科技的错误,是实践方面。关闭JavaScript广告、弹出框、对话框、无限滚动的页面、社交注册提示、时事通讯和其他一些我们认为在web页面上很重要的功能。
一些公司希望停止网页成为糟糕的替代品,例如Facebook Instant和Google Accelerated Mobile Pages.我不相信一个隔离的非标准web是答案。
最后
据官方消息:Node.js比PHP更好!无可否认地,这篇文章没有做出这样的表态,但是它说明了Node.js已经到来。或许PHP正在提高版本7的速度来获得赢的局面,但是最后使用任何让你觉得舒服的语言。颇有争议地,最近他们WordPress.com前端从PHP转换到Node.js.但是我怀疑指的更多关于Colypso项目的状态而非语言。
2015年的技术术语是“同构”。SitePoint已经讨论过,提供了示例代码. 但是其实这意味着JavaScript代码一次编写任何地方都能工作 - 在浏览器或者服务器上。对于小型独立的应用程序一开始是相对简单,但很快就会变得极为复杂。
jQuery 3.0首次在7月发布。承诺发布两个新的版本;一个用于现代浏览器,一个兼容版包括兼容IE8。团队期待一些有成就的突破改变。
11月,Mozilla宣布他们将停止销售JavaScript驱动的Firefox操作系统的智能手机。
这不是Firefox 操作系统的终结 -- 开发继续,并会应用到一些智能TVs -- 但是这些信号是不好的。或许最好是押注在一些还未知的操作系统的安装,离线web应用程序?
2015年最让人惊喜的JavaScript公司来自Microsoft:
- Visual Studio Code,一个新的跨平台的扩展, 类似Sublime Text/Atom编辑器
- vorlon.js, 一个开源的远程调试和测试公司,
- Chakra, Edge的浏览器引擎,
鉴于最近开发网络,或许我们应该将该公司成为“新微软”?
展望2016
对JavaScript的态度已经改变了。几年前(不公平)JavaScript被嘲笑虽然难以理解,程序员避开有bug的脚本语言。现在,你无法避免这个语言,2016年工具、框架和项目的发展将会继续。
虽然不容易跟上,但是回归JavaScript不会有太大问题。
标签: 2015 回顾、ES2015, es6, javascript框架、JavaScript工具、node.js、WebAssembly