
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.
