Prozess: Erstellen von Vue 3


Lehren aus dem Schreiben der nächsten Hauptversion von Vue.js


Gepostet von Evan You


Im vergangenen Jahr hat das Vue-Team an der nächsten Hauptversion von Vue.js gearbeitet, die wir hoffentlich im ersten Halbjahr 2020 veröffentlichen werden (diese Arbeit ist zum jetzigen Zeitpunkt noch nicht abgeschlossen). Die Idee einer neuen Hauptversion von Vue entstand Ende 2018, als die Codebasis von Vue 2 etwa zweieinhalb Jahre alt war. Dies scheint keine so lange Zeit im Leben von Software zu sein, aber die Ideen des Frontends haben sich in dieser Zeit stark verändert.


Zwei wichtige Überlegungen veranlassten uns, eine neue (und die alte) Kernversion von Vue zu schreiben: Erstens die Verfügbarkeit neuer JavaScript-Funktionen in gängigen Browsern. Zweitens Probleme des Designs und der Architektur in der aktuellen Codebasis, die im Laufe der Zeit festgestellt wurden.


Warum umschreiben


Verwenden neuer Sprachfunktionen


ES2015, JavaScript — ECMAScript, ES — , . , , Vue.
Proxy, . Vue — , (state), DOM. Vue 2 , . Proxy Vue, , .


Proxy — , . — , .



Vue 2 , - . , (templates) , sourcemap . , Vue 2 , , DOM, , . , .


, , , . , , , . .



Vue 3 2018 . .


Typescript


Vue 2 ES. , . . Facebook Flow type checker, ES. Flow , , ; , . , , TypeScript Visual Studio Code.


, Vue TypeScript . , TypeScript , . TypeScript , .


(decoupling)


monorepo, , API, . , , . , , , .


RFC


2018 DOM. , , API. .


, . Vue , . , RFC (Request for Comments) 2019 . RFC , , , . GitHub , , .


RFC , , , feature requests.



- . Vue 2 , , .


DOM


Vue : HTML- , , DOM-. , DOM , DOM . , , , , JavaScript, - . , , (bindings) — DOM , .


, . Vue 2 , , - . Vue 3 AST transform pipeline, (transform) .


, . , DOM DOM, DOM, , , . , .


, DOM , , , . , (runtime) : , . :


-, , , (, v-if v-for). (template) «», , . , — . DOM, , , .


-, , . , .


-, DOM , . , , , . .


-: Vue 3 Vue 2.



. -, , , JavaScript . . Vue — Vue 2 23 — :
-, . , , (transitions), - , .


-, , . , . , .


— , tree-shaking — , . , , .


Vue 3 , API ES . , . tree-shaking , , .


"", . . Vue 3 10 — Vue 2, .



Vue . Vue . Vue , , . , TypeScript, , Vue 2 .


Vue 3 TypeScript, (Class API). , , , , , , , JavaScript. , Class API , , TypeScript.


. React Hooks, API- , , Composition API. , Composition API , (statefull components), , TypeScript.


. Composition API , . Vue 3 , Composition API Options API . , , . , , , Composition API Options API. , .



Vue, , HTML/CSS, , jQuery, , , -, , . : , , ; , , , .


Vue , . Vue « », API, . CDN , HTML Options API, (CLI), Composition API.


Wir haben noch viel zu tun, um unsere Vision zu verwirklichen. Vor allem müssen die unterstützenden Bibliotheken, Dokumentationen und Tools aktualisiert werden, um einen reibungslosen Übergang zur neuen Version zu gewährleisten. Wir werden in den kommenden Monaten hart arbeiten und warten - wir werden nicht abwarten, was die Community mit Vue 3 erstellt.


Bild


All Articles