警告:此帖子已过时。 React已获得MIT许可。
让我们找到最好的“类似反应”的库,不要成为Facebook“专利战争”的下一个受害者。 或可能成为。
介绍
TL; DR: Facebook可以将自己的开源库用作专利战的武器。
从Facebook官方解释:
专利授权书规定,如果您要使用我们根据其发布的软件,则如果您起诉我们侵犯专利权,则会失去我们的专利许可。
最好阅读FB的官方回应 ,这是React回购中的原始版本 这篇文章解释了所有事情。
UPD :阅读了一些推文/信息后,我发现专利存在某种“黑魔法”。 FB必须披露与React相关的专利才能消除这些限制。 而且似乎所有“类似React”的库也都获得了专利 ,因为它们是原始React的派生。 我猜想,FB拥有“基于组件”模型或类似模型的专利。 我不是律师,那只是我的假设。
UPD2: 另一个假设。
UPD3:同样,奇怪的是,为什么这种冲突仅在最近几天才开始流行。 解释FB许可证的帖子出现在一年多以前。
下一个英雄
Vue.js(MIT许可证),Angular(MIT许可证),Riot(MIT许可证),Ember(MIT许可证)和其他框架都很棒,但是我们认为只有“ React-like”库提供了众所周知的“基于组件” ”范例,(几乎)具有相同的API,JSX支持,并且已经获得社区的反馈。
Preact(MIT许可证)
具有相同ES6 API的快速3kb React替代方案。 组件和虚拟DOM。
每个人都知道精确。 如果您不知道什么是Preact,请阅读以下简单公式:
精确+“精确匹配” =反应
是的,您仍然可以使用Preact和preact preact-compat
使用React。 可能甚至不需要preact preact-compat
,因为Preact已经拥有自己的库,例如preact preact-router .
Preact得到了社区的大力支持,其中包括许多示例,库和插件。
地狱(麻省理工学院执照)
一个极其快速的类似React的JavaScript库,用于构建现代用户界面
地狱真的很快 。 猜猜,为什么我们应该喜欢Inferno? 是的,因为它是一个现代的快速轻量级库,并且由于以下简单的等式:
Inferno + Inferno-compat =反应
Inferno和Preact之间有一些关键区别:
- 与React和Preact不同,Inferno在功能组件上具有生命周期事件
- Inferno的服务器端渲染速度比React快5倍,比Angular 2快3倍,比Preact和Vue快1.5倍。
- 与Preact和其他类似React的库不同,Inferno具有用于输入/选择/文本区域元素的受控组件
可能,我将为下一个(反应)项目选择Inferno。
Deku(MIT许可证)
使用纯函数和虚拟DOM渲染界面
官方文档的出色描述:
Deku不用使用类和局部状态,而只是使用函数并将所有状态管理和副作用的责任推到Redux之类的工具上。 它还旨在仅支持现代浏览器以简化操作。
根据我自己的经验:最好是依赖Flux / Redux而不是使用组件的状态。
也有Rax(BSD-3许可:FB + Alibaba) , Bobril , DIO , Imba , vidom以及其他具有类似API的库,框架和附加组件 ,但是它们并不那么受欢迎。
感谢您阅读本文😈
GitHub : @Metnew
推特: @theMetnew
From: https://hackernoon.com/the-react-is-dead-long-live-the-react-e97eea715f1c