Facebook的反应与Web组件的优点和缺点(聚合物)
Facebook的React对于即将到来的Web组件规格有什么主要的好处,反之亦然(或者更多的苹果对苹果的比较是对Google的Polymer库)?
根据这个JSConf EU谈话和React主页,React的主要好处是:
- 使用组件模型解耦和增加内聚力
- 抽象,构成和expression
- 虚拟DOM和合成事件(这基本上意味着他们完全重新实现了DOM及其事件系统)
- 在IE 8上启用现代HTML5事件
- 服务器端渲染
- 可测性
- 绑定到SVG,VML和
<canvas>
(显然)除了这个虚拟DOM的概念之外,几乎所有提到的内容都是通过Web组件本地集成到浏览器中的。 我可以看到虚拟DOM和合成事件今天如何能够有效地支持旧浏览器,但是不会丢掉大量的本地浏览器代码,就像长时间在自己的脚下投射一样? 就现代浏览器而言,是不是很多不必要的开销/重新发明轮子?
以下是一些我认为 React缺less的Web组件会关心的问题。 如我错了请纠正我。
- 本地浏览器支持(读“保证更快”)
- 在香草JavaScript中编写JavaScript,在CSS中编写CSS,在HTML中编写HTML。
- 使用Shadow DOM进行样式封装
- React取而代之,这需要在JavaScript中编写CSS。 不漂亮。
- 双向绑定