VueConf China 2021 《Vue3生態進展-尤雨溪》 Reaction

大家好,我是若川。今天分享昨天Vueconf的一篇文章,來了解下Vue的生態進展。

另外今晚7點,Vuebeijing社區邀請了尤大會在視頻號直播,可以加我微信 ruochuan12,告訴觀看地址提前預約。
點擊下方卡片關注我、加個星標,或者查看源碼等系列文章。學習源碼整體架構系列、年度總結、JS基礎系列


文章盡可能的以圖文形式還原尤大的直播內容(為了你有更好的觀看體驗,歐巴添加了一些相關鏈接)。還沒觀看的同學可以和大家一起來一波圖文 Reaction,看過的同學也可以再梳理一遍重點內容,廢話少說,讓我們開始吧!

一些數據

上面的數據是截止到今年 4 月份的,與去年同期相比,增長很可觀,整個的前端開發市場還在不斷擴大。

2020.09.18 發布 Vue 3.0 One Piece

  • Vue 3.0[1]

Vue3 發布后官方并沒有強推所有的用戶都升級 Vue3,因為生態需要時間,生態里的工具、周邊以及庫都需要時間去兼容,Vue3 的一些新用法也需要時間去沉淀。

發布后主要在忙什么?

Vue Router 4.0 已穩定

  • github.com/posva[2]

Vuex 4.0 已穩定

  • github.com/kiaking[3]

(這位新加入的老哥,講道理,豹紋有點帥。)

Vue Router 和 Vuex 早已經是 Vue 框架的一部分,它們的穩定是非常重要的。

Vue 3 生態逐步趕上

社區生態庫也在逐步趕上。

  • Quasar[4]

  • Element Plus[5]

  • And Design Vue[6]

  • Vuetify[7]

  • Nuxt 3[8]

開發體驗改進

構建工具 Vite

  • Vite 官方中文文檔[9]

該知道的都知道了,不知道的慢慢了解。-- 姜云升

vue-cli 和 Vite 的主要區別在于:vue-cli 基于 webpack 二次開發,vue-cli 涵蓋的范疇比較廣,維護成本非常高。一些常見的配置變得復雜化了。

Vite 會繼承 vue-cli 的優點,選擇更簡潔的路線,插件機制基于 Rollup 的 API,非常簡潔直觀。比起 Webpack,Rollup 的插件會好寫很多,更加容易理解。

Vite 插件還可以支持定制開發服務器、middleware 以及對熱更新的行為做細致的調整。

Vite or vue-cli ?

現有項目如果與 Webpack 強依賴,可能也沒有辦法簡單的遷移過來。

VitePress 基于 Vue3 + Vite 的靜態站生成器

可以理解為把 Vue2 換成了 Vue3,把 Webpack 換成了 Vite,就得到了 VitePress。

上面的第三點,React 的 MDX 也有同樣的問題,不過 VitePress 把它解決了。

更多單文件組件編譯階段的優化

  • New script setup (without ref sugar) [10]

只要你的 script 標簽帶了 setup 屬性,那么你聲明的變量就可以直接在模板里使用。

而且,setup 可以幫助我們簡潔很多代碼,提升編碼體驗。

比如我們有 Comp.vue 和 App.vue 兩個組件。

在 setup 下,App 引入 Comp 組件后可以直接使用,無需注冊。

對比一下:

<style> 動態變量注入

  • SFC style CSS variable injection (new edition)[11]

點擊 make it green 按鈕后:

原理也很簡單,使用原生 CSS 變量,將動態內容進行綁定,剩下就全部交給瀏覽器去做,所以運行時開銷非常小。是個性價比很高的特性。

Vue Devtools beta channel(6.0)

不用在 Vue Devtools 兩個版本之間來回切換了,新的 Vue Devtools 同時支持 Vue2/3。

這張圖是開發時的截圖,有些模糊,不過沒關系。大致我們可以從圖中看出:

性能調試面板可以幫我們找出哪個組件渲染特別慢,還有鼠標事件、鍵盤事件、組件事件、組件重渲染等。

最關鍵的是這個 Timeline 支持第三方插件對其進行擴展。

更好的 IDE/TS 支持

Volar[12] 是未來官方主推的 VS Code 插件,將會替代 Vetur(歷史包袱)。

如上圖,Volar 提供了幾乎和 TSX 一樣的開發體驗,可以進行模板類型檢查。

IDE 支持計劃

未來會將 Vetur 的一些重要的功能以及一些新的探索整合到 Volar 上。

同時 Volar 的作者還開發了 vue-tsc,在 CI 上支持可以同時檢查 TS 文件以及 Vue 文件里的 TS 類型錯誤,內部的實現適合 Volar 一樣的。

當然,也會和其他的編輯器進行官方合作,提供支持。

不再支持 IE11

微軟剛剛發布聲明,IE11 將在 2022 年 6 月 retire,可見其推動 IE 用戶改用 Edge 的決心。

  • Proposal for dropping ie11 support in Vue 3[13]

  • Drop IE11 support plan for Vue 3[14]

