Anzeige
Anzeige
News

Vue 3 „One Piece“ ist da und hat sich einiges von React abgeschaut

Der ehemalige Framework-Underdog aus dem JavaScript-Kosmos ist jetzt in Version 3.0 verfügbar – und wartet nach zwei Jahren Entwicklung mit einer rundum erneuerten Framework-Architektur und einem React-Hooks-ähnlichen Composition-API auf.

2 Min.
Artikel merken
Anzeige
Anzeige

Evan You (Mitte) ist der Kopf hinter Vue.js. Hier beim Dreh zur Vue.js-Doku. (Foto: Honeypot)

Vue.js ist neben React, Svelte und Angular eines der beliebtesten JS-Frameworks. Ursprünglich entwickelt wurde es von Evan You, der sich damit seine eigene, weniger komplexe Alternative zu Googles Angular schaffen wollte. 2014 beschloss der Entwickler, sein Projekt zu veröffentlichen, um auch andere Entwickler daran teilhaben zu lassen. Mittlerweile erfreut sich der Framework-Underdog mit 1,3 Millionen Nutzern großer Beliebtheit in der Webentwickler-Community und kommt sowohl beim Entwickeln sogenannter Single-Page-Apps als auch beim Bauen traditionell serverseitig gerenderter Websites zum Einsatz. Jetzt, knapp zweieinhalb Jahre nach Release von Version 2 und über 30 RFC und 628 PR später, ist mit „One Piece“ das dritte Major Release verfügbar.

Neues Composition-API – React-Hooks anyone?

Anzeige
Anzeige

Eine der wichtigsten Änderungen ist das neue Composition-API – damit sollen Pain-Points bei der Arbeit an großen Vue-Applikationen eliminiert werden. Das Composition-API setzt auf dem Reactivity-API auf. Angelehnt an die Hooks aus Facebooks React ermöglicht das Composition-API es, Logiken in sogenannten Composition-Functions zu speichern. Diese können dann über Komponenten hinweg wiederverwendet werden. Das Composition-API bietet zudem flexiblere Code-Organisation und robustere Typeninferenzen als die objektbasierte API aus Version 2.x.

Wer will, kann das API über das @vue/composition-api-Plugin auch mit Vue 2.x verwenden. Zugehörige Utility-Bibliotheken wie vueuse und vue-composable funktionieren sowohl für Vue 2 als auch für Vue 3. Alle Details dazu könnt ihr in der API-Reference nachlesen.

Anzeige
Anzeige

Neues Virtual DOM

Das Virtual DOM wurde von Grund auf neu geschrieben. Das Resultat: Performanzverbesserungen und verbesserte Unterstützung für TypeScript.

Anzeige
Anzeige

Native Portale

Ein Portal ist ein aus React entlehntes Konzept, das ihr bereits in Vue 2 nutzen konntet – bisher allerdings nur über Third-Party-Plugins wie zum Beispiel portal-vue. In V3 ist diese Funktionalität auch nativ verfügbar. Ein solches Portal ermöglicht das Rendern einer Komponente an anderer Stelle im DOM-Tree, auch außerhalb des App-Scopes. Für Portale findet sich zum Beispiel im Zusammenhang mit Notifications und Pop-ups Verwendung.

Suspense

Ebenfalls an React angelehnt ist Vue-Suspense, ein experimentelles Feature, das zwar bereits in Vue 3 enthalten ist, voraussichtlich aber erst in Version 3.1 dokumentiert und offiziell verfügbar ist. Laut Release-Notes befindet sich das Vue-Coreteam im regen Austausch mit dem Nuxt.js-Team. Die <Suspense>-Komponente erlaubt es, analog zu Reacts Suspense, auf sogenannte nested-async-Dependencies zu warten. Ein typischer Use-Case wäre, dass eure App einen Lade-Indikator anzeigt, bis das Fetchen von Nutzerdaten beendet ist.

Anzeige
Anzeige

<Suspense>
<template #default>

<UserProfile />

</template>
<template #fallback>
<div>Loading... </div>
</template>
</Suspense>

Verändertes Global-Mounting-Verhalten

Bisher nutzte Vue das globale Vue-Objekt, um zum Beispiel Plugins zu spezifizieren. In Vue 3 können Vue-Instanzen mit unterschiedlichen Plugins separat verfügbar gemacht werden.

Alle weiteren Neuerungen, Informationen zur Migration von Vue 2 auf 3 und Pläne für kommende Releases könnt ihr in den Release-Notes nachlesen. Wer sich für den Entstehungsprozess der neuen Version im Detail interessiert, sei an Evan You’s Blogpost zur Entstehungsgeschichte von V3 verwiesen.

Mehr zum Thema:

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige