Table of Contents
Angular vs. Vue vs. React vs. Ember vs. Preact vs. Svelte (ein echter Zungenbrecher, vor allem nachdem die letzten 2 Namen hinzugefügt und selbst nachdem jQuery aussortiert wurde) ist eine Frage, die sich ein Entwicklungsteam und Produkteigentümer zu Beginn eines jeden neuen Webentwicklungsprojekts stellen müssen. Denn jedes dieser beliebten JavaScript-Frameworks und -Bibliotheken hat seine ganz eigenen Stärken und Schwächen. Daneben haben verschiedene Entwickler, Produkteigentümer und das Management alle ihre eigenen Präferenzen und Meinungen zu den verschiedenen Optionen.
Von den JS-Frameworks und -Bibliotheken, die wir behandeln werden, hat Ember sicherlich seinen Zenit bereits überschritten und befindet sich nun auf dem Abwärtstrend, was die aktive Nutzung und Popularität angeht. Ende 2019, mit der Veröffentlichung von Ember Octane, bestand kurzzeitig Hoffnung auf einen Weg zurück in den Mainstream; bis dato blieb es aber nur bei einer Nischenanhängerschaft. Auch wenn der Weg zurück steinig sein mag, ist es zum jetzigen Zeitpunkt einfach noch zu früh, überhaupt nicht mehr über Ember zu sprechen.
jQuery wurde dagegen in der vorherigen Ausgabe dieses Beitrags behandelt, aber in dieser Version komplett herausgenommen. Die Bibliothek wird zwar noch immer für einige Vorgängerversionen verwendet, um alte Browser zu unterstützen, aber da sich der eigentliche Zweck der Abstraktionsschicht, Interoperabilitätsprobleme zwischen Browsern zu lösen, heutzutage erledigt hat, ist auch jQuery redundant geworden. RIP alter Freund! Wir werden dich nie vergessen!
Svelte und Preact bringen dagegen frischen Wind in die Webentwicklung. Es bleibt abzuwarten, ob sie die Vorherrschaft der „großen 3“ (React, Angular und Vue.js.) im Laufe ihrer Entwicklung ernsthaft infrage stellen können.
Quelle: State of JavaScript 2019
Aber es wäre dennoch zu langweilig, nur über React, Vue und Angular zu sprechen. Ember hat ein bedeutendes Erbe und auch die Nachfrage am Markt ist noch nicht vollends abgeschwächt, auch wenn es so aussieht, als ob es sich auf dem allmählichen Weg ins abseits befindet und von anderen Technologien überholt wird. Preact und Svelte hingegen beginnen gerade erst ihre Reise. Sie machen zwar momentan viel Wirbel, aber es bleibt abzuwarten, ob sie echte Rivalen zu den etablierten Optionen von React, Angular und Vue.js auf Unternehmensebene werden können. Denn Fakt ist, dass Unternehmen ohne die Unterstützung eines Technologieriesens, wie beispielsweise Angular durch Google und React durch Facebook, neue Frameworks und Bibliotheken eher als strategisches Risiko betrachten, selbst wenn die technischen Qualitäten für sich sprechen.
Die fundierte Entscheidung über die Technologie für ein bestimmtes Front-End-Entwicklungsprojekt ist eine der ersten großen Aufgaben zu Beginn eines jeden Planungsprozesses. Es gibt eine Reihe verschiedener Faktoren, die die endgültige Entscheidung über die Auswahl des JS-Frameworks bzw. der JS-Bibliothek für ein bestimmtes Front-End-Projekt beeinflussen.
Natürlich sind technische Qualitäten sowie die erforderlichen Funktionen ein wichtiger Faktor bei der Wahl zwischen Angular, Vue, Ember und den anderen Technologien. Es wäre jedoch zu simpel, einfach anzunehmen, dass sich die Wahl des JS-Frameworks für jedes Front-End-Projekt lediglich aus der Analyse der technischen Qualitäten ableiten ließe.
Sicherlich sind einige Stärken eines Frameworks in verschiedenen Front-End-Entwicklungsprojekten wichtiger als andere. Die beliebtesten JavaScript-Frameworks und -Bibliotheken sind jedoch alle dermaßen flexibel in ihrer Anwendung, dass die endgültige Wahl doch häufiger von umfassenderen Geschäftsentscheidungen und praktischen Aspekten abhängt.
Zu den zusätzlichen Faktoren, die sich im Entscheidungsprozess zwischen Frameworks häufig als entscheidend erweisen können, gehören:
Das Ziel dieses Blogs ist es nicht, objektiv festzustellen, welches der derzeit am häufigsten verwendeten JavaScript-Frameworks und -Bibliotheken die beste Lösung ist. Der einfache Grund besteht darin, dass moderne Front-End-JS-Ökosysteme bereits weit fortgeschritten sind – man kann heutzutage zwischen vielen großartigen Frameworks wählen, die die technischen Anforderungen der meisten Projekte erfüllen.
Wie bereits erwähnt, hängt die Entscheidung nicht nur von den technischen Vor- und Nachteilen ab, sondern fällt oftmals auf strategische und geschäftliche Faktoren zurück.
Um hier Klarheit zu schaffen, werden wir einen Blick auf die Beliebtheitstrends der Hauptakteure React, Angular, Vue.js und Ember als auch auf die Einflussfaktoren dieser Trends werfen. Hierdurch werden die strategischen Überlegungen sichtbar, die zur Wahl beitragen.
Außerdem geben wir einen umfassenden Einblick in die technischen Stärken und Schwächen jedes einzelnen Frameworks. Andere Faktoren, wie strategische oder geschäftliche Überlegungen, die zur Wahl des Frameworks beitragen, werden für diesen Zweck als gleich angenommen.
[text_on_the_background title=“Can We Help You With Your Next JavaScript Project?“]Drop us a line to discuss your needs or next project.
Contact Us HERE[/text_on_the_background]
Bevor wir uns aber mit den konkurrierenden Ökosystemen und den Vorzügen der führenden JavaScript-Frameworks befassen, ist es sinnvoll, kurz auf JavaScript selbst einzugehen und uns zu fragen, wofür genau JavaScript als Programmiersprache eigentlich verwendet wird. Das verschafft uns die nötigen Hintergrundinformationen, die sich für das spätere Verständnis von JS-Bibliotheken und Frameworks als nützlich herausstellen können.
JavaScript wurde erstmals vor 25 Jahren veröffentlicht und hat die Webentwicklung im Laufe der Jahre nachhaltig verändert. Trotz des verwirrend ähnlichen Namens unterscheidet sich JS vollständig von Java, der von Sun Microsystems etwa zur gleichen Zeit veröffentlichten Allzweck-Programmiersprache. Ihre einzige wirkliche Gemeinsamkeit besteht darin, dass beide auf eine plattformübergreifende Entwicklung ausgelegt sind.
Kurz gesagt, das Ziel von Brendan Eich, dem Erschaffer von JavaScript war es, Webseiten interaktiver zu gestalten und hierdurch die Benutzererfahrung zu verbessern. JavaScript hat in den ersten 10 Jahren seines Bestehens stetig an Bedeutung dazugewonnen, aber es war wohl die Veröffentlichung von AJAX durch Microsoft im Jahre 2005, die den wirklichen Durchbruch darstellte.
AJAX ermöglichte Microsoft, XMLHttpRequest zu den Internet-Explorer-Skripten hinzuzufügen. Das bedeutete konkret, dass der HTML-Code von Live-Webseiten durch den Download von neuen Daten der Server in Echtzeit aktualisiert werden konnte. Es war von nun an nicht mehr erforderlich, eine Webseite vollständig neu zu laden, damit neue Daten zum Aktualisieren abgerufen werden konnten. Andere Browser folgten schnell und die asynchrone Kommunikation zwischen Webseite und Server wurde zum Standard.
Das Ergebnis war eine neue Generation hochinteraktiver Apps wie Google Maps und Google Mail, gefolgt von Facebook und vielen weiteren Applikationen. Google hat die Akzeptanz von JavaScript als bevorzugte Front-End-Sprache durch die Erstellung seines V8-Browsers sowie Translate weiter vorangetrieben. Dies kompensierte die Schwachstellen von JavaScript, indem JS zu Maschinencode kompiliert wurde, anstelle es in Echtzeit zu interpretieren.
Da JS im Laufe der Jahre gereift ist und Open-Source-Add-Ons wie die Serverumgebung node.js und das Mobile-App-Framework von React Native hervorgebracht hat, ist es zu mehr als nur einer Programmiersprache geworden. Heute ist JavaScript eine Brücke, die Front-End- und Back-End-, Web- und mobile, sowie browserbasierte und native App-Entwicklung miteinander verbindet.
Der Unterschied zwischen Programmiersprache, Bibliothek und Framework kann auf den ersten Blick verwirrend sein. Nicht-technisches Management geht häufig davon aus, dass es sich bei React, Angular, Vue.js, Ember und jQuery um Programmiersprachen handelt.
Das stimmt natürlich nicht. JavaScript ist die Programmiersprache und alle oben genannten Beispiele sind Frameworks und Bibliotheken, die auf JS basieren. Bibliotheken und Frameworks sind jedoch zu einem Standard in der modernen Web- und Anwendungsentwicklung geworden, da ihre Verwendung die Softwareentwicklung einfacher, schneller und in Folge kostengünstiger macht.
Aber was genau sind eigentlich Bibliotheken und Frameworks?
Eine Bibliothek ist eine Sammlung vorab geschriebener „Codeausschnitte“, die häufig verwendete JS-Funktionen ausführen. Diese Ausschnitte werden wie Lego-Blöcke verwendet, um komplexere Funktionskonfigurationen zu erstellen. Wenn man beispielsweise möchte, dass die Suchfunktion der Anwendung eine AutoVervollständigen-Funktion bietet, wird ein Bibliotheksausschnitt mit dem entsprechenden Code eingefügt.
Letztendlich bieten Bibliotheken Codefragmente an, die den gesamten Entwicklungsprozess eines Projekts beschleunigen. Sie sind jedoch kein Wundermittel, mit der eine komplexe App von Anfang bis Ende formatiert werden kann.
React, Preact und jQuery sind Beispiele für JavaScript-Bibliotheken.
Ein JS-Framework ist dagegen eine vollständige Toolbox, mit der eine Webseite oder Anwendung erstellt werden kann. Um es zu verbildlichen: Bibliotheken können mit den Einrichtungsgegenständen eines Hauses verglichen werden, während ein Framework eher der Vorlage und den Teilen ähnelt, die zum Bau eines vorgefertigten Gebäudes verwendet werden.
Ein JS-Framework bietet demnach das Grundgerüst, um das sich ein gesamtes Webentwicklungsprojekt dreht. Das Framework bietet Seiten-Templates, in denen die Details in Form von benutzerdefinierten Codes eingefügt werden können. Dies unterscheidet sich von der Verwendung einer Bibliothek, bei der der Entwickler frei entscheidet, wo die Codeausschnitte hinzugefügt werden sollen.
Die Stärke eines Frameworks besteht darin, dass es neben Effizienz auch eine Organisationsgrundlage bietet. Der Code ist gut strukturiert und das Framework enthält sofortige Lösungen für häufig auftretende Codierungsprobleme. Der Nachteil eines Frameworks ist jedoch, dass es weniger Flexibilität erlaubt. Eine erweiterte Programmierung für eine verbesserte Benutzererfahrung beschränkt sich auf die Möglichkeiten des Frameworks.
Frameworks können zwar angepasst werden, aber der hinzugefügte Code muss den für das Framework spezifischen Regeln und Konventionen folgen, wodurch Freiheit und Flexibilität eingeschränkt werden. Es könnte argumentiert werden, dass tatsächlich kein JavaScript-Framework wirklich der strengen Definition eines „Frameworks“ entspricht, wie auf StackOverFlow passend erklärt wurde:
„Eines der charakteristischen Merkmale eines Software-Frameworks ist, dass sein Code vor Änderungen geschützt ist. In JavaScript ist dies eindeutig nicht der Fall. Alle Bibliotheken oder Frameworks, die in Ihren clientseitigen Code aufgerufen werden können, können geändert werden, obwohl dies gegen bewährte Methoden verstößt.“
Ein Framework:
Ein Framework ruft den Code Ihrer Anwendung auf. Wenn Sie jedoch eine Bibliothek verwenden, ruft Ihre Anwendung die Codeausschnitte aus der Bibliothek auf.
Das folgende Tutorial-Video von Java Brains bietet eine ausführlichere Erklärung zur Unterscheidung zwischen einer JavaScript-Bibliothek und einem JavaScript-Framework:
Angular, Vue und Ember sind Beispiele für JS-Frameworks. Svelte, der neue Marktteilnehmer, wird dagegen als „Komponenten-Framework“ bezeichnet. Wir werden später genauer darauf eingehen, was dies tatsächlich bedeutet.
Es gibt kein Richtig oder Falsch auf die Frage, wann eine JavaScript-Bibliothek und wann ein -Framework für ein bestimmtes Projekt ausgewählt werden sollte. Als Faustregel lässt sich jedoch festhalten, dass wenn die geschäftlichen und technischen Anforderungen es zulassen und man bereit ist, die Limitierungen des Frameworks zu akzeptieren, die Verwendung eines JS-Frameworks durchaus sinnvoll sein kann, um hierdurch eine höhere Ressourceneffizienz zu erzielen.
Wer jedoch mehr Kontrolle und Flexibilität wünscht und hierfür bereit ist, mehr Zeit mit der Entwicklung der App zu verbringen, für den könnte eine Bibliothek unter den gegebenen Umständen möglicherweise sinnvoller sein.
Jeder, der sich in den kommenden Monaten an ein Webentwicklungsprojekt setzt, wird sich mit ziemlicher Sicherheit zwischen React, Angular, Vue.js, Ember, Svelte oder Preact entscheiden. Wir haben uns bereits mit der sehr vagen Frage befasst, wann man sich für eine JavaScript-Bibliothek wie React oder Preact entscheiden und wann man eher ein Framework wie Angular, Vue, Ember oder Svelte wählen sollte.
Im Folgenden werden wir uns die Stärken und Schwächen der einzelnen Optionen ein wenig genauer anschauen. Als Einführung ein kurzer Einblick in die derzeitigen Markttrends.
Es gibt natürlich weitaus mehr Open-Source-JavaScript-Frameworks und -Bibliotheken als nur die sechs, auf die wir uns im folgenden Abschnitt konzentrieren. Backbone und Mithril wären hier beispielsweise zu nennen, die beide eine aktive und engagierte Anhängerschaft aufweisen können. Es ist jedoch sinnvoll, unsere Aufmerksamkeit lediglich auf diejenigen Frameworks und Bibliotheken zu lenken, die im „State of JavaScript-Bericht“ behandelt werden. Der Mangel an Entwicklern mit Fachkenntnissen in kleineren Frameworks und Bibliotheken macht es für Unternehmen unwahrscheinlich, diese zu verwenden.
Das folgende Bild zeigt den Bekanntheitsgrad der wichtigsten Frameworks und Bibliotheken bei Tausenden von internationalen JS-Entwicklern auf der ganzen Welt, die zum SoJS 2019-Bericht beigetragen haben. Hier zeigt sich deutlich, wie Ember in den letzten Jahren an Popularität eingebüßt hat und dass Vue.js an dessen Stelle getreten ist. Das Bild zeigt ebenfalls, dass Preact und Svelte, wie damals bereits Vue, schnell in die Szene eingestiegen sind und einen gewaltigen Einfluss auf die JS-Landschaft hatten.
Die nächste Grafik veranschaulicht die Meinung der Entwickler gegenüber den sechs verschiedenen JavaScript-Frameworks und -Bibliotheken, was ein wichtiger Hinweis darauf sein könnte, wie die Entwicklung in den nächsten Jahren voranschreiten könnte.
So zeigt sich zum Beispiel, dass React nicht nur sehr weit verbreitet ist, da fast 80% der JS-Entwickler hiermit programmiert haben, sondern dass die Zufriedenheit ebenfalls überaus hoch ist. Hierauf folgt Angular, wobei über 60% der JS-Entwickler das Framework verwendet haben.
Trotz der Beliebtheit von Angular unter den Geldgebern und Managern von Entwicklungsprojekten, zeigen die Entwickler selbst wenig Begeisterung. Von rund 58% der Entwickler, die Angular verwendet haben, geben fast zwei Drittel an, dass sie dies lieber nicht noch einmal tun würden.
Ihre Skepsis hat offensichtlich auch andere davon abgehalten, Erfahrungen mit Angular zu sammeln. Die Anzahl derer, die es noch nicht benutzt haben und die es in Zukunft auch nicht benutzen möchten, ist mehr als dreimal so hoch wie die Zahl derer, die Angular noch nicht benutzt haben, es aber erlernen möchten.
Die Zahlen stehen im starken Gegensatz zu Vue.js. Eine niedrigere, aber immer noch relativ hohe Anzahl von rund 45% der JS-Entwickler hat Vue bereits verwendet. Die meisten, die dies getan haben, stehen dem Framework positiv gegenüber und möchten es auch weiterhin verwenden. Von denen, die Vue.js noch nicht verwendet haben, möchten in Zukunft fast zweimal mehr Entwickler das Framework nutzen, als die, die hieran nicht interessiert sind.
Fast 10% der JavaScript-Entwickler haben noch nie von Ember gehört, was die Abnahme der Popularität und Relevanz bestätigt. Von den 12% der JS-Entwickler, die Ember tatsächlich verwendet haben, würde ein sehr kleiner Prozentsatz dies gerne noch einmal tun. Eine große Mehrheit von über 80% dagegen möchte in Zukunft nicht mehr mit Ember arbeiten. Und eine große Mehrheit der Entwickler, die von Ember gehört, es aber noch nie verwendet haben, sind auch nicht daran interessiert.
Bei den beiden jüngsten Marktteilnehmern ist die Meinung zu Svelte am positivsten. Nur ein winziger Prozentsatz von rund 7% der JavaScripts-Entwickler gibt an, dass sie Svelte nicht noch einmal verwenden würden. Der Rest steht dem neuen Framework positiv gegenüber. Von denen, die Svelte noch nicht benutzt, aber davon gehört haben, sind zweimal mehr daran interessiert, es in Zukunft zu nutzen. Hier ist davon auszugehen, dass der positive Ruf des Frameworks das Interesse vieler Entwickler geweckt hat.
Etwa das Gleiche gilt für Preact, mit Ausnahme derjenigen Entwickler, die die Bibliothek überhaupt noch nicht genutzt haben. Im Vergleich zum Hype um Svelte sind weniger Entwickler daran interessiert, Preact in Zukunft zu nutzen.
Proaktive JavaScript-Entwickler erforschen und lernen häufig neue Frameworks und Bibliotheken in ihrer Freizeit und verwenden diese in persönlichen Projekten. Der Übergang von einer Nischenerscheinung zum Mainstream bedeutet jedoch, dass Unternehmen und Organisationen das Framework oder die Bibliothek bei der Entwicklung neuer Anwendungen verwenden müssen.
Dies ist die ultimative Bewährungsprobe. Suchen Arbeitgeber nach Entwicklern von Svelte oder Preact? Gibt es auf dem Arbeitsmarkt überhaupt noch Nachfrage nach Ember-Fähigkeiten? Diesen Fragen gehen wir im Folgenden nach.
Die Zahlen sprechen für sich. JavaScript-Entwickler sind international begehrt. Im Jahre 2020 werden aber nur 3 JS-Frameworks und -Bibliotheken verwendet – React, Angular und Vue.js.
Es gibt immer noch eine sehr begrenzte Nachfrage nach Entwicklern mit Erfahrung in Ember. Trotz des Interesses und der positiven Stimmung der JavaScript-Entwickler stellen Arbeitgeber keine Svelte- oder Preact-Entwickler ein – zumindest nicht in statistisch relevanten Zahlen.
Sobald der Bericht zum Stand von JavaScript des Jahres 2020 veröffentlicht wird, wird man sehen, ob die beiden neuen Marktteilnehmer zwischen 2019 und 2020 an Branchen- und Anhänger-Traktion verloren haben. Vielleicht stehen Svelte und Preact aber auch grade erst am Anfang. Vielleicht haben sie noch einen weiten Weg vor sich, bevor sie bei Projektsponsoren mit Blick auf die Zukunftssicherheit genug Vertrauen gewinnen können, um von Unternehmen und Organisationen übernommen zu werden.
Die Statistiken deuten ganz klar darauf hin, dass sich fast alle neuen Web- und App-Entwicklungsprojekte, die JavaScript verwenden, im Jahre 2020 zwischen React, Angular und Vue.js entscheiden werden – alles großartige Bibliotheken und Frameworks. Die anderen 3 haben ebenfalls alle ihre Vorzüge, werden jedoch im großen Ganzen noch nicht als wirtschaftlich tragfähig angesehen.
Dies kann wahrscheinlich auf Bedenken hinsichtlich Support und der Entwicklung der OS-Community für Ember, Svelte und Preact zurückgeführt werden. Die Tatsache, dass nicht genügend Entwickler über die Fähigkeiten und die Erfahrung verfügen, um eine nachhaltige Rekrutierung zu gewährleisten, trägt ebenfalls ihren Teil hierzu bei.
Abgesehen von strategischen und geschäftlichen Überlegungen – was sind die eigentlichen technischen Stärken und Schwächen unserer sechs führenden JavaScript-Frameworks und -Bibliotheken?
Angular ist ein JavaScript-Framework, das auf TypeScript und der zweiten großen Iteration des Frameworks basiert, welches AngularJS seit seiner Veröffentlichung im Jahr 2016 auslaufen lässt. Als AngularJS im Jahre 2010 erstmals von Google veröffentlicht wurde, sorgte es als eines der ersten auf JS-basierten Front-End-Frameworks für Aufsehen.
Die 2013 von Facebook veröffentlichte React-Bibliothek, ein flexibleres Framework, machte auf die Einschränkungen von AngularJS aufmerksam, woraufhin sich Entwickler mehr und mehr von AngularJS entfernten.
Ein gutes Beispiel dafür, warum ein gesundes JavaScript-Ökosystem von Konkurrenz und rivalisierenden Tools und Standards angetrieben wird, gab Google bei der Veröffentlichung von React, indem der Konzern als Antwort hierauf ein neues SPA-Framework (Single-Page-Application) erstellte, das unter dem Namen „Angular“ veröffentlicht wurde.
Alle Angular-Versionen bis 1.x sind AngularJS, und alle Versionen ab 2.x sind Angular. Im Gegensatz zu JS-Bibliotheken wie React ist Angular ein End-to-End-Framework, das alle Hauptkomponenten bietet, die zum Erstellen einer Web-App für Unternehmen erforderlich sind.
Die Einschränkungen, die Angulars rigoroser Struktur beiwohnen, aber dennoch auch als dessen Stärke betrachtet werden können, haben letztendlich dazu geführt, dass React in den letzten Jahren an Popularität auf Kosten Angulars dazugewonnen hat. Viele Entwickler behaupten, dass Vue.js das überlegenere Framework darstellt. Vue.js wurde von Ex-Googler Evan You mit dem Ziel entwickelt, die nach seiner Meinung vorhandenen Schwachstellen von Angular auszubessern.
Wenn man sich noch einmal die Grafik über die Meinung der Entwickler zu JavaScript vor Augen hält, wird dies offensichtlich. Angular ist jedoch bei Unternehmen nach wie vor beliebt, da es durch die Unterstützung von Google als zukunftssicher gilt. Und letztendlich ist das Framework immer noch eine verlässliche Option, die bei weitem nicht als schwaches Werkzeug betrachtet werden kann.
Der K & C-Entwickler Alex Chugaev macht deutlich, warum er für Anwendungen auf Unternehmensebene Angular gegenüber React und Vue bevorzugt. Angular habe sich als zuverlässig bewährt und wird auch in den kommenden Jahren nach wie vor eine wichtige JavaScript-Ressource sein.
Dieses Video von Fireship vergleicht die Stärken und Schwächen von Angular, React und Vue.js und spricht sich für Angular aus. Es bietet ebenfalls eine sehr wertvolle kritische Analyse über den Datensatz, der im State of JavaScript-Bericht 2019 verwendet wurde.
React ist eine JavaScript-Bibliothek für die UI-Entwicklung, obwohl sie der Einfachheit halber häufig auch als Framework bezeichnet wird. Facebook hat ursprünglich React erstellt und übernimmt ebenfalls die Verwaltung, was der Bibliothek viel Glaubwürdigkeit verleiht. Uber, Netflix, PayPal, Airbnb, Twitter, Walmart und viele andere „Giganten“ verwenden React, was sich besonders als ein probates Medium für größere und mittelgroße Projekte anbietet.
React ist ein komponentenbasiertes Webframework mit einseitigem Datenfluss. Es hat einen großen Einfluss auf die Front-End-Webentwicklung und ist 2020 das dominierende Framework bzw. die Bibliothek, die für JS-Anwendungen verwendet wird. React kann die Einführung von Konzepten wie funktionale und deklarative Programmierung sowie immutable state zugeschrieben werden, die in der Front-End-Entwicklung bis dato nicht üblich waren. Der andere große Erfolg von React ist die Einführung des virtuellen DOMs, das maßgeblich zur Verbesserung der Benutzererfahrung und der App-Leistung beigetragen hat.
Das Ziel von Preact als JavaScript-Bibliothek ist es, die Stärken von React in einem kleineren, leichteren Paket anzubieten. Als SPA-Tool umfasst Preact grade mal 3 KB im Vergleich zu 30 KB bei React. Die Bibliothek wurde von Googler Jason Miller mit Unterstützung einer Gruppe von Mitwirkenden erstellt und wird unter anderem von Uber, Lyft, Tencent, Groupon und Domino‘s verwendet.
Das kürzlich veröffentlichte Preact X hat den Code der Bibliothek noch weiter bereinigt und neue Funktionen und Kompatibilitätsverbesserungen hinzugefügt, um noch mehr Bibliotheken von Drittanbietern zu unterstützen.
Aufgrund der Größe und Geschwindigkeit von Preact eignet es sich im Allgemeinen am besten für leichte mobile Web-Apps oder Web-Widgets und -Einbettungen, für die React zu schwer sein könnte. Aufgrund seiner minimalistischen Natur wird Preact im Allgemeinen für kleinere Projekte in Betracht gezogen, bei denen die Leistung im Vordergrund steht.
Vue.js wurde zuerst im Jahre 2014 veröffentlicht und anschließend im Jahre 2016 neu gestartet. Vue beschreibt sich selbst als „intuitive, schnelle und integrierbare MVVM zur Erstellung interaktiver Schnittstellen.“ Wir bei K & C können diesen Attributen im Allgemeinen zustimmen.
Vor allem die folgende Beschreibung von Vue in einem Blog-Artikel auf Packt hat es uns angetan:
„Vue nimmt eine interessante Position im Triumvirat der Frontend-JavaScript-Frameworks ein. Nicht in dem Maße gehyped wie React und nicht so etabliert wie Angular, hat es sich in den letzten Jahren still und leise auf seine Stärken konzentriert und eine engagierte und enthusiastische Community von Entwicklern aufgebaut.“
Das Hauptziel besteht darin, Ideen für die Entwicklung der Web-Benutzeroberfläche (Komponenten, deklarative Benutzeroberfläche, Hot-Reloading, Timetravel-Debugging usw.) verständlicher zu machen. Weniger dogmatisch, ist es grade für junge Entwickler im Vergleich zu anderen Frameworks weitaus einfacher zu lernen.
Wie bereits erwähnt, wurde Vue.js von Evan You, einem ehemaligen Google-Ingenieur erstellt, der sich zum Ziel gesetzt hat, die Stärken von Angular und React zu kombinieren und gleichzeitig ihre jeweiligen Schwächen auszugleichen.
Obwohl Vue.js sowohl nach Angular als auch nach React erschienen ist, gewann es sehr schnell an Bedeutung und wurde von Alibaba, Nintendo, Expedia und mehreren anderen Unternehmen verwendet. Somit wurde gleichzeitig klargestellt, dass es sich hierbei alles andere als um ein Framework nur für SPAs handelt. Die Tatsache, dass Vue.js nicht die Unterstützung eines großen Technologiekonzerns genießt, macht den wachsenden Erfolg umso erstaunlicher und wirft die Frage auf, ob es mit derselben finanziellen Unterstützung von Angular und React nicht noch beliebter gewesen wäre.
Die Unabhängigkeit von Vue.js wird jedoch auch von vielen Menschen in der Webentwicklungs-Szene als etwas Positives wahrgenommen. Es hat nämlich dazu geführt, dass eine besonders große freiwillige Support-Gemeinschaft rund um Vue entstanden ist. Probleme und Fragen werden in der Regel viel schneller beantwortet als dies bei den großen, von Unternehmen unterstützten Frameworks wie Angular und React der Fall ist.
Ein weiterer positiver Nebeneffekt ist ein klarer Code bzw. eine API, die nicht „over-engineered“ wurden. Im Folgenden ein großartiges Video über Vue.js für alle, die eine kurze, leicht verdauliche Zusammenfassung des Frameworks suchen:
Es ist interessant zu sehen, dass die Vue.js zugeschriebenen „Schwächen“ fast alle mit dem Entwicklungsgrad des Frameworks in Bezug auf die Größe der Community (obwohl es auch für seine Qualität bekannt ist) und der Unterstützung auf Unternehmensebene zusammenhängen. Auf technischer Ebene sind Beschwerden über Mängel weniger ersichtlich, was darauf hindeutet, dass Vue.js wahrscheinlich weiterhin an Popularität gewinnen wird.
Das Ember Open-Source-Framework stammt noch aus der Zeit von Apple Music. Inspiriert nach dem Prinzip „Convention over Configuration“ ist Ember vor allem als umfangreiches Repository bekannt, das als Wörterbuch zur App-Entwicklung dient. Es berücksichtigt Konventionen anstatt mit Konfigurationen zu jonglieren und ermöglicht eine bidirektionale Datenbindung.
Ember ist seit seiner Veröffentlichung im Jahre 2012 durch wenig wesentliche Änderungen gegangen, was bedeutet, dass es sich hierbei um ein streng rückwärtskompatibles Framework handelt. Auf der anderen Seite wird das Framework alle sechs Wochen aktualisiert und legt weiterhin stark Wert auf Stabilität. Netflix, Apple und Microsoft sind nur einige der Unternehmen, die Ember verwenden.
Svelte wurde im Jahre 2016 von Software-Ingenieur Rich Harris durch einen Geistesblitz geboren, der auf die Idee kam, ein JavaScript-Framework ohne eine Framework-spezifische Laufzeit zu erstellen. Dies wurde erreicht, indem Svelte den Framework-spezifischen Code in sauberes JavaScript, HTML und CSS kompilierte und diesen in den Browser übertrug. Der Ansatz war in der Softwareentwicklung nicht unbekannt, dafür aber im Kontext der Front-End-Entwicklung revolutionär.
Die zweite einzigartige Qualität von Svelte ist die erstklassige Unterstützung der Reaktivität. Dies ermöglicht eine verbesserte Leistung, ohne dass hierzu ein virtueller Dom erforderlich ist. Dadurch ist das Rendering von Svelte das schnellste aller JS-Frameworks.
Svelte ist komponentenbasiert (HTML, CSS und JS), leichtgewichtig und in TypeScript geschrieben. Entscheidend ist jedoch, dass das Framework keine Kenntnisse über TypeScript erfordert, um es vollständig nutzen zu können.
JavaScript-Entwickler sind beeindruckt und obwohl es für Svelte noch sehr früh ist, stößt es auf großes Interesse und gewinnt in Front-End-Entwicklungskreisen immer mehr an Bedeutung. Einige Optimisten gehen sogar so weit und behaupten, Svelte könne React als führende JS-Ressource ersetzen. Wie bei Vue ist jedoch anzunehmen, dass es mangels Unterstützung großer Tech-Konzerne zu Engpässen kommen wird – trotz der technischen Vorzüge.
Was sollten Sie für die Entwicklung Ihrer App wählen? Angular, Vue, React, Preact, Ember oder Svelte? Wie oben beschrieben, hat jedes Framework oder jede Bibliothek ihre eigenen Stärken und Schwächen. Die richtige Wahl hängt von den Anforderungen der Anwendung ab und wird häufig auch mindestens so stark von den Entwicklerressourcen und geschäftlichen Überlegungen beeinflusst.
Aber wir möchten uns nicht aus der Affäre ziehen, indem wir nach einem so umfassenden Review die Antwort komplett offen lassen. Deshalb gibt es hier einige Faustregeln, die Sie bei der Entscheidung unterstützen können:
Und wenn Sie sich immer noch nicht entscheiden können, probieren Sie sie einfach alles unter verschiedenen Bedingungen aus. Sie werden zu Ihren eigenen Schlüssen kommen.
Krusche & Company ist eine in München ansässige Agentur für Webentwicklung, DevOps, Cloud und digitale Transformation mit über 20 Jahren Erfahrung. Wir unterstützen und setzen die digitalen Ziele unserer Partner um – von Unternehmensportalen für einige der bekanntesten europäischen Marken bis hin zu schlanken MVPs für vielversprechende Start-ups und alles dazwischen.
Unser Modell umfasst deutsches Management, regionale Tech-Talente und bietet eine einzigartige Mischung aus Qualität, Kontrolle und Preis. Wir legen denselben hohen Stellenwert auf hervorragende Kommunikation wie auf die Exzellenz unseres Tech-Stacks.
Falls Sie eine Teamerweiterung oder ein dediziertes Team für Ihre Softwareentwicklungskapazitäten, Cloud-native Entwicklungs-, Migrations- oder Architekturdienste sowie DevOps benötigen, zögern Sie nicht, sich mit uns in Verbindung zu setzen. Wir würden gerne mehr von Ihren Projektanforderungen erfahren und gemeinsam mit Ihnen besprechen, wie wir Sie dabei unterstützen können, Ihre Ziele genau nach Ihren Wünschen, pünktlich und kostengünstig umzusetzen.
Related Service