Opracowany przez | Facebook , Instagram i społeczność |
---|---|
Pierwsza wersja | 2013 |
Ostatnia wersja | 17.0.2 (22 marca 2021 r) |
Kaucja | https://github.com/facebook/react |
Zapewnienie jakości | Ciągła integracja |
Napisane w | JavaScript |
System operacyjny | Wieloplatformowy |
Rodzaj | Biblioteka JavaScript |
Licencja | Licencja MIT |
Stronie internetowej | actjs.com |
React (zwany również React.js lub ReactJS ) jest wolny JavaScript biblioteki opracowany przez Facebook od 2013 roku . Głównym celem tej biblioteki jest ułatwienie tworzenia pojedynczej strony internetowej aplikacji poprzez tworzenie komponentów zależnych od stanu i generowanie strony HTML (lub jej części)przy każdej zmianie stanu.
React to biblioteka, która zarządza tylko interfejsem aplikacji, widzianym jako widok w modelu MVC . W związku z tym może być używany z inną biblioteką lub strukturą MVC , taką jak AngularJS . Biblioteka wyróżnia się na tle konkurencji elastycznością i wydajnością, współpracuje z wirtualnym DOM i aktualizuje renderowanie w przeglądarce tylko wtedy, gdy jest to potrzebne.
Biblioteka jest używana przez Netflix (po stronie serwera tylko z25 października 2017 raby uzyskać 50% wydajności), Yahoo , Airbnb , Sony , Atlassian, a także przez zespoły Facebooka , stosując dogfooding w tytułowej sieci społecznościowej, Instagramie lub WhatsApp . Pod koniec 2015 roku WordPress.com ogłosił Gutenberg, interfejs dla edytorów witryn WordPress, opracowany w JavaScript z Node.js i React.
React jest tworzony przez Jordana Walke, inżyniera w firmie Facebook pod koniec 2011 roku . Pete Hunt, inżynier pracujący na Instagramie, interesuje się biblioteką i pomaga Walke w usuwaniu zależnych fragmentów Facebooka. Pozwala to na wydanie Reacta na licencji Apache 2.0 na29 maja 2013. React rysuje XHP (in) , również opracowaną przez Facebooka bibliotekę, umożliwiającą włączenie HTML do PHP .
W październik 2014, wersja 0.12.0 jest wydana na zmodyfikowanej licencji BSD , z powiązaną uwagą PATENTÓW , zezwalającą na wykorzystanie patentów Facebooka związanych z React. Jednak licencja BSD jest aktualizowana dokwiecień 2015, z wersją 0.13.1, aby uniknąć nieporozumień.
Plik 26 września 2017 r, React 16.0.0 został wydany na licencji MIT . Ta zmiana dotyczy również wersji 15.x z React 15.6.2.
React został zaprojektowany jako biblioteka, a nie framework MVC , jak mogą być jego konkurenci. W ten sposób React zachęca do tworzenia komponentów wielokrotnego użytku z danymi wejściowymi, które mogą się zmieniać w czasie.
Ponadto React nie korzysta z systemu szablonów i współpracuje tylko z JavaScriptem , umożliwiając całkowitą hermetyzację komponentu w ramach jednej klasy. Aby ułatwić pisanie widoku, początkowy zespół Facebooka opracował język JSX, który umożliwia generowanie obiektów JavaScript z notacją podobną do HTML.
Wirtualny DOM to reprezentacja DOM w JavaScript . Zamiast generować sam DOM , jak w przypadku języka szablonów, tj. Zamiast prowadzić dialog z interfejsami API przeglądarki w celu zbudowania DOM, generujemy w pamięci jedynie strukturę drzewa obiektów JavaScript.
W 2015 roku pojawił się React Native . Framework ten jest oparty na React i nadal umożliwia tworzenie aplikacji wieloplatformowych na Androida i iOS w Javascript .