Vue3 + Vite = Modern by Default

Vue3 migration build

近期另一個重大發布,整體的內容比較大,預計在 3.1 發布。

Vue3 升級版:底子里是 Vue3,上層兼容 Vue2 的行為。大部分的功能都可以完全支持。

可以選擇將整個應用可以跑在 Vue2 模式下,再將某幾個單獨的組件跑在 Vue3 模式下。

也可以反過來,整個應用跑在 Vue3 模式下,再將幾個舊的 Vue2 組件移植過來,再慢慢的更改成 Vue3 的模式。

盡可能的給大家提供了兼容的靈活性。

目前文檔在vue-compat[15]倉庫里。public API 會盡可能的兼容,但是一些私有 API 確實沒有辦法完全兼容。文檔中有詳細的支持列表。

并提供了詳盡的 step by step 的流程vue-hackernews-2.0[16]

3.2

因為上面的兼容版移到了 3.1,所以原有的 3.1 內容將會移到 3.2,不過預計也會很快發布,具體的細節會在發布時披露。

絕對需要 IE11 支持的話 請等待 2.7

預計在 Q3 2021 去做。

希望在 Q3 Vue2.7 發布之后,整個的 Vue2 到 Vue3 的升級過程會變得更加順滑。可以先基于 Vite 切換到 Vue2.7,Compsition API 會直接內置,再切換到 Vue3 會更加簡單。

Vue3 成為默認版本 by end of Q2 2021

將會在 2021 年 6 月底,將 npm 默認安裝指向 Vue3,文檔也會默認指向 Vue3 的文檔,希望新的用戶會以 Vue3 作為基準。

外鏈無法點開,可以點擊閱讀文章查看

最近組建了一個江西人的前端交流群,如果你也是江西人可以加我微信 ruochuan12 拉你進群。


·················?若川出品?·················

今日話題

上次尤大在視頻號直播有很多人表示錯過了,這次我也幫Vuebeijing社區宣傳下,避免小伙伴想看直播的錯過。尤大今晚7點在#視頻號:Vuebeijing 直播,也可以加我微信 ruochuan12,加群交流學習。歡迎在下方留言~? 歡迎分享、收藏、點贊、在看我的公眾號文章~

一個愿景是幫助5年內前端人走向前列的公眾號

可加我個人微信?ruochuan12,長期交流學習

推薦閱讀

我在阿里招前端,我該怎么幫你?(現在還能加我進模擬面試群)

若川知乎問答:2年前端經驗,做的項目沒什么技術含量,怎么辦?

點擊方卡片關注我、加個星標,或者查看源碼等系列文章。
學習源碼整體架構系列、年度總結、JS基礎系列

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275853.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275853.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275853.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Plsql運行mysql腳本_oracle中PLSQL語句

1.set autot off 禁止使用autotrace命令 set autot on 這個命令包括exp 和 stat(執行語句、生成explain plan、生成統計信息) set autot trace 不執行sql語句&#xff0c;但(生成explain plan、生成統計信息) set autot trace exp stat 與上句同 set autot trace st1.set autot…

2019年,你需要關注這些Node API和Web框架

對于Node.js框架和開源軟件來說&#xff0c;2018年是非常有趣的一年。開發者社區討論了企業贊助對開源項目的作用以及如何維護那些沒有經濟支持卻有數百萬人使用的項目。同樣&#xff0c;安全問題也得到了極大關注&#xff0c;一些流行的Node/JS軟件包被劫持&#xff0c;Github…

ai創造了哪些職業_關于創造職業的思考

ai創造了哪些職業When I was growing up, the idea of a creative career wasn’t an option.當我長大時&#xff0c;創意事業的想法不是一個選擇。 I had enjoyed doodling, arts and crafts as a kid, so as I grew up, it was a natural transition into Photoshop and lat…

Windows Mobile,用C#更改網絡連接(SSID、IP Address、Subnet Mask、Gatew... (轉)

前幾天在做一個改變PDA無線網絡連接的SSID和IP的功能是發現了一個好東西OpenNETCF Framework使用OpenNETCF.Net包&#xff0c;實現了任意改變PDA無線網絡連接的功能。并且不需要Reset PDA。現在正在做一個IP Manager For Windows Mobile的小程序。實現搜索當前網卡可見的SSID、…

一文讀懂vuex4源碼,原來provide/inject就是妙用了原型鏈?

1. 前言你好&#xff0c;我是若川&#xff0c;歡迎加我微信ruochuan12&#xff0c;加群長期交流學習。這是學習源碼整體架構系列 之 vuex4 源碼&#xff08;第十篇&#xff09;。學習源碼整體架構系列文章(有哪些必看的JS庫)&#xff1a;jQuery、underscore、lodash、sentry、v…

Spring4.3x教程之一IOCDI

