#interviewFrontend-Entwicklung

Vue.js – Vorteile: Das Beste aus zwei Welten

Vue.js – Vorteile: Das Beste aus zwei Welten

Ein Interview mit Stefan Grund

Vue.js, AngularJS oder React: Welche Vorteile hat vue.js?

Vue.js ist ein modernes JavaScript-Framework, das sich sowohl für einzelne interaktive Komponenten einer Webseite als auch für komplexe Web-Anwendungen eignet. Es ist das jüngste der drei großen, populären JavaScript-Frameworks und vereint viele Konzepte, die aus Angular und React bekannt sind. Im State-of-Vue.js-Report aus dem letzten Jahr wurde Vue dementsprechend als „Love Child“ der beiden Frameworks betitelt. Daher ist es auch wenig überraschend, dass Evan You, der Vue.js-Hauptentwickler, vorher bei Google mit Angular gearbeitet hat.

Ein weiterer Vorteil ist, dass viele Ungereimtheiten, die sich bei den anderen Frameworks ergeben, bei Vue.js bereits ausgemerzt sind. Die Schnittstellen sind meines Erachtens viel sauberer und auch die Syntax ist viel lesbarer als das z.B. bei React der Fall ist (Stichwort „Single File Components“). Gerade neuen Entwicklern bietet es so einen deutlich leichteren Einstieg.

Wie kann man Vue.js am besten lernen?

Es gibt eine ausgezeichnete Vue.js-Dokumentation, die im Vergleich zu anderen Dokus wirklich einen hervorragenden Einstieg in das Framework bietet und mit sinnvollen Beispielen illustriert ist. Darüber hinaus gibt es einen Styleguide und ein Cookbook, in denen Best Practices aufgezeigt werden, sowie eine aktive Community, die bei kniffeligen Fragen hilft.

Ein großer Vorteil ist, dass Vue.js auch ohne Build Prozess betrieben werden kann. So muss man kein komplexes Projektsetup aufsetzen, sondern kann Vue.js einfach referenzieren und es genauso benutzen wie das früher bei jQuery der Fall war. Das bietet gerade Neueinsteigern die Möglichkeit, Vue ohne großartiges Setup innerhalb von wenigen Minuten auszuprobieren. Zu dem Thema gibt es einen hilfreichen Artikel von Sarah Drasner, der gerade Anfängern den Einstieg in Vue.js sehr erleichtern wird.

Funktioniert Vue.js auch mit klassischen Webanwendungen und Websites?

Ja, auf jeden Fall. Die Stärke ist, dass man das relativ schnell in klassische Websites integrieren kann und jQuery auch komplett durch Vue.js ersetzen könnte. Das heißt, auf klassischen Websites kann man einzelne interaktive Komponenten mit Vue.js umsetzen. Die große Stärke liegt dabei aber bei den Single-Page-Applications (SPA), in denen wir komplexe Interaktionen und Businesslogik haben, die dann mit Vue.js wunderbar abgebildet werden kann. Aber wir haben auch schon einzelne Komponenten nur mit Vue.js umgesetzt, weil auch das erheblich schneller geht als mit den Bordmitteln von jQuery.

Du siehst also die Zukunft von Vue.js positiv?

Auf jeden Fall. Es ist ganz spannend, dass Vue.js mittlerweile auf GitHub das populärste der drei großen Frameworks ist. Es hat gerade mit ein paar Tausend Likes React überholt. Und auch ganz interessant ist: Während Angular ja von Google entwickelt wird und React allen voran von Facebook, steht bei Vue.js kein großer Konzern dahinter, sondern ein Team von unabhängigen Entwicklern, die allerdings zum Teil von großen Firmen gesponsert werden. Aber es gibt eben keine einzelne Firma, die ihre Vision durchdrückt, sondern ein Team, das weitestgehend unabhängig von äußeren Einflüssen das Framework vorantreiben. Das ist auf jeden Fall sehr vielversprechend für die Zukunft und im Laufe des Jahres soll dann auch Vue.js 3 erscheinen. Dabei wird spannend zu sehen sein, dass Vue 3 weiterhin mit Vue 2 kompatibel sein wird. Etwas, was gerade im Angular-Kosmos immer wieder Probleme bereitet. So wird man bestehende Projekte mit Vue.js locker auf die modernste Version aktualisieren können.

Wo hast du bei PPW bereits Vue.js eingesetzt?

Wir haben Vue.js schon in einer Vielzahl von größeren und kleineren Projekten eingesetzt. Eines der größeren Projekte ist Red Dot, wo wir die Online-Exhibition komplett auf Vue.js-Basis umgesetzt haben, zusammen mit Nuxt.js, das für das Server-Side Rendering zuständig ist. Wir haben sehr gute Erfahrung damit gemacht, auch für eine vollumfängliche Seite auf Vue.js zu setzen. Ähnlich war es beim Bestellprozess für Stepin, bei dem es sich ebenfalls um eine Single-Page-Application handelt, die durch das Backend komplett definiert werden kann, und das Frontend reagiert dann auf alles, was es bekommt.

Die Stadtwerke Bonn sind ein Beispiel dafür, dass wir einzelne Komponenten mit Vue.js umgesetzt haben. Die meisten Online-Produktberater sind Vue.js-Komponenten in einer klassischen TYPO3-Website.

Die RSAG-App ist seit der Version 2.0 komplett mit Vue.js umgesetzt. Sämtliche Interaktionen und Logik der App sind Teil einer Vue.js-Applikation, die in einem hybriden Cordova-Wrapper läuft. Dieser hybride Ansatz im Zusammenspiel mit Vue.js ermöglichte uns, eine deutlich schnellere und qualitativ bessere Umsetzung als das mit klassischen JavaScript-Mitteln oder anderen Frameworks der Fall gewesen wäre.

Gibt’s sonst noch was zu Vue.js zu sagen?

Was ganz cool ist, ist, dass es im Vergleich zu Googles Angular und Facebooks React ein überschaubaures Indie-Team ist, das hier die Entwicklung vorantreibt und in das man sich auch selbst mit einbringen kann. Man kommt relativ schnell in Kontakt und wenn man auf GitHub oder im Forum eine Frage stellt, dann kann es gut sein, dass der Chefentwickler persönlich antwortet. Man kann sich auch sehr gut selbst einbringen. So habe ich z.B. einen kleinen Teil zur Dokumentation beigetragen.

Wie findet man dich bei GitHub?

Bei GitHub findet man mich unter stefangrund.