React.js
| React | |
| | |
| Originalförfattare | Jordan Walke |
|---|---|
| Utvecklare | Meta Platforms och communityn |
| Först släppt | 29 maj 2013 |
| Senaste utgåva | 18.3.1 (25 april 2024) |
| Senaste betautgåva | 19.0.0-rc (25 april 2024) |
| Skriven i | JavaScript |
| Utvecklingsstatus | Aktiv |
| Operativsystem | Plattformsoberoende |
| Typ | Bibliotek för webbapplikationer |
| Licens | MIT-licens |
| Webbplats | react |
React (även känt som React.js eller ReactJS) är ett fritt JavaScript-bibliotek med öppen källkod som används för att bygga interaktiva användargränssnitt, primärt för ensideapplikationer (Single Page Applications, SPA). Ramverket utvecklas och underhålls av Meta Platforms (tidigare Facebook) tillsammans med en stor grupp oberoende utvecklare och företag. React introducerade en komponentbaserad arkitektur som fundamentalt förändrade hur modern webbutveckling bedrivs.
Historia
[redigera | redigera wikitext]React skapades av Jordan Walke, en mjukvaruingenjör på Facebook. Han inspirerades av XHP, ett tidigare HTML-komponentramverk för PHP. React rullades först ut externt i Facebooks nyhetsflöde under 2011, och integrerades därefter i webbversionen av Instagram under 2012.[1]
Källkoden publicerades under öppen källkod i samband med utvecklarkonferensen JSConf US i maj 2013.
Tidigare använde React en modifierad BSD-licens med en specifik patentklausul knuten till Facebook. Detta väckte dock skarp kritik från utvecklarsamhället och stora organisationer som Apache Software Foundation. Efter påtryckningar valde Facebook i september 2017 att licensiera om React till den standardiserade MIT-licensen.[2]
I februari 2019 lanserades version 16.8 som introducerade konceptet "Hooks" (krokar), en omfattande uppdatering som gav utvecklare möjlighet att hantera tillstånd (state) och andra React-funktioner utan att behöva skriva traditionella JavaScript-klasser.
Teknik och funktioner
[redigera | redigera wikitext]React är utformat kring konceptet att dela upp användargränssnittet i isolerade, återanvändbara delar kallade komponenter. Denna modell gör det enklare att underhålla och skala stora kodbaser.
- Virtuell DOM: I stället för att interagera direkt med webbläsarens Document Object Model (DOM), skapar React en abstrakt kopia i arbetsminnet, en så kallad Virtuell DOM. När data i applikationen ändras, jämför React den virtuella DOM:en med den faktiska DOM:en och uppdaterar enbart de specifika element som faktiskt har förändrats. Detta minimerar resurskrävande omritningar och resulterar i hög prestanda.
- JSX: Utveckling i React sker i regel med JSX (JavaScript XML), en syntaxutökning som gör det möjligt att skriva HTML-liknande kod direkt inuti JavaScript-filer.
- Enkelriktat dataflöde: React tvingar fram ett dataflöde som enbart rör sig i en riktning (från överordnad komponent till underordnad). Detta gör det enklare att spåra buggar och förstå hur data förändras i applikationen över tid.
React Native
[redigera | redigera wikitext]Under 2015 släppte Facebook React Native, ett separat men nära besläktat ramverk som utnyttjar Reacts arkitektur för att bygga inbyggda mobilapplikationer för Android och iOS.
Se även
[redigera | redigera wikitext]Referenser
[redigera | redigera wikitext]- ↑ Krill, Paul (15 maj 2014). ”React: Making faster, smoother UIs for data-driven Web apps” (på engelska). InfoWorld. https://www.infoworld.com/article/2608181/react-making-faster-smoother-uis-for-data-driven-web-apps.html. Läst 4 april 2026.
- ↑ ”Facebook won't change React.js license despite Apache developer pain”. Theregister. 21 augusti 2017. https://www.theregister.com/2017/08/21/facebook_apache_openbsd_plus_license_dispute/. Läst 4 april 2026.