WARNING: This post is OUTDATED. React is MIT licensed now. Let’s find the best “React-like” library and don’t become a next victim of Facebook’s “patent wars”. Or probably become . Intro TL;DR: can use own open-source libraries as a weapon in patent wars. Facebook From official Facebook explanation: The patent grant says that if you’re going to use the software we’ve released under it, you lose the patent license from us if you sue us for patent infringement. It’d better read the , the and explaining all the things. official FB response original issue in React repo this post : After reading some tweets/info I figured out that there is some kind of “black magic” with . FB has to disclose patents connected to React to remove these restrictions. And it seems that , because they are derivates of original . I guess, FB has patent on “component-based” model or something similar. I’m not a lawyer, that’s just UPD3: Also, it’s strange why this conflict has become popular only in last few days. UPD patents all “React-like” libraries are patented too React my assumption.UPD2: yet another assumption. Posts explaining FB license appeared more than one year ago. Next Heroes Vue.js(MIT license), Angular(MIT license), Riot(MIT license), Ember(MIT license) and other frameworks are awesome, but we consider only “React-like” libraries that ship well-known “component-based” paradigm, have (almost) the same API, JSX support and already have a feedback from community. Preact (MIT license) Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM. _preact — ⚛️ Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM._github.com developit/preact Everyone knows Preact. If you don’t know what is Preact, then read this simple equation: Preact + “preact-compat” = React Yeah, you still can work with React using Preact and . Probably, you even don’t need , because Preact already has own libraries like Preact has a big support from the community, many examples, libraries and addons. [preact-compat](https://github.com/developit/preact-compat) preact-compat [preact-router](https://github.com/developit/preact#libraries--add-ons). Inferno(MIT license) An extremely fast, React-like JavaScript library for building modern user interfaces _inferno — An extremely fast, React-like JavaScript library for building modern user interfaces_github.com infernojs/inferno And guess, why we should like Inferno? Yes, because it’s a modern fast lightweight library + because of this simple equation: Inferno is really . fast Inferno + Inferno-compat = React There are some key differences between Inferno and Preact: Unlike React and Preact, Inferno has lifecycle events on functional components Inferno’s server-side rendering is around 5x faster than React, around 3x faster than Angular 2 and around 1.5x faster than Preact and Vue. Unlike Preact and other React-like libraries, Inferno has controlled components for input/select/textarea elements Probably, I’ll select Inferno for my next (React) project. Deku(MIT license) Render interfaces using pure functions and virtual DOM _deku — Render interfaces using pure functions and virtual DOM_github.com anthonyshort/deku Great description from official docs: Instead of using classes and local state, Deku just uses functions and pushes the responsibility of all state management and side-effects onto tools like . It also aims to support only modern browsers to keep things simple. Redux From my own experience: It’s even better to rely on Flux/Redux instead of using component’s state. There are also , , , , and other libraries, frameworks, addons with similar API, but they’re not so popular. Rax(BSD-3 license: FB + Alibaba) Bobril DIO Imba vidom Thanks for reading this article 😈Github: Twitter: @Metnew @theMetnew
Share Your Thoughts