14 Punkte von GN⁺ 2023-08-16 | 21 Kommentare | Auf WhatsApp teilen
  • 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

 
linrise 2023-08-17

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?“

 
moderator 2023-08-17

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.

 
cosine20 2023-08-17

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

 
roxie 2023-08-17

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.

 
secret3056 2023-08-16

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.....

 
bichi 2023-08-16

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.

 
alucard 2023-08-16

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?

 
bichi 2023-08-16

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 context verwenden. 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.

 
alucard 2023-08-17

Ja, haha, gut zugehört.

 
cookiet 2023-08-16

Und dabei fehlt sogar noch Angular, seufz

 
alucard 2023-08-16

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.

 
kuroneko 2023-08-16

Ich finde, da sind ziemlich viele nachvollziehbare Punkte dabei. Ich nutze zwar immer noch React, aber ...

 
[Dieser Kommentar wurde ausgeblendet.]
 
beingbook 2023-08-16

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.

 
laracool 2023-08-16

Solange im E-Government-Framework nichts anderes auftaucht … kann React in Korea nur stark bleiben.

 
[Dieser Kommentar wurde ausgeblendet.]
 
bohaesoju 2023-08-16

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.

 
tequila 2023-08-16

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) ...

 
[Dieser Kommentar wurde ausgeblendet.]
 
bichi 2023-08-16

Absolut richtig, zum zehntausendsten Mal.

 
GN⁺ 2023-08-16
Hacker-News-Meinungen
  • Einige Entwickler bevorzugen die Template-Sprache von Vue, weil sie näher an normalem HTML ist als JSX und weil sich Bedingungen und Schleifen in Template-Dateien leicht schreiben lassen.
  • Die Verwendung von Sprachkonstrukten wie filter, map und reduce in React wird von manchen als bequemer empfunden als ein Workaround.
  • Ein Entwickler berichtet von seiner Erfahrung, sich von React zu lösen und ein serverseitig gerendertes Frontend mit Vanilla JS zu verwenden, und stellte fest, dass dies leichter zu warten ist.
  • Manche halten Web Components für überschätzt, weil das DOM bereits einen verlässlichen Weg bietet, Drittanbieter-Bibliotheken in React zu integrieren.
  • Die Popularität von React wird seinem Programmiermodell zugeschrieben, und JSX gilt weiterhin als eine der besseren Methoden, den UI-Teil von JS-Anwendungen direkt in den JS-Teil zu integrieren.
  • Aus geschäftlicher Sicht bietet das Festhalten an Branchenstandards wie React einfacheres Recruiting und ein größeres Ökosystem und verringert den Bedarf, alles von Grund auf neu zu bauen.
  • Die Hooks von React gelten als deutliche Verbesserung gegenüber den Lifecycle-Methoden von Klassenkomponenten und ermöglichen saubereren und leistungsfähigeren Code.
  • Einige Entwickler sehen die Funktionskomponenten und Hooks von React als Fehler an und urteilen, dass die Codebasis dadurch schwerer wartbar und schwieriger zu verstehen wird.
  • React gilt im Vergleich zu anderen Frameworks als grundlegender und verschiebt den Ansatz von einem imperativen zu einem stärker funktionalen Paradigma.
  • Das Zitat aus dem Artikel über den Betrag, den Google Alex Russel für die Standardisierung von Web Components gezahlt hat, wird wegen der direkten Konkurrenz zwischen Web Components und React als voreingenommen angesehen.
  • Einige Entwickler haben das Gefühl, dass Webprogrammierer die Fähigkeit verloren haben, Dinge „selbst zu machen“ und komplexe Systeme auf pragmatische Weise aufzubauen, und dass Frameworks wie React oft übermäßig eingesetzt werden.
  • Der Autor des Artikels wird dafür kritisiert, keine Beispiele zu liefern und mangelnde Fachkenntnis oder kein Verständnis für die Geschichte und Unterschiede zwischen den aktuellen Lösungen zu zeigen.
  • Manche stimmen der Behauptung des Artikels zu, dass Entwickler sich keine Sorgen um die Rendering-Performance machen müssen, und finden es fragwürdig, dass React Entwickler dennoch dazu bringt, Funktionen wie useMemo und useCallback zu verwenden.
  • Manche stimmen der Behauptung des Artikels zu, dass Entwickler zu reinen React-Entwicklern werden und keine anderen Wege mehr finden können, und haben das Gefühl, dass durch die Einführung von Begriffen wie Komponenten, State und Hooks das Verständnis grundlegender Programmierkonzepte verloren gegangen ist.