Die Angst um das Ende von React bringt alte Bekannte zurück: Angular vs. Vue.js vs. Ember

Die Angst um das Ende von React bringt alte Bekannte zurück: Angular vs. Vue.js vs. Ember

Python, JavaScript, PHP, Java, C# – die Wahl der richten Programmiersprache und der passenden Frameworks stellt für Entwickler in manchen Augenblicken die Qual der Wahl dar. So gibt es für unterschiedliche Anforderungen und Schwerpunkte bestimmte Sprachen und Programme, die dafür am besten geeignet sind. Nichtsdestotrotz existieren einige Top-Acts, die die Liste anführen. So hat IT-Gigant IBM JavaScript zur besten Erlern-Programmiersprache 2017 gekürt.
Doch auch da ist die Auswahl für Frameworks riesig. Nachdem nun React für manche mehr oder weniger abgehakt werden kann – siehe dazu unseren letzten Blogbeitrag – wollen wir euch nun drei Alternativen dazu vorstellen. Diese lauten Angular, Vue.js und Ember.

Wer sind sie?

Alle drei Frameworks sind clientseitig, basieren auf dem MVVM (Model View ViewModel) Model, werden für das Erstellen von SPAs (Single Page Applications) verwendet und sind (mehr oder weniger) in JavaScript geschrieben. Angular wurde von Google entwickelt und gehört mit seiner Vorgängerversion AngularJS zu den am meisten verwendete JS Framework für SPAs. Angular 2 ist in Typescript geschrieben, das auf JavaScript, Java und C# basiert. Seit Ende März ist Version 4 auf dem Markt. Vue.js ist ein relativ junger Newcomer, der vorgibt, das Beste aus Angular und React herauszuholen. Ember wurde 2015 als das beste JavaScript Framework angepriesen und findet zum Beispiel bei Netflix, Yahoo und LinkedIn Verwendung.

Was können sie?

Bei allen drei Frameworks fällt durch das MVVM die Controller Einheit weg und es wird stattdessen eine Verbindung der Darstellungs- und Logikebene hergestellt. Interaktionen können so schneller und einfacher umgesetzt werden. Angular wird vor allem aufgrund der Einfachheit der Nutzung von den Entwicklern präferiert. Es kann somit mit WordPress‘ Konzept verglichen werden – sehr einfach zu verwenden, aber in der technischen Umsetzung nicht so extravagant. Bei Vue.js lag der Fokus darauf ein schnelles und schlankes Frontend Framework zu entwickeln. Ähnlich wie bei React wird hier eine virtuelle DOM Implementierung genutzt, die die Rendering Geschwindigkeit und den Speicherverbrauch laut Entwicklern um bis zu das Vierfache verbessert haben soll. Vue.js lässt ebenso dem Programmierer die Wahl zwischen Templates und JSX/Hyperscript. In Version 2 gibt es zusätzlich eine Redone-Rendering Schicht, die für eine bessere Performance sorgen soll. Ebenso ist das Framework mit der neuen Version auch (besser) auf die Entwicklung von mobilen Apps ausgerichtet. Ember folgt dem DRY Prinzip und ist nach dem Grundsatz data down, actions up aufgebaut. Das Framework nutzt Web Compoments, und will langfristig die Controller und Templates durch diese ersetzen.

Wie gut sind sie?

Angular stellt die beste Option für Unternehmensbasierte Apps und Programmierlandschaften mit hohen Lesbarkeits-Standards dar. Die bessere Wahl für die schnelle Entwicklung von betriebssystemübergreifenden Lösungsansätzen ist jedoch Vue.js. Das Framework punktet zudem durch eine einfache Handhabung. Ember wird demgegenüber vornehmlich für komplexe Webapplikationen und Websites mit vielen Features verwendet. So sind dynamische Apps und Websites bei Ember gut aufgehoben. Es ist das Framework, das einen, wenn man es verstanden hat, dazu befähigen kann, sehr produktiv zu sein. Jedoch heißt dies, dass die Lernkurve auch sehr hoch ist und es somit gleich zu Beginn viel zu lernen gibt.

Fazit

Alle drei Frameworks können zwar als Konkurrenten angesehen werden, jedoch besitzt keines davon einen signifikanten Vorteil gegenüber den anderen. Alle besitzen die gleiche Grundlage – sie sind ein JavaScript Framework. Das bedeutet im Endeffekt mehr Effizienz, Sicherheit und weniger Kosten als ohne Framework. Egal ob durch Angular, Vue.js oder Ember – Programmierarbeiten können zeitsparender und strukturierter umgesetzt werden und haben gleichzeitig bessere Sicherheitsbestimmungen. Zudem sind alle Frameworks Teil einer Open Source Software – und anders als React von Facebook – auch wirklich frei zugänglich.

Ist das das Ende für React?

Ist das das Ende für React?

Die JavaScript Bibliothek React von Facebook gehörte bisher zu den beliebtesten Tools zur Erstellung von interaktiven Websites. Jetzt kann React den Programmierern jedoch zum Verhängnis werden. Denn die Lizenz-Situation und Nutzungsbedingungen des eigentlich als Open Source ausgelegten Tools sind heikel geworden. Zu Open Source gehören Softwares, deren Quelltext öffentlich eingesehen, genutzt und verändert werden darf. Eigentlich.

 

Was steckt dahinter?

React, welches erstmals 2013 mit einer Open Source Software herausgegeben wurde, dient dazu, Anwendungen sehr flüssig darzustellen, selbst bei großen Datenbanken. Der Vorteil von React ist, dass dort ein virtuelles DOM vorliegt, welches einfacher zu manipulieren ist und die Bibliothek so in der Lage ist, Interaktionen schneller umzusetzen. Gleichzeitig nimmt React die Komplexität aus dem View-Layer. Demnach ist das Tool besonders nützlich, wenn eine Website viel Interaktivität fordert.
Jedoch steht die Verwendung von Facebook‘s Open Source Software, darunter eben auch genannte Bibliothek React, unter einer BSD Plus Lizenz. BSD (Barkeley Software Distribution) heißt, dass die Software nur kopiert, verändert und verbreitet werden darf, wenn das Copyright Vermerk des ursprünglichen Programms nicht entfernt wird. So weit so gut. Nun hat Facebook vor einigen Wochen eine weitere Klausel zum Lizenzrecht ihrer Software hinzugefügt. Diese sagt aus, dass jedem die Nutzungsrechte für eben jene Open Source Software entzogen werden, wenn mit der Nutzung in irgendeiner Weise Konkurrenz-Ansprüche zu Facebook entstehen. Weiterhin geht aus der Klausel hervor, dass durch eine Klage gegen Facebook die Lizenzrechte ebenfalls entfallen. Im Original heißt dies:

„The license granted hereunder will terminate, automatically and without notice, if you […]take a direct financial interest in[…] any Patent Assertion against Facebook […]“

Open Source Software mit BSD Plus Lizenz – heißt konkret?

Facebook‘s Technik-Direktor Adam Wolff begründet diese Entscheidung damit, dass Facebook die Balance halten möchte, weiterhin Open Source Software zur Verfügung zu stellen, gleichzeitig aber das eigene Unternehmen vor teuren Rechtsstreitigkeiten schützen will.
Die Website React-etc empfiehlt in dieser Hinsicht gar einen Anwalt heranzuziehen, wenn React weiter benutzt werden möchte. Ebenso rät ein Entwickler der Apache Foundation , dass Startups möglichst nicht React benutzen sollten. Dies könnte mögliche Firmenübernahmen gegebenenfalls verhindern. Die Apache Foundation, eine Gemeinschaft von Entwicklern, die an Open Source Software Projekten arbeiten, hat nun sogar die Verwendung der Open Source Software von Facebook ihren Programmierern untersagt. Diese Entscheidung wird damit begründet, dass diese Lizenz ein Risiko an den Konsumenten weiterreichen würde und dieses Risiko deutlich stärker zu Lasten der Anwender ausfallen würde. Außerdem würde dies die Apache-Richtlinien verletzen, die unter anderem diktieren, ein universeller Spender zu sein.

React – das trojanische Pferd unter Open Source?

Diese Entscheidung stellt nun ein großes Problem für Entwickler dar, die unter Apache arbeiten, da sie React an vielen Stellen verwendet haben. Am meisten jedoch stört sie die unethische Einstellung von Facebook gegenüber einer Open Source Software. React sei, so die Entwickler, ein trojanisches Pferd in der Open Source Community und diese Verhaltensweise sei kein Beispiel dafür, wie Open Source funktionieren sollte. Adam Wolff gibt zu, durch diese Entscheidung einige Nutzer zu verlieren, jedoch stehe der Schutz des Unternehmens an erster Stelle. Er argumentiert, dass Facebook die Software auch ganz vom öffentlichen Markt hätte nehmen können.

Also, ihr lieben Programmierer unter euch, passt auf, wenn ihr React benutzen wollt – Alternativen dazu stellen beispielsweise das Webframework vue.js, die Programmiersprache Elm oder die Bibliothek Riot.js dar.