SpringIOC也稱為DI&#xff0c;對屬性內容的注入可以通過屬性的setXXX方法進行也可以通過構造方法進行&#xff0c;當然還可以使用工廠模式進行屬性內容的注入。 什么是DI&#xff1f;什么是IOC&#xff1f; DI&#xff1a;Dependency Injection依賴注入 其實一個類中的屬性就是…

戰神4 幕后花絮 概念藝術_幕后花絮:品牌更新的背后

戰神4 幕后花絮 概念藝術Under the Hood gives you an inside look at different parts of Waze — straight from the people working on them every day.在引擎蓋下&#xff0c;您可以深入了解Waze的不同部分-直接來自每天進行工作的人員。 Traffic is the worst. It makes …

C#日期控件(js版)

js 腳本代碼: <script type"text/javascript"> //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // 這是一個日歷 Javascript 頁…

python第三周測試_python第三周小測

1.讀取一個文件&#xff0c;顯示除了井號(#)開頭的行意外的所有行# -*- coding: utf-8 -*-"""Created on Tue May 28 09:37:08 2019author: Omega_Sendoh"""#打開文件f open("install-sh","r")#讀取文件的所有行&#xff0…

「Vueconf」探索 Vue3 中 的 JSX

大家好&#xff0c;我是若川。今天再分享 Vueconf 的一篇文章。另外 Vueconf 主辦方提供的錄播鏈接是&#xff1a;?https://www.bilibili.com/read/mobile?id11408693&#xff0c;感興趣可以復制觀看。點擊下方卡片關注我、加個星標。學習源碼整體架構系列、年度總結、JS基礎…

設計模式--享元模式實現C++

/********************************* *設計模式--享元模式實現 *C語言 *Author&#xff1a;WangYong *Blog:http://www.cnblogs.com/newwy ********************************/ #include <iostream> #include <cassert> #include <vector> #include <strin…

安卓加載asset中的json文件_Android解析Asset目錄下的json文件

在app module中的src/main/assets目錄下我們準備了兩個json文件&#xff1a;destination.json如下&#xff1a;{"main/tabs/sofa": {"isFragment": true,"asStarter": false,"needLogin": false,"pageUrl": "main/tabs…

一文搞懂 Promise、Genarator、 Async 三者的區別和聯系

非985/211大學畢業&#xff0c;軟件工程專業&#xff0c;前端&#xff0c;坐標&#xff1a;北京工作三年多&#xff0c;第一家人數 30 多人的創業公司&#xff0c;1 年多。第二家屬于前端技術不錯的公司&#xff0c;2 年多。01我是一個喜歡在技術領域“折騰”的人&#xff0c;技…

閉包,sync使用細節

代碼 先看代碼如下&#xff1a; func main() {var a []intfor i : 0; i < 100; i {go func() {a append(a, i)}()}time.Sleep(2 * time.Second)fmt.Println(a) } 這段測試代碼是想要一個元素為0到100的切片&#xff0c;但是這一小段代碼隱藏了很多的問題。 閉包函數 先看這…

dynamic 儀表板_儀表板完成百萬美元交易

dynamic 儀表板問題 (The Problem) Anybody dealing with tech products and data-focused services runs into the same fundamental problem: what you do is technical but non-technical people control the budget. In other words:任何處理高科技產品和以數據為中心的服務…

checkStyle -- 代碼風格一致

download page: http://sourceforge.net/project/showfiles.php?group_id80344&package_id107587 轉載于:https://www.cnblogs.com/xuqiang/archive/2010/10/26/1953431.html

在線VS Code閱讀源碼神器 github1s

大家好&#xff0c;我是若川。github1s大部分人知道了&#xff0c;但還是有一部分不知道。我在掘金發過沸點和知乎發過想法還是有挺多人不知道&#xff0c;所以再發公眾號推薦下。點擊下方卡片關注我、加個星標。學習源碼整體架構系列、年度總結、JS基礎系列近日&#xff0c;一…

lenze變頻器怎么更改地址_英威騰變頻器GD300維修

英威騰變頻器GD300維修英威騰變頻器GD300維修41. 問題&#xff1a;變頻器跟PLC采用485通訊不上答&#xff1a;1.檢查變頻器的通訊地址是否正確&#xff0c;如果采用通訊啟動&#xff0c;檢查P0.01是否為1&#xff0c;如果通過通訊設定頻率&#xff0c;檢查P0.068&#xff0c;P0…

代碼設計的基礎原則_設計原則:良好設計的基礎

代碼設計的基礎原則As designers, it’s our goal to pass information in the most pleasing way possible. Starting out, there’s a wealth of literature to read and videos to watch that can get quite overwhelming to take in at a glance. People take different ro…

SQL根據細粒度為天的查詢

當我們集成了一些前端框架&#xff0c;在某些展示頁面上往往具有某些查詢條件。而這其中日期查詢的處理又較為麻煩&#xff0c;此處&#xff0c;我羅列了一種當前臺上傳了一種默認的date格式的日期查詢數據至后臺未經Controller或Service層處理直接在SQL中處理的一種方式——即…