React已经死了。 React万岁!

React已经死了。 React万岁!

警告:此帖子已过时。 React已获得MIT许可。

让我们找到最好的“类似反应”的库,不要成为Facebook“专利战争”的下一个受害者。 或可能成为。

介绍

TL; DR: Facebook可以将自己的开源库用作专利战的武器。

从Facebook官方解释:

专利授权书规定,如果您要使用我们根据其发布的软件,则如果您起诉我们侵犯专利权,则会失去我们的专利许可。

最好阅读FB官方回应 ,这是React回购中原始版本 这篇文章解释了所有事情。

UPD :阅读了一些推文/信息后,我发现专利存在某种“黑魔法”。 FB必须披露与React相关的专利才能消除这些限制。 而且似乎所有“类似React”的库也都获得了专利 ,因为它们是原始React的派生。 我猜想,FB拥有“基于组件”模型或类似模型的专利。 我不是律师,那只是我的假设。
UPD2: 另一个假设。
UPD3:同样,奇怪的是,为什么这种冲突仅在最近几天才开始流行。 解释FB许可证的帖子出现在一年多以前。

下一个英雄

Vue.js(MIT许可证),Angular(MIT许可证),Ri​​ot(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之间有一些关键区别:

  1. 与React和Preact不同,Inferno在功能组件上具有生命周期事件
  2. Inferno的服务器端渲染速度比React快5倍,比Angular 2快3倍,比Preact和Vue快1.5倍。
  3. 与Preact和其他类似React的库不同,Inferno具有用于输入/选择/文本区域元素的受控组件
可能,我将为下一个(反应)项目选择Inferno。

Deku(MIT许可证)

使用纯函数和虚拟DOM渲染界面

官方文档的出色描述:

Deku不用使用类和局部状态,而只是使用函数并将所有状态管理和副作用的责任推到Redux之类的工具上。 它还旨在仅支持现代浏览器以简化操作。

根据我自己的经验:最好是依赖Flux / Redux而不是使用组件的状态。

也有Rax(BSD-3许可:FB + Alibaba)BobrilDIOImbavidom以及其他具有类似API的库,框架和附加组件 ,但是它们并不那么受欢迎。

感谢您阅读本文????
GitHub@Metnew
推特: @theMetnew

From: https://hackernoon.com/the-react-is-dead-long-live-the-react-e97eea715f1c