React
React (auch: React.js oder ReactJS) ist eine JavaScript-Bibliothek zur Entwicklung von Benutzeroberflächen (User Interfaces, UI) – insbesondere für Single-Page Applications (SPA). Sie wurde ursprünglich von Meta (ehemals Facebook) entwickelt und ist heute Open Source.
React ermöglicht es Entwicklerinnen und Entwicklern, interaktive, dynamische Webanwendungen zu bauen, indem sie die Oberfläche in wiederverwendbare Komponenten unterteilen – modular, wartbar und performant.
Wichtige Konzepte in React:
- Komponentenbasiert: UI wird aus kleinen, eigenständigen Einheiten (Komponenten) zusammengesetzt
- JSX: HTML-ähnliche Syntax in JavaScript für klare, intuitive Struktur
- Virtueller DOM: Änderungen am UI werden effizient im „virtuellen“ Zwischenspeicher berechnet und dann gezielt im Browser aktualisiert
- Unidirektionaler Datenfluss: Daten fließen in eine Richtung, was die Nachvollziehbarkeit erhöht
- State & Props: ermöglichen flexible, datengetriebene UI-Logika
Beispiel (kompakte Komponente in React):
function Begrüßung(props) {
return <h1>Hallo, {props.name}!</h1>;
}
Diese Komponente zeigt einen personalisierten Begrüßungstext an – z. B. „Hallo, Alexandra!“
Typische Einsatzbereiche:
- Web-Apps (z. B. Dashboards, Shops, Plattformen)
- Mobile Apps (mit React Native)
- Interaktive Komponenten in klassischen Websites
- Progressive Web Apps (PWAs)
- Headless CMS-Frontends
Vorteile:
- Modularer Aufbau und Wiederverwendbarkeit
- Große Community, viele Erweiterungen (z. B. React Router, Redux)
- Hohe Performance durch virtuellen DOM
- Gut kombinierbar mit anderen Frameworks (z. B. Next.js, TypeScript)
- Unterstützt moderne Entwicklungsstandards
Herausforderungen:
- Einstieg erfordert Verständnis moderner JavaScript-Konzepte
- Tooling-Ökosystem kann komplex wirken (z. B. Webpack, Babel)
- Schnelle Weiterentwicklung → regelmäßige Updates notwendig
- Nicht ideal für sehr einfache Websites ohne interaktive Logik
Kurz gesagt:
React ist eine leistungsstarke JavaScript-Bibliothek, mit der sich moderne, komponentenbasierte Webanwendungen schnell und effizient entwickeln lassen.
