Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Ratgeber

React vs. Angular – wann ist was besser?

    React vs. Angular – wann ist was besser?
React oder Angular, was ist besser? (Bild: Whitedragon/Shutterstock)

React und Angular sind zwei der beliebtesten Tools zur Erstellung von interaktiven Websites. Aber welches nutzt ihr wann am besten?

Auf den ersten Blick wirkt es nicht unbedingt sinnvoll, Angular und React zu vergleichen, ist ersteres doch ein Framework und zweiteres nur eine Bibliothek. Allerdings fallen beide Namen sehr oft, wenn es um die Entwicklung von interaktiven Anwendungen geht. Dafür sind beide geeignet, ihre Ansätze sind aber sehr verschieden. Genau das soll dieser Vergleich deutlich machen.

Was ist React?

React ist eine Bibliothek, die dazu dient, die View-Komponente des Model-View-Controller-Ansatzes abzudecken, also die Seite der Anwendung, die der Nutzer sieht und mit ihr interagiert. Normalerweise liegt dafür ein DOM (Document-Object-Model) als Baumstruktur vor, das in HTML erzeugt wird und nur mit großem Aufwand zu traviersieren und zu verändern ist. Durch den Einsatz eines virtuellen DOMs, das einfacher zu manipulieren ist, ist die Bibliothek in der Lage, Interaktionen sehr schnell umzusetzen. React basiert auf JSX, also Javascript XML, das eine Erweiterung um Elemente aus XML direkt in Javascript ermöglicht. Zusätzlich wird HTML eingebunden.

Anzeige

Was ist Angular?

Angular ist ein Framework zur Erstellung von Nutzeroberflächen nach dem Model-View-Viewmodel-Modell (MVVM). Im Gegensatz zum MVC-Modell fällt hier die Controller-Einheit weg, stattdessen wird durch das Viewmodel eine Verbindung beider Ebenen hergestellt. Das Framework ermöglicht es so, Interaktionen schnell und einfach umzusetzen. Der Ansatz der Macher ist es dabei, HTML so zu erweitern, dass die Skriptsprache selbst mit Interaktivität umgehen kann, entsprechend ist HTML hier die Grundlage des Codes, Javascript wird darauf aufgesetzt.

Was spricht für React?

Für React spricht zu allererst der Einsatz des virtuellen DOMs, mit dem der Aufwand einer Veränderung am tatsächlichen DOM extrem gering gehalten wird. Das sorgt dafür, dass die Anwendung sich immer sehr flüssig verhält, selbst wenn die dahinterliegenden Operationen durchaus komplex oder die Datenbanken sehr groß sind.

Weiterhin ist React ja wie schon erwähnt nur eine Bibliothek und hat damit sehr wenig Zwänge für den Entwickler. Dieser kann nach Belieben zusätzliche Bibliotheken einbinden und vollkommen frei von Vorgaben an die Lösung seines Auftrags gehen, anstatt bestimmten Regeln und Vorgehensweisen folgen zu müssen.

Weiterhin ist für React nur JSX zu erlernen, was für die meisten Entwickler nichts Neues sein dürfte. So ist der erste Einstieg vergleichsweise simpel und erfordert nicht viel Vorarbeit. Natürlich gilt das nicht für alle Komponenten wie beispielsweise React Flux, aber für die grundlegende Arbeit reichen geringe Vorkenntnisse.

Finde einen Job, den du liebst

14 Reaktionen
Dirk Ecker
Dirk Ecker

Den Artikel hätte man sich auch sparen können. Da gibt es bessere Vergleiche im Netz.

Antworten
Jens
Jens

Da habe ich mich so auf den Artikel gefreut und dann das.

Typescript wird gar nicht angesprochen irgendwie.

Ich finde Angular hat gerade am Anfang eine Steile Lernkurve. Am Anfang is es dann doch sehr holperig weil es einfach anders ist. Alleine das Setup ist ziemlich aufwendig.

Sich er das die der Autor mit beiden Frameworks Erfahrungen hat?

Antworten
Daniel
Daniel

"Angular arbeitet mit HTML, CSS und Javascript, also verlangt es sehr wahrscheinlich nichts Neues von einem Entwickler. "

