更快、更小、好調試、對原生的支持、易維護typescript
高層api變更
- 原生的支持class組件
- typescript編寫,typescript的支持,可選是否使用
- 函數式組件將支持純函數的書寫形式
- render的變更
代碼架構
- 拆分多個單獨的包:清晰易維護的的架構,對複雜性進行隔離
監測機制
- 基於proxy的observer的實現:
- 對屬性添加、刪除的動做的監測
- 對數組基於下標的修改,對length修改的監測
- 支持Map/weakMap/Set/WeakSet
- 新observer支持:
- 公開用於建立observer的api,用於小型、中型應用的,輕量級、簡單的跨組件狀態管理
- 默認爲惰性監測,減小監測的性能消耗
- 不可變監測對象
- 更良好的調試:renderTrakced和renderTriggered鉤子,能夠精確的追蹤到一個組件發生從新渲染的觸發時機和完成時機
其餘運行時提高
- 更小巧:
- 設計之初就考慮到tree-shaking的支持,部分組件和api按需導入
- 更快:
- 虛擬Dom的掛在和patching
- 組件實例化速度
- Fragments/Portal
- 加強的slot機制
- 支持自定義渲染器render:使weex等保持與Vue的同步更加容易
編譯器相關的提高