AngularJS vs. ReactJS vs. …

Die Kunst, ein JavaScript Framework zu wählen

15. Oktober 2015Thomas Deutsch

Die Rolle des Programmierers ist keine einfache. Wir sind stolz auf das, was wir gelernt haben und auf das, was entwickelt wurde. Mit meinem erlernten Wissen vertrete ich nicht nur eine starke Meinung zu gewissen Themen, sondern nutze gerne die Gelegenheit, etwas ganz Besonderes in einem Projekt zu nutzen: mein Lieblings-JavaScript-Framework.

Mein Glaube, dass viele Projekte mit diesem Framework zu einer sehr eleganten Lösung führen werden, ist nicht unbegründet. Jedoch sind Programmierer oft nicht in der Position, um so eine solide Projektentscheidung zu treffen. Die Bereitschaft an dieser Stelle einen Schritt zurück zu gehen, um den Einsatzzweck zu untersuchen, ist keine technische Herausforderung, sondern vor allem eine persönliche.

Nehme dich selbst etwas zurück

Mit der Frage „Welches Framework würden Sie empfehlen?“ sollte daher sehr vorsichtig umgegangen werden. Vergleichbar mit der frühen Frage des Projektleiters, den Umfang des Projektes „kurz zu schätzen“. Die Antwort in beiden Fällen sollte lauten: „Es kommt darauf an!“. An dieser Stelle sollte nicht sofort der Name des Lieblings-Frameworks genannt werden. Das ist die Falle, in die wir leicht hineintappen (ganz besonders ich) – ein paar Gegenfragen sind an dieser Stelle das richtige Mittel:

  • Gibt es Framework-Vorgaben/-Wünsche des Kunden?
  • Gibt es Build-Tool-Vorgaben?
  • Welche Browser müssen unterstützt werden?
  • Muss alter JavaScript-Code oder UI übernommen werden?

adesso_AngularJS vs ReactJSZu zwei dieser Fragen werde ich die Frameworks ReactJS und AngularJS gegenüberstellen.

Man kann davon ausgehen, dass mit beiden Frameworks das Kundenprojekt zu realisieren ist, doch schon ein kurzer Blick zeigt große Unterschiede für unsere Kundensituation auf:

Der Kunde äußert den Wunsch, dass möglichst nur eine JavaScript-Bibliothek genutzt werden soll. Diesem Kunden könnte man das AngularJS Framework wesentlich besser verkaufen als ReactJS. AngularJS ist ein sehr komplettes Framework mit einer MVC-Architektur, Module, Templating und vielen Hilfsfunktionen. ReactJS dagegen ist fast nichts anderes als ein View-Layer. Alles andere muss man sich hier zusammensuchen. Das könnte dem Kunden unter Umständen nicht passen.

Soll z.B. alter JavaScript-Code genutzt und/oder Bestandteile einer bestehenden UI übernommen werden, hat man mit ReactJS ein wesentlich einfacheres Spiel, da es sich leicht in bereits bestehende Lösungen integrieren lässt. AngularJS ist fast ausschließlich für Grüne-Wiese-Lösungen geeignet.

Berücksichtige die Rahmenbedingungen

Beide Frameworks verwenden unterschiedliche Design-Entscheidungen. Diese entdeckt man zum Teil schon in den ersten Minuten eines „Hello World“-Tutorials. Doch erst die Auseinandersetzung mit dem „Best Practice“ und der Blick in die Communities schafft ein gutes Verständnis. Die ReactJS-Welt wird stark von der funktionalen Programmierung geprägt. Auch das „Immediate Mode Rendering“-Prinzip aus der Spieleentwicklung ist besonders interessant.

Kommt man aus dem Bereich der server-seitigen MVC-Architektur ist die AngularJS-Welt hervorragend geeignet, um den Sprung in die verrückte JavaScript-Welt zu wagen. Mit dem kompletten Framework weiß man, wie etwas auf die Angular-Art zu lösen ist – man fühlt sich hier nicht alleine gelassen. In beiden Fällen lohnt es sich, mehr als nur einen kurzen Blick zu riskieren.

Fazit

JavaScript als Plattform wird zur Zeit immer wichtiger und aus meiner Sicht ist man gut beraten, den Fokus auf AngularJS zu setzen, um bestehenden Entwicklern den Einstieg in die Enterprise-JavaScript-Welt zu vereinfachen.

Zu schnell entsteht das Bild, dass AngularJS das Framework der Wahl ist. Abzuwägen welches das geeignete Frameworks ist, ist weiterhin notwendig – und mit Sicherheit eine kleine Kunst, die mehr als die oben genannten Punkte umfasst.

Das Ziel ist – und bleibt – eine möglichst geringe Komplexität, damit wir Platz haben für das, was wirklich wichtig ist: die User Experience (UX).

Mit welchem JavaScript Framework arbeiten Sie?

Thomas Deutsch Thomas Deutsch ist als JavaScript-Entwickler bei adesso in Dortmund tätig. Sein Lieblings-JS-Framework? - (thomas.deutsch@adesso.de)
Artikel bewerten:
1 Star2 Stars3 Stars4 Stars5 Stars
Loading...

Kommentare

Andi Sabortein 5. November 2015

Ein sehr hilfsreiches Artikel, Herr Deutsch. Vielen Dank dafür.
Ich habe eine Frage an Ihnen.
Seit 1. Oktober 2015 habe ich von meinen Chef eine Aufgabe bekommen. Für unseren mittelgroßen Unternehmen soll ich eine neue Java Script Framework & HTML5 UI Library Tool zu finden. Zur dieser Zeitpunkt habe ich viel über JavaScript-Frameworks gelesen. Die erste Alternative die ich gestern gefunden hatte ist Webix von der Unternehmen XB Software (http://webix.com/). Ich habe vor ein paar Tagen mal eine Testversion von Webix heruntergeladen und uns auch recht gut gefallen. Wir sind uns aber noch nicht sicher ob wir die kostenpflichtige Version bestellen möchten, und wollen noch ein Paar Alternativen ausprobieren, bevor wir es letztendlich einführen.
Und hier kommen meine Fragen. Haben Sie schon über Webix gehört? Und wenn ja, wie finden Sie es?

Mit freundlichhen Grüßen,
Andi Sabortein

Thomas Deutsch 30. November 2015

Hallo Herr Sabortein,

ich habe bisher noch nicht mit webix gearbeitet.
webix ist aber kein UI-Framework sondern eine Widget-Sammlung. Diese Sammlung kann man z.B. mit Angular.js verwenden.
Den Einsatz einer solchen Sammlung sollte man sich gut überlegen – ganz besonders wenn Ihnen die Standard-Widgets nicht genügen und Sie andere Funktionen / Designs in bestehende Widgets einfügen wollen.

Ein Vergleich verschiedener Widget-Sammlungen finden Sie hier:
https://stackoverflow.com/questions/200284/what-are-alternatives-to-extjs

Kommentar hinzufügen:

Ihr Kommentar: