原文作者:Dr. Axel Rauschmayer
5种技术,使2014年成为对于web平台来说不平凡的一年。
1. asm.js : 时在web中近乎达到本地性能。
2. ParalleJS: 并行化 Javascript 代码。
3. ECMAScript 6 (ES6) : 不断发展的语言,不断统一的社区 。
4. Web 组件 : 基础实施部件的标准化。
5. CSS网格布局 : 类原生的图形用户界面(GUI)布局。
1. asm.js : web中近乎达到原生性能。
啥东东:
当前引擎中速度执行极快的Javascript的子集(目前,以C++编译的代码占将近70%的)。
牛逼之处:
-
浏览器中近乎本地运行速度。
-
与Javascript完美的整合。
-
兼容当前所有已存在的Javascript引擎。虽然一个引擎优化 asm.js 代码需要做很多工作,不过可以逐步实施。
了解了解:
2. ParalleJS : 并行化的 Javascript 代码。
啥东东:
该项目诞生自在名为"River Trail"和在数组中mapPar(),filterPar()和reducePar()并行化的Javasript代码方法。可以想到,这些即是map(),filter() 和 reduce() 的并行执行版本。
牛逼之处:
你可以避免一大堆坑就实现并行。计划未来的也是大赞的—— ParalleJS 可能最终会为 GPUs 提供编码。
了解了解:
3. ECMAScript 6 (ES6) : 不断发展的语言,不断统一的社区。
啥东东:
Javascript 的下一个版本。ECMAScript 6 规范大概会在2014年底成为标准。那时ES6的许多特性将被引擎所实现,当然已有部分已经实现的特性。
牛逼之处:
ECMAScript 6 引入了许多新特性,并且本人希望以下两个能产生最大的影响。不仅仅是因为它们带来了之前Javascript所未有的东西,在此之前,我们在日常工作中,已经普遍习惯使用继承的API和模块系统。它统一规范了社区。
Classes:目前,几乎所有的框架都有其自己的继承API,产生了代码的可移植性问题。由于 ECMAScript 6 的 classes,所有人最终使用统一的继承机制(相当于统一的API)就又戏了。
Modules:目前的 JavaScript模块界大致分为 Node.js 模块 和 AMD(异步模块加载机制) 模块。ES6 模块机制看样子将改变这一现状。
另一个大的影响就是通过 promises 和 generators 实现对异步编程的支持。在此, promises 已被在异步的浏览器API中实现。
了解更多:
我的更多
ECMAScript 6 规范草案
(by Jake Archibald)
4. Web 组件 : 基础实施部件的标准化。
啥东东:
为 WEB 实现自己的基础部件是一件非常难以想象有多么困难的事情(HTML,CSS,JavaScript的封装打包,确保性能,模型变化时候视图的改变),这也是为什么那么多框架帮你做这个工作的原因。一方面 Web 组件 从框架的最新技术中获得帮助,另一方面它们可以使用最新的 web 平台基础特性,比如DOM阴影来封装部件标记以及 Object.observe() 来进行高性能数据绑定。
牛逼之处:
WEB组件 为WEB部件创建一个共同的系统。目前你可能会遇到网上一个碉堡了的部件但是就只在你的框架下不能正常工作。未来,这样的问题就有希望被消灭掉,因为所有的组件都为Web 组件并且所有的框架都将支持Web 组件。那时候,框架就可以开发一些新的思路而没有必要再去开发一些基础的架构轮子。
google的 为当前的浏览器 polyfill Web 组件(polyfill 是“在旧版浏览器上复制标准 API 的 JavaScript 补充”)。这意味着在那些APIs被称为 HTML5 一部分之前我们就可以通过从实践项目中得到的经验来处理实现它。
了解更多:
(by Eric Bidelman)
5. CSS网格布局 : 类原生的图形用户界面(GUI)布局。
啥东东:
引用其标准:
CSS模块定义一个基于二维化网格的布局系统,优化用户设计界面。在网格布局模型中,网格容器中的任意子块都可以被以活动或者固定的方式定位到布局网格之中。
牛逼之处:
桌面和移动端的UI框架比如Android,iOS和 Java的SWT仍然比web提前应用GUI(图形用户界面)布局。CSS网格布局将消除这一差距。那么浏览器支持情况有如何呢?()IE早已经支持,Firefox 和 chrome 的实现也在进行之中。在此希望2014年之后两个浏览器均可以使用它。如果你看一下下面编辑规范,种种迹象都表明 IT IS GOOD。
Flexbox 和 CSS 网格布局: 是另一种CSS的布局机制,拥有牛逼的跨浏览器支持。灰常适合HTML元素的流体布局。当它涉及到网格的时候,就更为强大,因为其本身为可横向或者纵向伸缩性的Box。所以,你需要决定一个主维度(横或竖),尽量处理好两个维度之间的动态关系。换言之,正确的网格(如用于桌面的GUI)会使得CSS网格布局更为容易。
了解更多:
(by Kyle Keeling)
(by Alexis Deveria)
6 那么
2014,令我激动不已的web技术,你又倾向于谁呢?说说呗~
阅读(142) | 评论(0) | 转发(0) |