Was ist der Grund für das Bestehen von ReactJs neben anderen großen Frameworks wie Angular, Ember, Backbone, Vue und all den anderen? Was unterscheidet das Framework von den anderen erwähnten, was ist JSX und wie funktionieren hier Komponenten?
Diesen Fragen möchten wir in diesem Blog-Artikel auf den Grund gehen. Doch zuvor sollten wir klären, worum es sich bei ReactJs überhaupt handelt.

Was ist ReactJS?

In vielen Internetforen streiten sich zahlreiche Entwickler darum,
welches das bessere Framework ist. Dabei wird ReactJs mit
AngularJs oder VueJs verglichen. Doch dabei wird leider ein sehr
wichtiger und großer Unterscheid von ReactJs zu den meisten
anderen Frameworks übersehen oder vielleicht auch nur ignoriert.
ReactJs ist kein komplettes Frontend-Framework wie zum
Beispiel Angular. Während Angular ein Full-Stack-Frontend-
Framework ist, beschreibt React bei dem bekannten Model-View-
Controller-Modell (MVC-Modell) hauptsächlich das „V“, also die
View.

Das ist ein Unterschied, welchen viele Entwickler nicht verstehen.
React gibt dir lediglich eine Template-Sprache und einige dazugehörige Funktionen, um HTML zu rendern. Als nicht mehr und nicht weniger versteht React seine Aufgabe. React ist nur ein Framework, um Komponenten, welche mit HTML und JavaScript erstellt werden, zu generieren und diese mit ihren verschiedenen Status im Browser als HTML anzuzeigen.

Alleine mit React können daher auch keine voll funktionsfähigen, dynamischen Anwendungen erstellt werden.

Vorteile von React

Virtual DOM

Ein großer Vorteil von React ist der sogenannte virtual DOM. Hier benutzt React nicht den normalen Browser DOM, sondern pflegt seinen eigenen DOM. Dadurch kann ReactJS bei einer
Änderung einer Komponente genau prüfen, was sich visuell geändert hat, und kann dann nur diesen Teil der Anwendung aktualisieren.

JSX

Auch die „eigene“ Templatesprache JSX ist ein großer Vorteil von ReactJs. Mittels dieser Syntax können ganz einfach HTML und JavaScript vermischt werden. Hier kann dann ähnlich wie bei Templatesprachen wie TWIG oder JADE ganz einfach ein Template mit JavaScript-Variablen erstellt werden, welche sich dynamisch ändern.

Serverseitiges Rendern

Auch die Tatsache, dass React auf dem Server zu HTML gerendert werden kann, ist ein riesiger Vorteil von ReactJs. Denn dadurch erhöht sich die SEO wesentlich im Vergleich zu anderen JavaScript Frameworks.

UI-Tests

Auch lassen sich mit React sehr einfach und intuitiv UI-Tests integrieren. Dadurch kann die Funktionsfähigkeit von Anwendungsoberflächen garantiert werden, und es unterstützt das Test-Driven Developement!

Nachteile von React

Doch React hat nicht nur Vorteile, was es zu einem alternativlosen Framework machen würde, sondern hat auch ein paar Nachteile verglichen mit anderen Frameworks.

Nur View-Ebene

Wie bereits erwähnt, bedient React nur das „V“ vom Model-View-Controller-Modell. Was es einerseits einfacher macht, ist andererseits ein Nachteil. Denn man hat mit ReactJs nicht eine All-in-one-Lösung, sondern benötigt für die anderen Teile des MVC-Modells andere Frameworks oder Lösungen.

Kein Event-System

Auch bietet ReactJs kein eigenes Event-System, das einige Arbeiten erleichtert, sondern es muss auf andere Alternativen oder Lösungen zurückgegriffen werden.

Relativ schwieriger Einstieg

Ein weiterer Minuspunkt für ReactJs ist die relativ flache Lernkurve. Es ist schwierig, in die Welt von React einzusteigen. Wenn jedoch erst mal die Grundlagen gelernt sind, lassen sich sehr schnell sehr schöne Anwendungen erstellen.

Wann sollte React verwendet werden und wann nicht?

Es hängt von den Anforderungen an die Website ab, ob React eingesetzt werden sollte oder nicht. Wenn jedoch eine große Anwendung mit vielen verschiedenen Komponenten und vielen verschiedenen Interfaces erstellt werden soll, kann ReactJs eine gute Lösung sein. Nicht umsonst nutzen sehr viele Seiten im Internet React. So wird React beispielsweise bei Facebook, Instagram oder auch bei der Webversion von WhatsApp verwendet.
Um noch mehr über React zu erfahren und einen kleinen Einstieg in das Programmieren mit ReactJs zu erhalten, empfehle ich dir dieses Video.

http://www.pro-tekconsulting.com/blog/advantages-disadvantages-of-react-js/
https://blog.andrewray.me/reactjs-for-stupid-people/
https://www.quora.com/What-are-the-advantages-of-using-React-js-for-an-application-instead-of-Angular-js-and-Ember-js
https://stories.jotform.com/7-reasons-why-you-should-use-react-ad420c634247
https://www.reddit.com/r/reactjs/comments/4edsvi/does_facebook_use_react_on_facebookcom/
https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/MVC-Process.svg/436px-MVC-Process.svg.png
https://www.pexels.com/photo/access-app-application-apps-267399/

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.