浏览器平台的革新

缘起

近来看到几个框架, 以为趋向有显著, 就是人人都在想种种方法 Hack 浏览器.
我想愈来愈多人来开辟 HTML5 运用并非为了 HTML5 迥殊合适开辟图形运用,
而是因为 Web 这个平台更轻易触及, 而且对客户端兼容更多
也许正因为如此, 才会有如今这么多基于浏览器 Hack 和种种差别的主意
浏览器并非虚拟机, 然则愈来愈多的手艺使得浏览器变得像是一个虚拟机的平台

浏览器

我打仗互联网的时候在 09 年摆布, 那时候看到 Chrome 的更新
厥后的事变人人都知道了, Chrome 致使 JavaScript 和 Web 运用成为了盛行手艺
优化的机能, 大批夙昔浏览器不具有的 API, CSS3 动画, 完成了先决条件

然则完成浏览器, 修正浏览器的默许脚本言语, 不是那末随便的
HTML5 存在规范, ECMAScript 有规范, CSS 也有规范
先不说关于以往的页面的兼容性和开辟浏览器自身的难度,
单说开辟一套能用的手艺, 能疾速传递给开辟者, 自身难度就异常大
因而有了后边基于 JavaScript 的种种 Hack

言语的编译

起首 CoffeeScript 之类的言语, 以 JavaScript 环境为虚拟机
其他的代码编译到 JavaScript 去运转, 从而绕过浏览器环境的限定
借助如许手腕, 浏览器不支持的许多编程范式和语法能引入浏览器
个中著名的比方 CoffeeScript..

https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS

CSS 方面的状况相似, 以至也加入了编程言语的种种逻辑
另一方面, HTML 也在不停转变, 起首是种种模板引擎
模板引擎重要完成了模版和模块化的特征, 其次带来了种种语法

https://github.com/coffee-js/languages/wiki/List-of-languages-that-compile-to-HTML-CSS

动态的转化

然则更出色的是关于 DOM 构造的模仿, 比方 Virtual DOM
重要在 React 当中, Virtual DOM 作为 DOM 操纵优化的中心情势而存在
Virtual DOM 相关于模板引擎有更多优化的功用, 更具有编程言语的笼统才能
别的另有 Elm 在函数式相应式编程带来了机能飞快的完成

http://calendar.perfplanet.com/2013/diff/

而在新的生长的手艺当中, Famo.us 关于 DOM 的题目显得越发激进
Famo.us 以为 DOM 并不合适当前和将来交互异常多的 App
Web 运用须要的是一个相似游戏引擎的平台, 以杀青高机能和细腻界面
因而 Famo.us 推出的框架中, 运用的逻辑被编译到迥殊优化的 DOM
这些 DOM 被开启了 GPU 加快, 绕过了浏览器低效的优化
以至在 Famo.us 当中集成了一个物理引擎, 以应对细腻的动画结果
天生的 DOM 以平铺的构造排在 Container 下, 绕过低效的优化

http://elm-lang.org/blog/Blazing-Fast-Html.elm

本日别的看到的一个模块是 Facebook 正在开辟的 css-layout
这个模块用于将 CSS3 经由过程 JavaScript 编译到详细的数值设置
经由过程如许体式格局, 绕过种种浏览器兼容性题目, 完成 Flexbox 规划等等新手艺

https://github.com/facebook/css-layout

趋向

我觉得因为浏览器的平台上风和手艺约束, 将会有更多绕过浏览器功用手艺涌现
掏出浏览器优异的子集作为虚拟机, 用来开辟更合适运用开辟的手艺
上边列出我所看到的, 愿望将来能看到更适用于 Web 开辟的手艺不停涌现

    原文作者:题恭弘=叶 恭弘
    原文地址: https://segmentfault.com/a/1190000000751795
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