React.js
Autor Jordan Walke
Pierwsze wydanie 1 marca 2013; ponad 11 lat temu
Aktualna wersja stabilna 18.2.0 / 14 czerwca 2022; ponad rok temu
Język programowania JavaScript
Platforma sprzętowa Wieloplatformowy
Licencja MIT
Strona internetowa

React.js (inne nazwy: React, ReactJS) – biblioteka języka programowania JavaScript, która wykorzystywana jest do tworzenia interfejsów graficznych aplikacji internetowych. Została stworzona przez Jordana Walke, programistę Facebooka, a zainspirowana przez rozszerzenie języka PHP – XHP. Często wykorzystywana do tworzenia aplikacji typu Single Page Application.

Z głównych cech wyróżniających bibliotekę React.js jest wirtualny DOM. React przechowuje cały DOM aplikacji w pamięci, po zmianie stanu wyszukuje różnice między wirtualnym i prawdziwym DOM i aktualizuje zmiany. Drugą z cech szczególnych React jest język JSX. Jest on nakładką na JavaScript, która dodaje możliwość wstawiania kodu HTML (lub komponentów React) bezpośrednio w kodzie, zamiast ciągu znaków.

React.js jest obecnie używany na stronach internetowych firm takich jak Netflix, Imgur, PayPal, Archive.org, Gamepedia, SeatGeek, HelloSign czy Walmart. W 2015 roku React.js i React Native były dwoma najpopularniejszymi otwartymi projektami na stronie GitHub.

Biblioteka React jest wykorzystywana przez framework Next.js.

Kontrowersje licencyjne

React.js od października 2014 do września 2017 był dostępny na 3-klauzulowej licencji BSD z tzw. wyjątkiem patentowym dodanym przez Facebooka. Wyjątek miał chronić Facebooka przed pozwami związanymi z naruszeniem patentów, ale dawał prawo Facebookowi zerwania licencji w każdej chwili. Wyjątek wzbudzał kontrowersje jako ograniczający dostęp do biblioteki poprzez niejasne zapisy. Apache Software Foundation (dalej: ASF) wydało oświadczenie, że wyjątek ten jest niezgodny z licencją BSD i powinien zostać usunięty. Jednocześnie ASF zabroniło używania React na ówczesnej licencji we wszystkich projektach wspieranych przez ASF. Facebook jeszcze w sierpniu 2017 odrzucił możliwość zmiany licencji.

We wrześniu 2017 WordPress zapowiedział, że rezygnuje z użycia biblioteki Facebooka w swoich projektach ze względu na kontrowersje licencyjne. Tydzień po tej decyzji Facebook zapowiedział zmianę licencji dla React.js na licencję MIT. Zmiana licencji została zastosowana zarówno dla nowej wersji React.js (16.0), jak i dla poprzedniej (15.x, począwszy od 15.6.2).

Przypisy

  1. Dan Abramov: React was partly inspired by XHP. Twitter.
  2. Vjeux: Our First 50,000 Stars. Oficjalny Blog, 2016-09-28. [dostęp 2021-10-10].
  3. React. libscore. [dostęp 2017-01-14]. (ang.).
  4. Christine Abernathy: Open source in 2015: A year of growth. /code.facebook, 2015-12-29. [dostęp 2017-01-14]. (ang.).
  5. Berkana, A compelling reason not to use ReactJS [online], Bits and Pixels, 24 maja 2015 [dostęp 2017-10-10].
  6. 1 2 Natasha Lomas, WordPress to ditch React library over Facebook patent clause risk, „TechCrunch” [dostęp 2017-10-10] (ang.).
  7. Facebook won’t change React.js license despite Apache developer pain [online], 21 sierpnia 2017 [dostęp 2017-10-10] (ang.).
  8. Apache Foundation bans use of Facebook BSD+Patents licensed libraries like React.js [online], react-etc.net [dostęp 2017-10-10] (ang.).
  9. Explaining React’s license [online], Facebook Code, 19 sierpnia 2017 [dostęp 2017-10-10] (ang.).
  10. Relicensing React, Jest, Flow, and Immutable.js [online], Facebook Code, 22 września 2017 [dostęp 2017-10-10] (pol.).
  11. React v16.0 – React Blog [online], reactjs.org, 26 września 2017 [dostęp 2017-10-10] (ang.).

Linki zewnętrzne

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.