Das ist doch kompletter Nonsens. Selbst wenn wir von Angular 2/4 reden benötigt ein Entwickler Grundkenntnisse wie die Applikation aufgebaut ist. Ist ja nicht so als könne man einfach ein js file aufmachen und in gewohnter Manier Javascript schreiben. Da gehört ja schon etwas Mehr dazu.

"Für Angular spricht hingegen die Tatsache, dass das Framework alles Nötige für den Aufbau einer Website bietet und durch die Fokussierung auf HTML erst einmal einsteigerfreundlich ist. "

Einsteigerfreundlich? Ist das dein Ernst? Angular ist das komplette Gegenteil von einsteigerfreundlich. Alleine das Bootstrapping der Applikation ist nicht gerade trivial. (Die Angular-CLI vereinfach einiges und macht es Einsteigern zugänglicher, nichtsdestotrotz gehört es für einen Entwickler auch dazu grundlegende Prinzipien und Arbeitsweisen einer Technologie, eines Frameworks oder einer Library zu kennen und das ist bei Angular wohl um einiges komplexer)

Bei React im Gegensatz dazu fällt der Einstieg um einiges leichter. Selbst ohne CLI lässt sich ein Projekt ohne Weiteres fix aufsetzen ausbauen. Beim Hinzufügen von Komponenten und Services das gleiche Spiel -> React ist viel simpler als Angular.

Mit meinem Kommentar möchte ich weder Angular noch React gut oder schlecht darstellen, es geht lediglich um die falsche Darstellung im Artikel.

Antworten
Otto
Otto

Der Artikel ist leider genauso falsch wie der zuvor über React (http://t3n.de/news/react-heute-mehr-denn-je-lohnt-825079/). Es wäre schön, wenn t3n wieder mehr Wert darauf legen würde, technisch kompetente Autoren zu beschäftigen... so etwas ist einfach nur lächerlich.

Antworten
Matthias

Websites, die sehr dynamisch erst im Browser generiert werden sind aus SEO Sicht sehr unvorteilhaft. Der Google Bot für zwar CSS und JS aus, aber wenn man sich so eine Seite mal in der Google Search Console mit dem Tool "Abrufen wie durch Google Bot" ansieht, ist das nicht selten eine ziemlich leere Seite. Das sollte von Anfang an bei der Entwicklung berücksichtigt werden.

Antworten
C
C

Das ist aus zweierlei Gründen quatsch. Erstmals kann der Google Bot JavaScript. Mit JS dargestellte Seiten werden also in den Index wandern. ;-) Habe selbst mehrere Seiten im Einsatz.

Und zudem gibt es sowohl für Angular als auch für React Server Side Rendering.

Antworten
lulzBoB
lulzBoB

"Angular arbeitet mit HTML, CSS und Javascript, also verlangt es sehr wahrscheinlich nichts Neues von einem Entwickler. " Diese Aussage ist falsch. Da sich hier die Autorin auf Angular und nicht AngularJS bezieht ist die Aussage schlichtweg falsch, da für Angular TypeScript eingesetzt wird. Ein einziger Aufruf des Wikipedia Artikels zu Angular hätte gereicht um an diese Information zu gelangen.

Leider der mit Abstand schlechteste Artikel seit langem.

Antworten
Stephan

Wer eine einfache aber dennoch komplette Lösung sucht, sollte sich mithril.js ansehen. Es basiert auch auf virtual DOM hat aber router, reactive streams und ajax-helper mit im Gepäck. Es ist zudem extrem klein (<9kb) und somit schnell zu laden und auch sehr schnell in der Ausführung. Auch braucht es keinen komplizierten Build-step um zu funktionieren. Die Lernkurve ist meiner Meinung nach flach wie bei keinem anderen framework. Man kann an einem tag das komplette Framework beherrschen wenn man firm in JavaScript ist.

Antworten
C
C

Wow so ein schlechter Artikel.

Eines vorne weg, ich bin Angular-Entwickler. Der Vergleich ist einfach abgrundtief schlecht.

Allein folgender Satz beweist die technische Lücken des Autores:

