React.js

React.js
logo
Autor Jordan Walke
Pierwsze wydanie 1 marca 2013; około 13 lat temu
Aktualna wersja stabilna 19.2.7
(1 czerwca 2026) [±]
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 PHPXHP(inne języki)[1][2]. 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(inne języki), SeatGeek(inne języki), 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(inne języki).

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[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

  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. a b 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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Kembali kehalaman sebelumnya