Facebook的React对即将到来的Web Components规范的主要好处是什么,反之亦然(或者可能是Google的Polymer库比较多的苹果对苹果)?
根据this JSConf EU talk和React主页,React的主要好处是:
-
使用组件模型解耦并增加内聚力
-
抽象,构成和表现力
-
虚拟DOM和综合事件(这基本上意味着他们完全重新实现了DOM及其事件系统)
-
在IE 8上启用现代HTML5事件
-
服务器端呈现
-
可测试性
-
绑定到SVG,VML和
<canvas>
几乎所有提到的内容都是通过Web组件本地集成到浏览器中,除了这个虚拟DOM概念(显然) . 我可以看到虚拟DOM和合成事件今天如何有利于支持旧浏览器,但是并没有丢掉大量本机浏览器代码,比如长期射击自己?就现代浏览器而言,不是很多不必要的开销/重新发明轮子?
以下是我认为React缺少Web Components会关注的一些内容 . 如我错了请纠正我 .
-
本机浏览器支持(阅读"guaranteed to be faster")
-
用vanilla JavaScript编写JavaScript,在CSS中编写CSS,用HTML编写HTML .
-
使用Shadow DOM进行样式封装
-
反过来有this,这需要在JavaScript中编写CSS . 不漂亮 .
-
双向绑定