"Und trotzdem ist es möglich, ein Problem auf mehrere Weisen zu lösen, was dazu führen kann, dass in einer Gruppe mit mehreren Programmieren Schwierigkeiten auftreten. "

Der Satz bezieht sich als Nachteil auf Angular, wenn dies für ein Framework gilt, dann gilt es für eine Bibliothek in jedem Fall noch mehr, dann hat der Satz nichts bei den Nachteilen Angulars zu suchen. Schließlich gibt ein Framework mehr Struktur vor als eine Bibliothek, das angesprochene Risiko ist also in einem Framework geringer.

Ich will aber keineswegs sagen, dass React ein schlechtes Produkt ist. React ist sogar verdammt gut. Dennoch wird hier die Lizenzproblematik gar nicht angesprochen. Und das ist nicht nur ein Problem für die Apache Foundation, auch ein Autobauer aus dem Süden Deutschlands hat React aus seinen Anwendungen verbannt da die rechtliche Situation nicht zufriedenstellend ist.

Der Nachteil von Angular mit TypeScript kam im Artikel auch nicht vor - ich sehe TypeScript als Vorteil - viele aber eben nicht und dieser Kritikpunkt sollte genannt werden.

Setzen 6.

Antworten
Bastien
Bastien

"Angular arbeitet mit HTML, CSS und Javascript, also verlangt es sehr wahrscheinlich nichts Neues von einem Entwickler. " Wahrscheinlich muss man wohlmöglich noch selbst angular erlernen ??? *kopfschüttel*

Antworten
Stefan S.
Stefan S.

Ich sag nur: https://www.it-madness.com/posts/233/

Nein mal im ernst, als wenn man nichts neues lernen müsste. Das ist Marketing-Bullshit. Sowohl React als auch Angular sind nicht immer sehr einfach und manchmal kommt man auch an Workarounds nicht vorbei, was aber okay ist, denn das hat man bei JEDEM Framework.

Also um zu dem Stand kommen kann, wo man sagen wird "I know my tools" vergehen selbst bei sehr erfahrenen Entwicklern die neu zu etwas sind, ein paar Jahre und daher finde ich diesen Artikel schon etwas sehr an der Realität vorbei.

Antworten
JS
JS

Weder React, noch Angular, sondern: VueJS https://vuejs.org

Antworten
Chris
Chris

"Zuletzt muss man außerdem anmerken, dass Angular clientseitig arbeitet, was potenziell ein erhöhtes Sicherheitsrisiko nach sich ziehen kann. "

- Sounds like Inkompetenz.

Hier wird doch nur vom Frontend geredet... klar gibt es SSR... aber jede Website ist "client-seitig".... jede! Egal, welches Framework... Sprache... Server...

Zu dem... dieser Oberflächliche Blick auf die Frameworks/Libs... Leute reißt euch mal zusammen! Wenn ein "Modernes Medien Magazin" so einen Artikel abliefert... ist mir klar, wieso die meisten Entwickler einfach so hoffnungslos mittelmäßig sind... Die Leute vertrauen euch...

Ihr geht auf solch Oberflächliche dinge ein, wie.... "Das ist ein Framework, das ist eine Bibliothek" -> "Deshalb ist das eine zuwenig, und das andere zuviel".... Wieso macht ihr nicht mal Benchmarks... wie Renderzeiten.... client-seitig und server-seitig... oder vergleicht mal die ToDo-Apps (überall auf Github) von Angular und von React und schaut euch mal an, was mehr oder weniger code ist.... für das gleiche Resultat.

Euer Magazin... also dieses t3n, wird ja ganz gut gelesen... Bildet die Leute doch mal weiter... und liefert Fakten, anstatt so kalten Kaffee.

Nicht falsch verstehen... ich lese t3n sehr gerne. Aber so ein Artikel... das macht mich traurig.

Antworten
alem_r

Bin absolut deiner Meinung.
Was ich hier sehr vermisse sind auch direkte Fallbeispiele wann und warum dies und warum nicht das usw.

Es wäre wirklich gut wenn man Entwickler die ein bisschen Redaktion können einstellen würde, anstatt Redaktoren die ein bisschen Web können.

Antworten
Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden