Die wichtigsten Developer Frameworks im Überblick
Veröffentlicht am 24.09.2020 von DomainFactory
Developer Frameworks erleichtern die Programmierung kleiner und großer Projekte wesentlich. Dadurch werden immer wieder neue Frameworks entwickelt und auch alte verbessert, um sie an aktuelle Anforderungen und neu auftretende Probleme anzupassen. Waren sie früher hauptsächlich Community-Projekte, entwickeln mittlerweile auch große Konzerne ihre eigenen Frameworks und stellen sie der Allgemeinheit zur Verfügung. Durch diesen starken Background leidet jedoch manchmal auch die Flexibilität, da der Konzern bei jeder Entwicklung ein Wörtchen mitzureden hat.Die Frage nach dem richtigen Framework ist eine Glaubensfrage. Jedes hat so seine Vor- und Nachteile. Die Vor- und Nachteile der fünf größten Frameworks finden Sie hier.
Das Wichtigste in Kürze
Angular.js von Google | Einfache Testbarkeit, Struktur, Qualität |
Vue.js | Unabhängig, sehr aktive Community, leichter Einstieg |
React von Facebook | Leichter Einstieg, schnelle Benutzeroberflächen |
Ember.js von Apple Music | Bidirektionale Datenanbindung |
Bootstrap | Einfache Bedienung ohne große Einarbeitung |
Angular.js
Angular.js wurde von Google entwickelt und legt großen Wert auf Struktur und Qualität. Durch diesen Fokus und die gute Testbarkeit ist Angular.js sehr gut für große Enterprise-Projekte geeignet. Langes Suchen und Reindenken in den Code entfällt in der Regel, da er gut lesbar ist.
Der HTML-Code, der durch AngularJS erweitert wird, ist ebenfalls immer gut lesbar und kann so auch über verschiedene Projekte ohne viel Einarbeitung durch andere Projektmitarbeiter einfacher geprüft werden.
Ein sehr interessanter Punkt ist die Zwei-Wege-Datenbindung (bidirektional). Im Gegensatz zur Ein-Weg-Datenbindung, wo ein Daten bereitstellendes Model und ein Template den letztendlichen View liefern, werden bei der bidirektionalen Anbindung Verknüpfungen zwischen View und Model hergestellt. Jedes Element wird einem Element im DOM zugeordnet und beeinflusst sich gegenseitig.
- Bei kleineren Projekten ist das ein großer Vorteil.
- Bei größeren Projekten mit vielen dynamischen Objekten bemerkt man allerdings einen starken Geschwindigkeitsnachteil, da die Dynamik viel Rechenzeit verbraucht.
Zwar können Apps sehr einfach programmiert und einzelne Bestandteile über Dependency Injection einfachmodular hinzugefügt werden. Für die Programmierung von Webseiten ist es allerdings, trotz der Einbettung in HTML, nicht geeignet, da beim Aufruf immer die ganze App mit allen Abhängigkeiten geladen wird.
Vue.js
Vue.js ist ein frisches Framework, das die Entwicklung von Web-Oberflächen vereinfacht. Auch hier sind einige Größen vertreten, wie Nintendo, Expedia und Alibaba. Vue.js hat keinen Konzern oder Ähnliches im Hintergrund, wodurch es freier in der Gestaltung ist. Evan You, ein ehemaliger Google-Mitarbeiter, hat es komplett in Eigenregie entwickelt.
Diese Unabhängigkeit wurde honoriert und die Entwicklung durch eine rasant wachsende Communityvorangetrieben.
- Außerdem ist hier ein freiwilliger Support entstanden, der Fragen und Probleme wesentlich schneller beantwortet als bei React oder Angular.
- Auch ist der Einstieg durch eine leicht verständliche und gut strukturierte Dokumentation sehr einfach.
Vue.js trennt JS-Code, Template und CSS, im Gegensatz zu React. Außerdem unterstützt es ES5, ES6 und TypeScript, auch wenn das Setup eine Herausforderung sein kann. Vue.js verbindet sich auch relativ gut mit anderen Bibliotheken oder ganzen Projekten und ist selbst sehr klein (nur 20 KB in der min-Variante).
React
React wurde von Facebook entwickelt und ist kein Framework im eigentlichen Sinn, eher eine JS-Bibliothek für die Entwicklung von performanten Benutzeroberflächen. Es entstand aus der Problematik, dass immer mehr Menschen Facebook nutzten und die alte Oberfläche der App immer langsamer wurde. Der Newsfeed lud immer länger und machte die App so unattraktiv.
Neben einem stärkeren und verbesserten Datenbanksystem musste also auch eine neue Oberfläche her. React wurde daraufhin im Jahr 2011 zunächst intern genutzt und seitdem ständig weiterentwickelt.
❗ Gut zu wissen: Seit 2014 ist es auch öffentlich verfügbar. Es unterstützt JavaScript ES6 und ist dadurch einfacher zu lernen als TypeScript. Außerdem setzen neben Facebook einige weitere Internetgrößen auf diese Technologie, wie Netflix, Paypal und Twitter. Durch die Facebook-Nähe arbeitet auch Instagram auf Basis von React.
React kann in SPA- und SSR-Architekturen eingesetzt werden und ist hier die ideale Lösung. Eine Optimierung des Codes ist ohne großen Zusatzaufwand möglich und durch seine hohe Flexibilität kann es einfach mit verschiedenen Bibliotheken und ganzen Projekten kombiniert werden.
Zur kompletten Umsetzung eines ganzen Frameworks ist es allerdings nicht so gut geeignet. Zwar kann dies mit einigem Aufwand trotzdem realisiert werden, dafür ist React aber nicht gedacht.
Ember.js
Ember ist ein Open Source Framework, das ursprünglich von Apple Music entwickelt wurde und sich seitdem großer Beliebtheit erfreut. Wie Angular.js ermöglicht es eine bidirektionale Datenbindung und kann einfach konfiguriert werden. Durch das Motto „Konventionen vor Konfiguration“ fällt ein Teil der Konfiguration weg und stellt damit saubere Programmierung in den Vordergrund. Halten sich alle Programmierer strikt an die Konventionen, muss also nichts zusätzlich als Workaround konfiguriert werden.
- Ein großer Vorteil ist, dass Ember-Entwickler sich schnell in bereits vorhandene Projekte einarbeiten können.
- Der Aufbau bleibt im Groben immer gleich, die Struktur ist leicht wiederzuerkennen. Kommen also neue Mitarbeiter an Bord, verkürzt sich die Einarbeitungszeit stark.
- Außerdem bietet Ember eine gute Benutzeroberfläche und komfortable Templates.
Bei Ember sind große Unternehmen wie LinkedIn und Microsoft an der Entwicklung und Finanzierung beteiligt. Ember ist allerdings sehr komplex – dadurch ist es leider schwer zu beherrschen und durch die inaktive Community gibt es auch viele veraltete Tutorials. Die Entwicklung selbst ist auch eher zurückhaltend. So erscheinen neuere Versionen nur mit hohen Abständen und bringen dann nur wenige Neuerungen. Für kleinere Projekte gibt es bessere Alternativen.
Bootstrap
Bootstrap macht es extrem einfach, responsive Webseiten zu erstellen. Durch den leichten Einstieg wird es sehr häufig für die Programmierung von CMS-Themes verwendet. Am Häufigsten findet man diese Themes für Joomlaund WordPress. Die Dokumentation ist sehr ausführlich und die hilfsbereite Community hilft schnell weiter.
Ebenfalls stehen viele Tutorials zur Verfügung, die einfach zu befolgen sind. Auch wenn mehrere Entwickler an einem Bootstrap-Projekt beteiligt sind, kommt es selten zu Problemen, da es zwar ein eigenes Framework ist, aber auf HTML und CSS aufsetzt. Jeder, der diese beiden Sprachen kennt, kann sich sofort an das Projekt setzen.
💡 Praxistipp: Bootstrap folgt dem „Mobile-first“-Ansatz und stellt schon zahlreiche vorgefertigte Grids, Patterns und sofort nutzbare CSS- und HTML-Elemente zur Verfügung, wodurch man direkt mit dem Programmieren loslegen kann.
Die einfache Bedienung geht für Neulinge aber manchmal auf Kosten des Verständnisses, was im Hintergrund eigentlich genau passiert. Durch den direkten Einstieg in die Entwicklung fehlen so oft die Grundkenntnisse in HTML oder CSS, die für die Problemlösung nötig wären. Die Grundlagen sollten also definitiv vorher sitzen.
Fazit
Alle Frameworks haben so ihre Eigenheiten. Manche Details überschneiden sich, andere sind klar voneinander getrennt. Im Endeffekt ist es, wie mit jeder Programmiersprache: Wer seinen Weg gefunden hat, wird ihn weitergehen, auch wenn andere Frameworks manche Aufgabe besser erledigen.