Wann Coder in 24 Stunden mehr Innovation hervorbringen können, als in einem ganzen Arbeitsmonat

Wann Coder in 24 Stunden mehr Innovation hervorbringen können, als in einem ganzen Arbeitsmonat

24 Stunden Coden am Stück
Programmierer Mararthons, die sich aus dem Wort „Hacking“ und „Marathon“ zusammensetzen, sogenannte Hackathons, sind Coding Events, bei denen es hauptsächlich um eines geht: In einem aufgesetzten Zeitrahmen von mindestens 24 Stunden bis hin zu 48 Stunden werden Lösungen zu einer vorgegebenen Thematik programmiert. Teilnehmer sind Coder aus Leidenschaft mit Spaß an der Sache. Die genaue Fragestellung wird normalerweise erst vor Ort verraten, damit niemand vorarbeiten kann. In der Realisierung sind die Coder üblicherweise sich selbst überlassen, d.h. Programmiersprache, Lösungsansatz und die Plattform, mit der die Lösung umgesetzt wird, sind vollkommen frei wählbar.

Die Gründe für eine Teilnahme an solchen Programmierer Marathons sind verschieden: Durch eine erfolgreiche Teilnahme kann der ein oder andere einen weiteren Erfolg auf seinem Karrierekonto verbuchen. Manche Hobby-Coder möchten ihr Können in einem direkten Wettbewerb testen oder sich von anderen Teilnehmer etwas abschauen, um dazu zu lernen. Wenn man sein Wochenende sowieso mit Coden verbringt, kann man dies zudem im Rahmen eines vorgegebenen Projekts tun. Natürlich werden die fleißigen Programmierer über die Dauer des Events verpflegt, damit jeder bei Energie und guter Laune bleibt.

Wer liebt, was er tut, wird keinen einzigen Tag in seinem Leben arbeiten
Es sollte selbsterklärend sein, dass jeder, der mit Talent und Leidenschaft an etwas arbeitet, dies leichter und erfolgreicher tut als jemand, der sich mit Mühe und Anstrengung durchbeißen muss und für den die Arbeit nahezu eine Nötigung ist.

Ein Programmierermarathon vereint eine Ansammlung an Codern, die ihre liebste Freizeitbeschäftigung in einem Wettbewerb als gefragte Fähigkeit unter Beweis stellen. Hackathons ergeben somit eine ultimative Win-Win-Situation, die ein Event selten so zielführend und effizient hervorbringen kann: Der Veranstalter des Hackathons erhält vielfältige und frische Lösungsansätze, die Teilnehmer erhalten meist ein attraktives Preisgeld oder eine andere Form von Gewinn, die einen Anreiz schaffen soll. Je nach AGBs wird das Endprodukt oder der Code entweder allgemeingültig zugänglich oder der Coder selbst wird für die Nutzung seines Codes explizit entlohnt. So oder so wird eine Innovation entwickelt, die jedem zugute kommt und auf die der Entwickler stolz sein kann.

Spaß entlastet den versteiften Arbeitsalltag
Firmen, die nach Fortschritt, Wandel oder Neustrukturierung auf digitaler Basis suchen, sollten diese Art von Eventveranstaltung durchaus in Erwägung ziehen. Frischer Wind beflügelt die Kreativität. Hackathons werden zwar auch intern organisiert, es könnte aber von Vorteil sein diese auch extern oder in Kooperation mit anderen Partnern zu gestalten. Manchmal sind die eigenen Mitarbeiter der IT Abteilung unter dem Arbeitspensum des Alltags stark vereinnahmt. Da ist es nur verständlich, dass einem oftmals die Zeit oder Energie fehlt, um an Innovationen herumzufeilen, wenn das Alltagsgeschäft mit anderen Anforderungen ruft. Oft ist eine außenstehende Perspektive genau das, was man benötigt.

Die Thematik eines Hackathons kann jedes noch so kleine oder überwältigende Problem, von dem man denkt, dies digital gar nicht lösen zu können, letztendlich doch klären. Von einem neuen Ausgangspunkt aus kann das Unternehmen nun weiterentwickeln und hat sich mit einem zweitägigen Event so manchen stressvollen Arbeitsmonat gespart. Zudem kann der IT-Nachwuchs der Zukunft in ihren Kinderschuhen entdeckt und beäugt werden.

Wer interessiert an unserem Hackathon powered by we {code} it selbst ist, soltle sich schnell bewerben, bevor die Plätze weg sind: https://www.eventbrite.de/e/hackathon-frankfurt-2017-start-up-ecosystem-registrierung-36061362506