作家
登录

2017值得一瞥的JavaScript相关技术趋势

作者: 来源: 2017-04-12 10:09:34 阅读 我要评论

2017值得一瞥的JavaScript相干技巧趋势从属于笔者的Web 前端入门与工程实践,推荐浏览2016-我的前端之路:对象化与工程化获得更多关于2016年前端总结。本文重要内容翻译自,笔者对于每个条目进行了些许完美。

本文中说起的┞封些趋势可能离大年夜部分开辟者还很远,或者说离真正的大年夜范围工程化应用还很远,不过不妨碍我们提前两三年懂得下。本文仅代表原作者小我看法,不喜留言轻喷,译者也很好奇大年夜家对这个列表的看法。

跨年前两天,Dan Abramov在Twitter珊榱了一个问题:

笔者小我不太意愿应用Elm,不过其特点照样很有借鉴价值

JS社区毫不迟疑的抛出了它们对于新技巧的预期与等待,本文内容也是总结自Twitter的答复,按照风行度降序分列。有一个尚未肯定的小点是既然函数式编程已不再是少数派,是否要把它踢出红毯呢?

WebAssembly

客岁笔者就表示过了对于WebAssembly的等待,WebAssembly就是面向Web平台的底层代码。其初志是欲望可以或许使所有说话都可以或许编译运行到Web平台,这一点对于很多函数式编程、响应式编程的粉丝充斥吸引力。特别是跟着这几年JavaScript社区的突飞大进,很多开辟者并不克不及跟得上这门说话衍化的速度,是以他们也异常欲望可以或许直接用本身习惯的说话而不是要去重头学一门大年夜入门到直接放弃的说话。不过JavaScript今朝还处于明显的上升势头,临时还没人唱衰它。并且WebAssembly仍处于襁褓中,才进入到预览阶段,离真正的宣布还有很长的距离。总结而言,笔者建议我们都应当对WebAssembly保持必定的存眷,毕竟它会对将来的JavaScript造成极大年夜的影响。如不雅你对于WebAssembly有兴趣,那么推荐浏览Eric Elliott的相干博客。

Elm

2016年不少的开辟者介入到Elm的开辟中,Elm不仅仅是JavaScript的扩大库,而是一门可以编译到JavaScript的编程说话,对于很多热衷于函数式编程的开辟者是个不错的选择。参考Elm 入门介绍,Elm供给了如下特点:

  • 并不会存在运行时缺点,没有null,没有undefined is not a funtion。
  • 异常友爱的缺点提示信息可以或许帮助你开辟。
  • 比较严格的代码规范与项目架构,包管了你的应用在快速迭代中依然保持着最佳实践。
  • 主动为所有的Elm包添加语义版本描述。

总而言之,Elm为我们供给了优良的对象来包管编写干净、简荡竽暌闺碎片化的代码,并且因为Elm是可以编译到JavaScript,是以很多JavaScript开辟者都可以保持下存眷或者测验测验下。

babili(babel-minify)

Babili最早于2016年8月份宣布,它是基于Babel对象链上的支撑原生ES6语法的紧缩对象。Henry Zhu在这篇文┞仿中称述了为什愦我们须要另一个紧缩对象,关键点如下:

今朝大年夜部分紧缩对象只能

够处理ES5代码,是以在紧缩之前须要先辈性编译,而Babili可以或许支撑直接输入ES2015+。跟着浏览器机能的晋升,越来越多的浏览器支撑直接运行ES2015的代码,是以我们不须要再进行转换编译。别的Babili也可以作为Babel preset惹人到现有的Babel设备中,也可以作为直接应用的敕令行对象。

BuckleScript或者bsc,是个基于OCaml编译器的相对较新的JavaScript办事端框架。换言之,你可以应用优良的函数式、自带类型的OCaml说话,同时也能持续背靠基于npm担保理器的Web生态体系。

  1. class Mangler {    
  2.    constructor(program) {    
  3.      this.program = program;    
  4.    }    
  5.  }    
  6.  // need this since otherwise Mangler isn't used    
  7.  new Mangler();  

之前,应用传统的Babel进行编译与紧缩,会获得如下代码:

  1. // ES2015 code -> Babel -> Uglify/Babili -> Minified ES5 Code    
  2.  var a=function a(b){_classCallCheck(this,a),this.program=b};a();  

而Babili的效不雅如下:

  1. // ES2015 code -> Babili -> Minified ES2015 Code    
  2.  class a{constructor(b){this.program=b}}new a;  

OCaml

OCaml本身和JS没啥关系,不过列表接下来的两项都是基于OCaml,是以照样要先介绍下。如不雅你存眷了近两年来的函数式编程崛起之路,你或许听过Haskell。而得益于OCaml可以或许编译到就S,其今后来居上的姿势赶过于Haskell。Facebook的不少开辟者都是OCaml的粉丝,他们的Hack、Flow以及Infer都是基于OCaml构建的。

 1/5    1 2 3 4 5 下一页 尾页

  推荐阅读

  从代码构建到性能分析,Java开发人员的首选工具

Java 因为其实用性、跨平台性、可移植性等浩瀚长处一向备受开辟者青睐,在各大年夜编程说话排行榜中也一向居高不下,是以本文为 Java 开辟者们总结了这八个对象,它们几乎涵盖了Java开辟的全部范围,大年夜代码构建>>>详细阅读


本文标题:2017值得一瞥的JavaScript相关技术趋势

地址:http://www.17bianji.com/lsqh/34731.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)