Was ist eigentlich Vue.js?
Vue.js geht in eine ähnliche Richtung wie Angular und React und erfreut sich wachsender Beliebtheit. Das Framework ist in der min-Variante gepackt gerade einmal 20 Kilobyte groß und damit durchaus kompakt. Außerdem ist es dank virtuellem DOM sehr schnell. Der Grundgedanke liegt darin, mit möglichst wenig Aufwand gute Ergebnisse zu erzielen, sodass meist schon wenige Zeilen Code zum Ziel führen. Vue.js eignet sich bestens für die Arbeit mit Komponenten und braucht relativ wenig Overhead, umso mehr durch die Single-File-Components, die allen Code von HTML über CSS bis Javascript in einer Datei unterbringen. Außerdem könnt ihr Vue.js sogar in andere Frameworks wie beispielsweise React integrieren, ihr seid nicht an feste Vorgaben der Macher gebunden.
Codebeispiel: Hello Vue.js
<div id="app"> <!--1-->
{{ message }}
</div>
<script src="js/vue.js"></script> <!--2-->
<script>
var app = new Vue({ // <!--3-->
el: '#app',
data: {
message: 'Hello vue.js!'
}
})
</script>
Dieses Beispiel hilft schon dabei, die Idee von Vue.js zu durchschauen. Wichtig sind die drei markierten Zeilen. In der ersten deklarieren wir die Komponente und geben ihr einen Vue.js-Ausdruck als Inhalt. Da wir das tun, brauchen wir Zeile 2, in der wir die Bibliothek in unseren Code laden und schließlich in Zeile 3 eine Vue.js-Instanz starten. Darin schreiben wir den Vue.js-Code, der dazu führt, dass dieser Code im Browser die unter Message gespeicherte Nachricht als Inhalt des Divs ausgibt. Wichtig dabei ist el
(steht für Element), mit dem ihr die Wurzel für den Vue.js-Code angebt. Dieser Code ist jetzt bereits reaktiv, wie ihr direkt im Browser testen könnt. Dafür braucht ihr nur den Wert von Message verändern und die Änderung wird sofort im Browser sichtbar. Das funktioniert natürlich nicht nur mit simplem Text, sondern mit allen Funktionen, die ihr mit Vue.js erstellt.
Was macht Vue.js besonders?
Vue.js ist laut verschiedenen Erfahrungsberichten sehr einsteigerfreundlich und hat keine besonders steile Lernkurve. Das liegt erst einmal daran, dass neben Javascript, HTML und CSS keine weitere Sprache zu erlernen ist, um Vue.js zu nutzen, anders als es bei Angular mit Typescript oder React mit JSX der Fall ist. Außerdem ist die Integration in die gängigen Editoren sehr gut. Es gibt sogar ein Browser-Plugin unter Firefox und Chrome, was den Einstieg noch einmal erleichtert. Außerdem ist die Community sehr aktiv, was nicht zuletzt an der großen Beliebtheit von Vue.js liegt.
Durch die einfache Erstellung von Komponenten ist Vue.js auch für größere Teams interessant und erlaubt es, komplexe Aufgaben sinnvoll zu strukturieren und gleichzeitig einheitlich genug zu bleiben, sodass sich der Nutzer immer gut orientieren kann. Damit zahlreiche Komponenten aber nicht zu groß werden, bietet Vue.js die Single-File-Components, in denen HTML, CSS und Javascript in einer Vue-Datei zusammengefasst sind und so auch nur an einer Stelle gearbeitet werden muss. Man muss so nicht ständig mehrere Dateien geöffnet haben. Die Single-File-Components sind in Kombination mit Webpack dann auch schon vorkompiliert, was dem Browser Arbeit erspart. Einziges Problem hierbei ist, dass euer Editor auch diese Kombination von drei Sprachen erkennen und unterstützen muss, um jeden Abschnitt der Single-File-Components die jeweilige Syntax richtig zu highlighten. Das bieten die besagten Plugins aber an.
Die eingangs bereits erwähnte Performance spricht natürlich auch sehr für das Framework, ebenso wie die gut ausgebaute Tool-Landschaft aus Add-ons und Plugins. Mit der Vue-cli könnt ihr ein Projekt im Handumdrehen starten und bekommt sogar schon Vorlagen geliefert, die ihr nutzen könnt. Außerdem ist die Dokumentation von Vue.js sehr ausführlich und nachvollziehbar verfasst und bietet weiterhin mit einem Cookbook direkt Lösungen für typische Herausforderungen. Und wer dort nicht fündig wird, kann in der Awesome List suchen, wo zahlreiche Ideen gelistet sind, die mit Vue.js umgesetzt wurden.