Dinge, die wir wegen React vergessen haben – oder nie wussten
(joshcollinsworth.com)- Eine kritische Betrachtung der weit verbreiteten JavaScript-Bibliothek React zum Aufbau von Benutzeroberflächen sowie Vorschläge für Alternativen.
- React wird als überholt kritisiert; bemängelt werden mangelnde Performance und Anpassungsfähigkeit.
- Der Autor argumentiert, dass das React-Ökosystem unnötig groß sei, und behauptet, React hooks seien inzwischen veraltet.
- Es wird argumentiert, dass man sich im Frontend nicht auf Rendering und Skalierung konzentrieren müsse.
- Es wird behauptet, dass Server-Side Rendering nichts Besonderes mehr sei und bidirektionales Data Binding keine schlechte Idee sei.
- Es wird argumentiert, dass Styling einfacher als bei React sei und andere Frameworks nicht schwer zu erlernen seien.
- Es wird behauptet, dass React-Alternativen nicht nur "neu und glänzend" seien, sondern ausgereift und leistungsfähiger.
- Es wird empfohlen, andere Frameworks wie Svelte, Vue, Solid, Fresh, Astro, Preact, Qwik auszuprobieren.
- Der persönliche Favorit des Autors ist Svelte, das laut ihm leichter zu lernen ist und bessere Performance als React bietet.
- Svelte ist ein Compiler; ungenutzter Code wird zur Build-Zeit entfernt, wodurch kleinere Bundles entstehen.
- Das Meta-Framework SvelteKit für Svelte ist vielseitig und leistungsstark und ermöglicht statische Auslieferung, Server-Rendering und Edge-Deployments.
- Vue bietet laut dem Autor bessere Performance als React und einen stärker UI-zentrierten Ansatz; es verwendet eine Template-Sprache, die näher an normalem HTML ist als JSX.
- Solid ist eine performantere Version von React, die Komplexität, Performance-Probleme und Boilerplate beseitigt. Es bietet mit SolidStart ein eigenes Meta-Framework.
- Fresh ist ein auf Deno aufgebautes Frontend-Framework für Server-Rendering mit Island-Architektur. Es bietet minimales JavaScript und schnelles Laden dynamischer Inhalte.
- Astro ist ein performanter Generator für statische Websites mit dynamischen Server-Side-Funktionen. Standardmäßig verwendet es überhaupt kein JavaScript und ist mit verschiedenen Frontend-Frameworks kompatibel.
- Preact ist eine schlankere und schnellere Version von React und bringt einige hervorragende Funktionen mit, die React nicht hat.
- Qwik verfolgt einen neuen Ansatz und bietet Code, der Server-Rendering-React ähnelt; für Projekte mit viel Interaktion sei es eine gute Wahl.
- Web-Component-Bibliotheken wie Lit, Stencil, Polymer werden für Projekte empfohlen, die dieselben Komponenten in mehreren Umgebungen wiederverwenden oder sich gegen Framework-Wechsel absichern wollen.
- Der Autor schlägt vor, dass die Tech-Industrie über React hinaus mit etwas Neuem einen weiteren Sprung bei der Technologieadoption machen kann.
21 Kommentare
Dieser Text wirkt lächerlich, als würde ein unverschämter Junior sagen: „Senior~ Sie taugen jetzt ohnehin nichts mehr, also gehen Sie doch in Rente?“
Es scheint, als würde die Diskussion über den Artikel überhitzen.
Bitte schaut euch den Abschnitt zum Kommentieren in der Anleitung zur Seitennutzung an.
Bitte bleibt freundlich und sachlich.
Bitte greift den Verfasser nicht persönlich an.
Wenn ihr eine Gegenargumentation habt, schreibt bitte nur deren Inhalt.
Ich persönlich finde es nicht besonders gut, dass eine Sprache wie JS einfach als Sprache für die Serverentwicklung verwendet wird.
Heutzutage gibt es zwar viele TS-basierte Ansätze, aber am Ende kommt als Ergebnis doch JS heraus ... Bei Python genauso wie bei JavaScript mag ich die Sprachen an sich wirklich nicht, aber vielleicht werden sie wegen ihrer Bequemlichkeit so viel genutzt.
Fühlt sich irgendwie wie eine Demokratisierung von Sprachen an
Ich finde es nicht besonders gut, dass es, nur weil Vercel das unter großem Einsatz entwickelt hat, als so selbstverständlich und belanglos angesehen wird.
Wenn ich mich nur daran erinnere, wie ich in der Schulzeit mit einem Editor, der nicht einmal Syntaxfehler markierte, höllische Servlets geschrieben habe, bin ich für alles dankbar, ob React oder Svelte.....
Wenn man dieses und jenes ausprobiert, sieht man die Vor- und Nachteile von React, aber zu sagen, React sei gut, JSX sei eine Stärke und negative Meinungen zu Hooks pauschal abzulehnen, wirkt wie eine blinde Religion.
Ich habe geschrieben, dass die Stärke nicht in JSX liegt, sondern in der „Ausdruckskraft“ ... Als ich dann den Originaltext tatsächlich gelesen habe, habe ich bestätigt, dass dort nicht das Hooks-Pattern selbst kritisiert wurde, sondern nur gesagt wurde, dass es inzwischen nicht mehr ausschließlich eine Stärke von React ist. Dem kann man in diesem Maß zustimmen. Weil die Übersetzung so formuliert war, habe ich das missverstanden.
Könnten Sie daher bitte konkret schreiben, was genau der von Ihnen erkannte „starke Punkt“ ist?
Sie glauben doch nicht ernsthaft, dass Bibliotheken oder Frameworks nur Vorteile und keinerlei Nachteile haben, oder? Ist Ihnen bei der Nutzung vielleicht kein Nachteil von React aufgefallen? Wenn man Sie ausdrücklich bittet, die Nachteile aufzuschreiben, haben Sie offenbar noch nie welche bemerkt, oder? Sie wissen schon, dass Vor- und Nachteile bedeutet, dass es auch Vorteile gibt, oder? Es gibt viele Vorteile, aber eben auch viele Nachteile. Einer davon ist etwas, das ich gestern gelesen habe, aber ich kenne den Link nicht mehr: In Server Components kann man anscheinend nur außerhalb von Server Components
contextverwenden. Dadurch kann man wohl kein js-in-css verwenden. Ich habe es nicht selbst ausprobiert, daher kann ich nicht wirklich sagen, ob das tatsächlich ein Nachteil ist, haha. Hooks? Ich halte sie wirklich für eine bahnbrechende Idee. Aber inzwischen, haha, gibt es mit Signals etwas, das klüger ist als React und sich bequemer verwenden lässt. Das steht auch im Haupttext.Ja, haha, gut zugehört.
Und dabei fehlt sogar noch Angular, seufz
Dem kann ich überhaupt nicht zustimmen. Bei JSX etwa nutzt man es bewusst, weil es gegenüber HTML Vorteile bei der Ausdruckskraft hat.
Und ich frage mich auch, warum die allgemeine Auffassung, dass bidirektionales Data Binding durchweg eine schlechte Idee war, plötzlich auf den Kopf gestellt wurde.
Was soll außerdem ein unnötig großes Ökosystem bedeuten? Und Hooks seien veraltet ...
Ich persönlich frage mich sogar, ob dieser Text wirklich von einem echten Programmierer geschrieben wurde.
Ich finde, da sind ziemlich viele nachvollziehbare Punkte dabei. Ich nutze zwar immer noch React, aber ...
Es wirkt fragwürdig, lediglich zu behaupten, die Performance sei schlecht, ohne konkret zu erklären, welche technischen Trade-offs es gibt. Beispielsweise sind bei Island-Implementierungen außer React Dinge wie prioritätsbasiertes Laden gar nicht möglich.
Solange im E-Government-Framework nichts anderes auftaucht … kann React in Korea nur stark bleiben.
Nun ja. Es werden zu viele Bibliotheken als Alternativen zu React präsentiert.
Wenn man alles umfassend berücksichtigt, sollte man meiner Meinung nach eher die Punkte hervorheben, in denen sie React überlegen sind.
Vue und Nuxt sind wirklich gut, aber es ist schade, dass sie hierzulande nur eine kleine Stellung haben. Und Svelte ist ... in einem Zustand, in dem man von einer Stellung gar nicht sprechen kann (schluchz) ...
Absolut richtig, zum zehntausendsten Mal.
Hacker-News-Meinungen
filter,mapundreducein React wird von manchen als bequemer empfunden als ein Workaround.useMemounduseCallbackzu verwenden.