www.wikidata.de-de.nina.az
Dieser Artikel behandelt die JavaScript Bibliothek Zu weiteren Bedeutungen siehe REACT React ist eine JavaScript Programmbibliothek 4 zur Erstellung von webbasierten Benutzeroberflachen Komponenten werden in React hierarchisch aufgebaut und konnen in dessen Syntax als selbst definierte JSX Tags reprasentiert werden 5 Das Modell von React verspricht durch die Konzepte des unidirektionalen Datenflusses und des Virtual DOM den einfachen aber trotzdem performanten Aufbau auch komplexer Anwendungen React bildet typischerweise die Basis fur Single Page Webanwendungen kann jedoch auch mit Node js serverseitig vor gerendert werden ReactBasisdatenMaintainer Meta Platforms vormals Facebook Inc Entwickler Facebook Inc Instagram und die Open Source CommunityErscheinungsjahr 2013Aktuelle Version 18 2 0 1 2 14 Juni 2022 Betriebssystem PlattformunabhangigProgrammiersprache JavaScriptKategorie BibliothekLizenz MIT 3 reactjs org Inhaltsverzeichnis 1 Geschichte 1 1 Releasefrequenz Support und Abwartskompatibilitat 2 Kernkonzepte 2 1 Unidirektionaler Datenfluss 2 2 Virtual DOM und DOM Diffing 2 3 JavaScript syntax extension JSX 3 Kritik 4 Weblinks 5 EinzelnachweiseGeschichte BearbeitenReact wurde ursprunglich von Jordan Walke einem Softwareentwickler bei Facebook entwickelt und 2011 erstmals fur Facebooks Newsfeed und spater 2012 fur Instagram eingesetzt Im Mai 2013 wurde von Facebook angekundigt React zukunftig als Open Source Projekt weiterfuhren zu wollen Im Oktober 2014 wurde die Lizenz von der anfangs Apache Lizenz auf die BSD Lizenz mit zusatzlicher Patentlizenz geandert welche den Widerruf der Lizenz bei Klagen gegen oder bei Patentstreitigkeiten mit Facebook vorbehalt 6 Diese unkonventionelle Klausel fuhrte zu einer kontroversen Diskussion 7 Eine Umformulierung dieser Patentklausel im April 2015 8 beendete die Auseinandersetzung nicht Im Juli 2017 kundigte die Apache Software Foundation an keine Apache Projekte mehr mit dieser Zusatzlizenz zu erlauben 9 Entgegen anfanglichen Angaben nicht von der Klausel abrucken zu wollen 10 veroffentlichte Facebook im September 2017 React in der Version 16 0 0 unter der MIT Lizenz 11 12 Releasefrequenz Support und Abwartskompatibilitat Bearbeiten React Releases folgen dem Konzept des Semantic Versionings Es wird zwischen Major Minor und Bugfix Releases unterschieden Es wird versucht nicht abwartskompatible Major Release zu vermeiden und neue Features primar in Minor Releases zu veroffentlichen 13 Bislang gab es Major Releases alle ein bis drei Jahre Long Term Support LTS gibt es offiziell keinen Sobald eine Major Release ausgeliefert wird werden fur fruhere Releases keine Bugfixes mehr geliefert Eine Ausnahme dazu durften kritische Sicherheitsfehler darstellen In diesem Fall werden Bugfix Releases fur die letzten Minor Releases ausgeliefert 14 Kernkonzepte BearbeitenUnidirektionaler Datenfluss Bearbeiten In Kombination mit der deklarativen Natur der Komponentendefinition in React sollen mittels eines unidirektionalen Datenflussmodells der Aufbau und die Wechselwirkungen zwischen Komponenten vereinfacht werden Anders als beispielsweise mittels komplexem Event Handling erhalt eine Komponente Daten nur uber statische Eigenschaften die dieser ubergeben wurden Eine Komponente kann ihr ubergebene Eigenschaften in diesem Modell nicht andern Eigenschaften konnen jedoch ubergebene Callback Funktionen sein und somit die ubergeordneten Komponenten beeinflussen Virtual DOM und DOM Diffing Bearbeiten Die Kernidee von React besteht in der Annahme dass der komplette der betroffenen Komponente untergeordnete Anwendungsbaum bei jeder Anderung einer Eigenschaft der Komponente neu aufgebaut wird Da es in der Praxis performanceintensiv sein kann dies z B im Webbrowser innerhalb des DOM durchzufuhren wurde das Konzept des Virtual DOM geschaffen Die damit verbundene Technik des DOM Diffing beschreibt das selektive Aktualisieren des DOM auf Basis eines Vergleichs zwischen ursprunglichem und geandertem Virtual DOM Als Beispiel kann ein Entwickler bei einer Messaging Anwendung in einer Inbox davon ausgehen dass die Auflistung aller Nachrichten und der untenstehende Zahler der Nachrichtenanzahl bei jeder neuen Nachricht komplett neu aufgebaut werden Das DOM Diffing sorgt in diesem Fall dafur dass lediglich die veranderten Teile in diesem Fall die erganzte neue Nachricht und der aktualisierte Zahler im DOM aktualisiert werden JavaScript syntax extension JSX Bearbeiten Mit Hilfe der eingebauten an XML angelehnten Template Sprache JSX Javascript XML steht optional eine Syntax fur die Deklaration von React Komponenten zur Verfugung die es erlaubt Javascript Logik HTML und CSS in eine React Komponente einzukapseln und modular in Web Applikationen einzusetzen 15 16 Kritik BearbeitenAnders als bei strikten MVC Modellen wird in React ein komponentenzentriertes Modell vorgeschlagen welches Logik fur Interaktion und Darstellung innerhalb einer Funktion bundelt Dies wird insbesondere aufgrund der weitverbreiteten strikten Trennung zwischen Markup und Logik in Form von Templating Systemen oft kritisch gesehen Weblinks BearbeitenOffizielle Webseite React auf GitHub ReactJS DE deutsche React Community Awesome React A collection of awesome React libraries resources and shiny things auf GitHub 5 Practical Examples For Learning The React Framework React Praxisbeispiele auf tutorialzine com 2014 React Hooks Einfuhrung 2019 Einzelnachweise Bearbeiten 18 2 0 June 14 2022 abgerufen am 23 Juni 2022 registry npmjs com In npmjs abgerufen am 1 Marz 2023 React v16 0 In React Blog 26 September 2017 abgerufen im 1 Januar 1 englisch A JavaScript library for building user interfaces React Abgerufen am 13 April 2017 Multiple Components In React Documentation Abgerufen im 1 Januar 1 BSD PATENTS facebook react dcf415c Abgerufen am 28 September 2017 englisch Berkana A compelling reason not to use ReactJS In Bits and Pixels 24 Mai 2015 abgerufen am 28 September 2017 englisch Update Patent Grant facebook react b8ba8c8 Abgerufen am 28 September 2017 englisch Julia Schmidt Apache Software Foundation will keine Projekte mit Facebook Lizenz unter ihrem Dach Hrsg heise Online 21 Juli 2017 heise de Julia Schmidt Facebook wird nicht von seiner Open Source Lizenz abrucken Hrsg heise Online 21 August 2017 heise de Julia Schmidt React bekommt doch neue Lizenz Hrsg heise Online 25 September 2017 heise de Andrew Clark React v16 0 In Facebook Hrsg React Blog 26 September 2017 englisch github io React 16 is available under the MIT license Versioning Policy Abgerufen am 5 Dezember 2021 englisch Dan Abramov Major version LTS dates 24 Februar 2019 abgerufen am 6 Dezember 2021 englisch JSX in Depth In React Documentation Abgerufen am 6 September 2016 Draft JSX Specification In JSX Specification Abgerufen am 6 September 2016 Normdaten Sachbegriff GND 1106873289 lobid OGND AKS Abgerufen von https de wikipedia org w index php title React amp oldid 228506199