React.js
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[1][2]. Często wykorzystywana do tworzenia aplikacji typu Single Page Application.
Autor | Jordan Walke |
---|---|
Pierwsze wydanie | 1 marca 2013; ponad 11 lat temu |
Aktualna wersja stabilna | 18.3.1 / 26 kwietnia 2024; ponad 8 miesięcy temu |
Język programowania | JavaScript |
Platforma sprzętowa | Wieloplatformowy |
Licencja | MIT |
Strona internetowa |
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[3]. W 2015 roku React.js i React Native były dwoma najpopularniejszymi otwartymi projektami na stronie GitHub[4].
Biblioteka React jest wykorzystywana przez framework Next.js .
Kontrowersje licencyjne
edytujReact.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[5][6]. 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[7][8]. Facebook jeszcze w sierpniu 2017 odrzucił możliwość zmiany licencji[9].
We wrześniu 2017 WordPress zapowiedział, że rezygnuje z użycia biblioteki Facebooka w swoich projektach ze względu na kontrowersje licencyjne[6]. Tydzień po tej decyzji Facebook zapowiedział zmianę licencji dla React.js na licencję MIT[10]. 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)[11].
Przypisy
edytuj- ↑ Dan Abramov: React was partly inspired by XHP. Twitter.
- ↑ Vjeux: Our First 50,000 Stars. Oficjalny Blog, 2016-09-28. [dostęp 2021-10-10].
- ↑ React. libscore. [dostęp 2017-01-14]. (ang.).
- ↑ Christine Abernathy: Open source in 2015: A year of growth. /code.facebook, 2015-12-29. [dostęp 2017-01-14]. (ang.).
- ↑ Berkana, A compelling reason not to use ReactJS [online], Bits and Pixels, 24 maja 2015 [dostęp 2017-10-10] .
- ↑ a b Natasha Lomas , WordPress to ditch React library over Facebook patent clause risk, „TechCrunch” [dostęp 2017-10-10] (ang.).
- ↑ Facebook won’t change React.js license despite Apache developer pain [online], 21 sierpnia 2017 [dostęp 2017-10-10] (ang.).
- ↑ Apache Foundation bans use of Facebook BSD+Patents licensed libraries like React.js [online], react-etc.net [dostęp 2017-10-10] (ang.).
- ↑ Explaining React’s license [online], Facebook Code, 19 sierpnia 2017 [dostęp 2017-10-10] (ang.).
- ↑ Relicensing React, Jest, Flow, and Immutable.js [online], Facebook Code, 22 września 2017 [dostęp 2017-10-10] (pol.).
- ↑ React v16.0 – React Blog [online], reactjs.org, 26 września 2017 [dostęp 2017-10-10] (ang.).
Linki zewnętrzne
edytuj- React.js: The Documentary w serwisie YouTube