跳到主要內容

【2020 COSCUP】Vue 作者尤雨溪分享 現場座無虛席

 【2020 COSCUP】Vue 作者尤雨溪分享 現場座無虛席

2020 COSCUP 第二天的重頭戲兼開場為主辦單位邀請到 Vue 作者—尤雨溪與現場會眾分享即將正式上線的 Vue 3 與個人開源心得。現場座無虛席並且與會眾問答的來回問答十分精彩,文中也邀請到台灣最大的 Vue 社群「Vue.js Taiwan 台灣」的 Kuro Hsu 做 Vue 的簡單懶人包。


COSCUP 第二天的開場為主辦單位邀請非常多次重量級來賓 Vue 作者尤雨溪(Evan You),而今年雖因為疫情關係,Evan 無法來到現場,但恰好搭配著 Vue 3 釋出的熱度,一早就湧進大量人潮。


目前 COSCUP 主辦單位已完整的將影片釋出到網路上囉!有興趣的網友們可點網址觀看:https://youtu.be/Z-i7VY-ez2Q

COSCUP 工作人員也邀請到了台灣最大的 Vue 社群「Vue.js Taiwan 台灣」的 Kuro Hsu 為我們摘錄本次演講與 Vue 3 最精華與懶人包的內容(註:演講時間為 2020 年 8 月 2 日,可能與最新版本有不同,以最新釋出的版本消息為主唷!),若想討論 Vue 的技術與內容的話,也可以加入「Vue.js Taiwan 台灣」與他們一起討論喔!(社團連結:https://www.facebook.com/groups/vuejs.tw)


---

小編問題(一):7/18 release Vue 3(註:此為 Release Candidate、或稱 RC 版本,非正式版)和以往最大的改變(三個):


Kuro 回答:


  1. Vue.js 以往版本 (v1、v2) 的核心底層是以 JavaScript 來開發,而型別檢測系統在 Vue 2 以來一直都有,底層是透過 Flow.js 來實作。


尤雨溪在演講中提及,首先是在近年的前端領域裡,使用 TypeScript 來開發的人越來越多, 而這點對 Vue 2.x 來說對 TS 的支援顯然是不足的;再來是 Flow.js 原本是 facebook 團隊開發用來作為檢查工具,並不是新的程式語言或超集語言, 而 Vue 3.0 底層改用 TypeScript 除了同樣能做到原本 Flow.js 的功能,並且在經過編輯器的整合 (如 VSCode) 甚至可以做到程式碼的即時檢查以及自動補完的提示等功能。 另外,TypeScript 團隊也與 Vue 作者有多次的討論與技術的支援,TypeScript 是否是主流相信不是 Vue 最主要考慮的原因, 而是 TypeScript 團隊積極擁抱社群,聽取並採納社群的意見,這才漸漸成為前端主流。


  1. Proxy-based Reactive Link Text


過去 Vue.js 是採用 ES5 的 Object.defineProperty 來作為資料更新檢測的依據,而 Vue 3.0 則以過去為基礎,更進一步改用 ES6 的 Proxy API。 原因是過去使用 Object.defineProperty 需要針對每一個要監測的狀態加上 getter / setter,而 ES6 Proxy 則無須像過去一個一個為每個屬性加上 getter / setter, 而是透過代理的方式,一次就可以直接監聽狀態物件的存取更新,效率比起過去來得更好,代價就是老舊瀏覽器的支援程度較差。 (就是 IE 不支援啦)


  1. Virtual DOM rewrite for better performance


如上題所述,過去由於 Vue.js 的更新檢測是透過 getter / setter 來做到更新的最小化,所以無需透過迴圈式的 dirty-checking 來做到組件的更新, 但是在單個組件內部的 Virtual DOM 仍需遍歷整個 VDOM 的各個節點來進行比對,如果這個組件裡的動態節點並不多,那麼就會造成多餘的檢查以及效能的浪費。


Vue 3.0 對 Virtual DOM 的重構,會將模板切分成一個個的巢狀區塊,每個區塊的節點結構是固定的, 且只需要透過一個陣列來記錄與追蹤其所包含的動態節點部分。 這樣一來, VDOM 的更新效率則與模板最終的大小無關,而是由組件內動態節點的多寡來決定。 簡單來說,只有動態節點的部分才會進行 VDOM 的重新渲染,這樣就可以做到整體效能的大幅提升。


小編問題(二):Vue 3 release 之後與其他相比最大的優勢是?會不會導致更多人使用?


Kuro 回答:


不跟別人比,就拿 Vue 2.x 來說,同樣功能的程式在 Vue 3.0 的執行效能更快、打包後的程式碼更小, 在開發體驗上,由於採用了 TypeScript,即使開發者不用 TypeScript 來進行開發,也同樣能享受 TypeScript 帶來的好處 (型別檢查、程式碼自動補完等)。 同時,因為採用了 Composition API,更可以減少過去 mixins 所造成的資料衝突,狀態來源不明等問題, 更不用說還從 React 陣營借鑒像是 Portals、Suspense 等新功能,都是非常實用的。

就我個人的看法,即使是在 Vue 3 正式推出後,雖然不見得會吸引其他陣營 (如 React、Angular 等) 立刻將手上專案轉過來改寫, 但正在對為新專案挑選框架的開發者來說,是很有吸引力的。


小編問題(三):若要從 Vue 2.0 升級到 3.0 的須知或建議


Kuro 回答:



首先要考慮的是對舊瀏覽器的支援,如果專案需要支援到老舊瀏覽器 (對就是在說 IE),那麼可能就不適合升級到 Vue 3.0,可以等待 Vue 2.7 的推出做為過渡期的轉換。 而若專案使用過多第三方所開發的 Vue 2.x plugins,也要注意那些 plugins 是否在近期內有升級支援 Vue 3.0 的打算,或是尋求替代品。

如果沒有上述問題,那麼建議可以從小型專案或自己的 side project 開始嘗試 Vue 3.0 的升級, 尤其現在 Vue-cli / vite 等工具已經可以支援直接以 3.0 作為新專案的啟動,或是也可以利用 Vue-cli 來做升級,搭配 vue-cli-service lint 工具,都會有新版本相關的建議與提示。 相信這次的 3.0 版本不會讓你失望的。


如果有更多問題想討論,歡迎加入「Vue.js Taiwan 台灣」與一起討論喔!

留言

這個網誌中的熱門文章

COSCUP x UbuCon Asia 2026 加碼徵稿 / COSCUP x UbuCon Asia 2026 - Bonus CfP phase

COSCUP x UbuCon Asia 2026 正規徵稿已於 2026-05-09 截止。 為了提升大會稿件品質,接下來部份議程主題進入加碼徵稿階段。 重要時程 2026-05-10 — 加碼徵稿開始 Bonus CfP Opens 2026-05-23 — 加碼徵稿截止 Bonus CfP Deadline, AoE 2026-06-09 — 錄取/未錄取通知寄送 Notification of Acceptance 2026-08-07 — 前夜派對 Pre-Party 2026-08-08 - 2025-08-09 — COSCUP x UbuCon Asia 2026 大會 加碼徵稿主題將隨時提前喊停,最遲於 05 月 23 日(AoE) 前結束。 此階段徵稿主題可參考下方列表: ⚠️ 重要聲明:COSCUP 議程投稿與大會入場完全免費、免報名即可參加(除有特別說明並公告於 COSCUP Blog )。大會從未授權任何個人或組織代為收費投稿或售票。若有人向您收取費用,皆屬詐騙行為,請提高警覺並聯繫議程組 program@coscup.org 。所有大會工作人員皆為志工。 The regular Call for Proposals (CfP) for COSCUP x UbuCon Asia 2026 officially closed on May 9, 2026. To further improve the quality and diversity of conference sessions, selected topics will now enter the Bonus CfP phase. Important Dates 2026-05-10 — Bonus CfP Opens 2026-05-23 — Bonus CfP Deadline (AoE, Anywhere on Earth) 2026-06-09 — Notification of Acceptance / Rejection 2026-08-07 — Pre-Party 2026-08-08 to 2026-08-09 — COSCUP x UbuCon Asia 2026 Conference ...

COSCUP 2026 Call for Participation, 議程軌與攤位即日起開放申請

Jump to English   COSCUP 2026的社群議程/攤位即日起開始接受申請,社群議程於3月23日截止申請,社群攤位於6月9號截止。請有興趣在今年與我們共襄盛舉的社群把握機會! 👉  申請加入 以下介紹如何在 COSCUP 籌辦議程軌或攤位的流程及注意事項。 ⚠️ 重要聲明:本研討會完全免費、免報名即可參加(除有特別說明並公告於 COSCUP Blog )。不論是「社群議程軌/攤位名額申請」、「講者議程投稿」或「大會入場」皆不收取任何費用。大會從未授權任何個人或組織代為收費投稿、申請或售票。若有人向您收取費用,皆屬詐騙行為,請提高警覺並聯繫議程組 program@coscup.org 。所有大會工作人員皆為志工。 社群議程 大會提供開源專案或社群場地與行政協助,您可以在活動期間舉辦關於任何開源議題的討論、座談、工作坊等。 重要日期 2026-02-23 社群招募表單 Open 2026-03-11 合作社群招募說明會 2026-03-23 社群議程截止申請 2026-03-26 公佈 COSCUP 2026 議程合作社群名單 2026-03-28 聯合徵稿開始 2026-05-09 聯合徵稿截止 2026-06-09 公告並通知錄取及未錄取稿件 2026-06-23 議程表安排 due day 2026-08-08~2026-08-09 COSCUP 2026 參與方式與注意事項 為使合作順利,請詳閱社群合作準則,申請加入即視為貴社群同意相關合作準則。 議程可利用時段 主辦社群可利用之時段預設為一日,約 3-6 小時左右。歷年來 COSCUP 演講教室及時段皆供不應求,因此我們不希望資源浪費。申請此案代表您承諾將充分利用所配發的議程空間。排設議程時,每段議程時間長短、是否有休息時間等,由主辦社群自由決定。主辦社群需在約定時限前完成議程表安排。 如果您沒有信心稿件能填滿全天議程,請與其他社群共同申請,或在申請書上註明希望 COSCUP 協助配對,我們會盡力而為但無法保證。 議程管理系統及共同徵稿流程 大會會建置議程管理系統 (Pretalx),所有議程內容需匯入以出現在大會議程表。 預設會安排各社群共同徵稿,若貴社群有其他安排請務必在申請加入時額外提出。 您需要在申請加入時提供徵稿時所希望收集的資訊(例如希...

Berry AI 透過電腦視覺助速食業數位轉型

  Berry AI (華捷智能) 成立於 2019 年,是一間提供速食業者電腦視覺解決方案的 AI 新創。我們利用深度學習和影像辨識技術,解決速食業多年來無法解決的難題。透過收集與分析大量的數據,我們深耕並幫助速食業改善目前的營運流程、提升消費者體驗。目前已與全球 top-10 業者展開合作,導入數間分店,技術團隊的研發成果將逐步於全球數十萬間的速食店內落地。 Berry AI 技術團隊鼓勵成員探索與應用新的技術。我們延攬人工智慧領域富有盛名的教授做為技術顧問,顧問群累積數十年的人工智慧研究經驗,加強了團隊的研發能量。為促進彼此交流,每週技術團隊會協同顧問舉辦 AI Meeting,分享彼此的進度與研究心得,確保夥伴對於新技術的熟悉度,並一起解決研發挑戰。公司內部亦有多個技術群組,主題包括軟體、系統架構、產品設計、商業等等,讓大家接觸到不同領域的豐富知識。 此外,Berry AI 是 Nvidia Inception Program 的成員,曾獲得台灣商品影像 AI 辨識競賽的首獎以及經濟部 AI+ 新銳選拔賽的肯定。成員們亦積極參與國際學術會議,曾於CVPR、NIPS、ICML、ICCV 等電腦視覺頂級會議上發表論文,與世界分享研究成果。 Berry AI 成員來自海內外頂尖大學及大型科技公司,擁有多年影像辨識以及軟硬體設計整合經驗。同時,我們也得到台灣上市公司飛捷科技的注資與支持,提供我們穩定的資金來源與客戶關係。目前業務與團隊正快速擴張,需要更多認同我們理念與目標的夥伴加入。想加入高速成長的 AI 新創,歡迎與我們聯絡!! https://www.berry-ai.com/careers