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 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.
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.
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 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 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 Next.js Vue.js Angular.js
Referenser
Externa länkar
Kategori:Meta Platforms Kategori:Javascript-bibliotek Kategori:Facebook