跳到主要內容

【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 Lightning Talks - 2026 ⚡️

COSCUP 2026 閃電秀 / Lightning talks Photo by COSCUP 2025 紀錄組 閃電秀是一個由多場超短時的議程發表構成的一個表演性質居多的活動,通常會被放在獨佔時段,所有會眾都會聚集到這個會議廳觀賞這齣表演,稱之為閃電秀 (Lightning Talks)。 今年的閃電秀將於 2026 Aug 09 週日的下午 16:15 - 17:00 在 RB105 議程軌開講。 本次閃電秀的參加規則如下: 每個講題 3 分鐘,時間一到就會立刻切掉您的畫面,並邀請觀眾拍手掌聲鼓勵。 歡迎將您想曝光的 Projects、Idea 或小議題在這裡跟大家分享! 應遵守 COSCUP 的 CoC 規則 的原則之下進行發表演說,主持人有權基於本規則的判斷將不適合的發表暫停,並向大家說明理由。 需要再時限內完成報名 敬請自備筆電(和 HDMI 轉接器)上台 需要提早一場議程 (在結束前) 到 Main Hall (RB105) 報到 沒有限制發表語言,但建議可以使用英文或中文,大部分的現場觀眾能夠識別這兩種語言 *所有時區皆為 UTC+8 Lightning Talks is an event featuring multiple short speeches or presentations, typically held within an exclusive time slot. All attendees gather in the main hall to watch the show. This year, the Lightning talks is on Aug 09th from 16:15 - 17:00 (UCT+8) at Room RB105! Each talk is limited to 3 minutes. Once the time is up, your screen will be cut off immediately, and the audience will be invited to applaud and show encouragement. You're welcome to share any projects, ideas, or small topics you...

將 Vision AI 部署到全美上千家得來速:Berry AI 的大規模落地挑戰

將 Vision AI 部署到全美上千家得來速:Berry AI 的大規模落地挑戰 在美國開車經過得來速,多數人不會注意窗口旁那台計時器。但對店家而言,那串數字幾乎等同營收:服務速度決定一條車道每小時能服務的車輛數,車流一旦回堵,顧客就會流失。 Berry AI(華捷智能)以 Vision AI 量測得來速各環節的耗時、定位流程瓶頸,再將數據轉化為店長可即時使用的判斷依據:哪個環節最慢、人力該如何調配。 這件事乍看只是個計時器。但一個能做出 demo 的模型,和一個讓上千家門市每天賴以決策的系統,中間隔著四道關卡。 挑戰一:未曾見的場景,也必須維持準確率 攝影機的架設高度、角度、車道幾何,每家門市都不同,光線與天氣也持續變化。在單一門市的高準確率,不代表在其餘的數百家門市同樣成立。逐店手動調參不可規模化,因此重點落在資料品質與評估方法。如何對未見過的場景維持穩定泛化,是我們投入最深、也仍在持續解決的問題。 挑戰二:在運算資源有限的邊緣裝置上做即時推理 在雲端能運行,與在算力與功耗受限的邊緣裝置上即時完成推論,是截然不同的工程。模型量化與壓縮、吞吐與延遲的取捨、影像串流的接取與解碼、程序記憶體的配置與壓縮,每一項優化都至關重要。 挑戰三:把上百萬筆事件,變成可靠的每日報表 破千家門市每天產生上百萬筆事件,記錄每一台車的進場、排隊、取餐、離場。要將它們即時轉化為上千份準確的報表,需處理高吞吐的事件接取、亂序與遲到事件的補正,以及可重現、跨店一致的彙整邏輯。 挑戰四:上千套 AI 系統,要每天都準確運作、穩定運行 上千台物聯網電腦與攝影機遍佈全美各地。硬體故障、網路中斷、攝影機失焦或視角偏移都會發生,要在規模下維持準確率與妥善率,可觀測性至關重要:逐店、逐裝置追蹤系統健康狀態,主動偵測並自動處置異常,是需要長期投入的系統工程。 關於我們 Berry AI 於 2019 年自上市公司飛捷科技獨立,兼具新創的敏捷,以及母公司在硬體與資金上的支持。2022 年在美國啟動試營運,2025 年簽訂炸雞連鎖 Zaxby's 的全品牌導入合約(近千家門市),2026 年 5 月再宣布與破千間門市的 Culver's 全品牌合作。目前 Berry AI 是全美 QSR 產業部署最廣的 Vision AI 系統,導入速度仍在加快,2025 年營收首度突破億元、年增近兩倍...

【攤位大地遊戲(開源巔峰挑戰賽)】Booth Reward Activity! 2026

/English Below/ 來啊,造訪攤位掃 QRCode,集點數換 2026 年限定贈品啊! 一年只有這一檔,錯過要再等一年! 在找工作嗎?想認識不同的社群嗎?想獲得 COSCUP 2026 專屬的限量贈品嗎? 利用空餘時間去各個攤位聊聊天、看一看,就可以參與大地遊戲拿獎品喲! 大地遊戲怎麼玩:​​ (歡迎順路參與 COSCUP x UbuCon Asia 預先登記,推倒售票亭啟動 ),至活動現場出示報名 QR code 即可登錄兌換紀念品點數,並下載與登入 OPass App 。 前往 TR 309、312、409-1 逛各攤位。 在攤位前打開 OPass 的「我的票卷」,秀出 OPass QRcode 讓攤位人員掃描取得點數。 到 TR 413-1 與 TR 413-2 教室外的走廊「紀念品攤位」兌換贈品,數量有限! 造訪每個攤位掃描後,可獲得數點,今年有 40 攤。 造訪每個議程教室掃描後,可獲得數點,今年有 25 間議程教室。 擔任講者,可享福利數點(請以收到的登入連結進入,每名講者限領取乙次)。 今年的紀念品除了可以現金購買,也可以用點數兌換呦! ≡≡≡≡ 集點方法 ≡≡≡≡ 上方每ㄧ個方框,都是ㄧ個攤位或者ㄧ個小任務,每當你造訪完成任務後,即可打開「我的票券」中顯示你的 QRcode 給關主獲取點數,您可以在上方看到您的戰果點數。當您心滿意足準備離開大會會場前,記得到下述地方將您的點數兌換成滿滿的回憶! ≡≡≡ 點數兌換處 ≡≡≡ 【TR 413-1 與 TR 413-2 教室外走廊:紀念品攤位】 1 點即是 1 元,您可以在大會攤位上購置各種精美紀念品,包含運動涼感毛巾與伸縮扣證件套! ≡≡≡ 點數兌換規則 ≡≡≡ 您可以於【紀念品攤位】旁的點數兌換區把點數...