Reagować

Reagować

Informacja
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.

Historyczny

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.

funkcje

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

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.

React Native

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 .

Uwagi i odniesienia

  1. „  Wersja 17.0.2  ” (dostęp 10 kwietnia 2021 r. )
  2. (en) Eric Baer, „  Korzystanie z React to decyzja biznesowa, a nie wybór technologii  ” , na Medium ,4 grudnia 2015(dostęp 21 grudnia 2015 ) .
  3. „  React.js Conf 2015  ” , na Youtube ,4 lutego 2015
  4. „  Netflix UI Engineers on Twitter  ”, na Twitterze (dostęp 27 lipca 2020 r . ) .
  5. „  Yahoo Mail przenosi się do React  ” na Slideshare
  6. (in) „  Dev Chats Spike Brehm z Airbnb - Tworzenie JavaScript bez aplikacji„ greenfield  ” na Medium ,2 września 2014 r
  7. "  Mikael Brassman na Twitterze:" Nowo wydany interfejs sieciowy Lifelog firmy Sony używa #refluxjs i #reactjs po stronie klienta "  " , na Twitterze ,7 stycznia 2015 r
  8. "  Wesley Walser na Twitterze:" React.js prowadzi teraz strony rozliczeniowe @atlassian OnDemand. Mały projekt do wdrożenia, dotychczas pozytywne doświadczenia. "  » , Na Twitterze ,19 czerwca 2014
  9. „  The New Gutenberg Editing Experience  ” , w The New Gutenberg Editing Experience (dostęp 15 kwietnia 2020 )
  10. (en-US) „  WordPress 5.0„ Bebo ”  ” , w WordPress News ,6 grudnia 2018 r(dostęp 15 kwietnia 2020 )
  11. (en) Bill Fisher, „  Jak powstał pomysł na opracowanie rozwiązania React i ile osób z nim pracowało? Opracowywanie i wdrażanie go na Facebooku?  " ,11 lutego 2015(dostęp 21 grudnia 2015 ) .
  12. (w) Paul Krill, „  React: Making szybszy, płynniejszy interfejs użytkownika dla aplikacji internetowych opartych na danych  ” ,15 maja 2014(dostęp 6 kwietnia 2015 )
  13. „  Wydania - facebook / reaguj  ” , na github.com (dostęp: 6 kwietnia 2015 )
  14. "  README.md  " ,28 października 2014.
  15. (w) "  Aktualizacja naszego grantu patentowego Open Source  " ,10 kwietnia 2015(dostęp 21 grudnia 2015 ) .
  16. „  React v16.0  ”, React Blog ,26 września 2017 r( czytaj online , przeglądano 28 września 2017 r. )
  17. „  React v15.6.2  ”, React Blog ,25 września 2017 r( czytaj online , przeglądano 28 września 2017 r. )
  18. (in) Pete Hunt, „  Dlaczego stworzyliśmy React?  » , Na facebook.github.io ,5 czerwca 2013(dostęp 6 kwietnia 2015 )
  19. (in) „  JSX in Depth  ” na facebook.github.io (dostęp 6 kwietnia 2015 )
  20. .