成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vue 3是一個錯誤,我們不應該再犯

開發 前端
聽起來很刺激,對嗎?嗯,事實遠非如此。從那時起,就發生了很多延遲和降級的情況。盡管Vue 3最近成為了新的默認版本,但很多重要的支持庫還沒有準備好,甚至沒有計劃與兩個版本兼容。這說明很多代碼庫還停留在Vue 2上,遷移到版本3的路徑并不容易。

文本是翻譯的,作者Fotis Adamakis, 他是  Vue.js雅典會議的共同組織者,文中的第一人稱指的是該大佬。

從最初引入Vue 3開始,已經過去了4年多。經過多次RFC的討論,以及其他現代框架(包括React和Svelte)的影響,Vue 可能已經成為最強大和最全面的框架,能夠逐步支持任何規模和架構的應用。

聽起來很刺激,對嗎?嗯,事實遠非如此。從那時起,就發生了很多延遲和降級的情況。盡管Vue 3最近成為了新的默認版本,但很多重要的支持庫還沒有準備好,甚至沒有計劃與兩個版本兼容。這說明很多代碼庫還停留在Vue 2上,遷移到版本3的路徑并不容易。

請不要誤解我,Vue 3非常棒。它可能是目前最好的框架了。但事實上,從第二版開始沒有簡單的遷移路徑,這是一個錯誤,我們不應該在未來重復。

Vue 2的問題

Vue一直被認為是一個進步的框架。選項API很容易理解,我們可以學習并在需要時引入更復雜的模式和庫。小的學習曲線和良好的文檔是大家喜歡它的原因。

另一方面,在將通用邏輯抽象為mixin時,使用繼承而不是組合的體系結構缺陷造成了許多可伸縮性問題,并破壞了干凈組件聲明的許多原則。Vue3 引入組合API 作為一種解決方案。

另一個重要的問題是對typecript的支持。當然,在Vue組件中編寫typescript就像在script標簽中添加type="ts"一樣容易。但在模板和 store 里,支持是有問題的。

vue3 解決方案

完全重寫是一個改善框架內部結構的機會。Vue3 廣泛地使用了Typescript,包括響應性機制在內的許多方面都從頭開始。這使得Vue 3在數據包大小、初始渲染、更新和內存使用方面的性能得到了明顯的改善。

此外,還增加了很多新的功能。

  • Composition API
  • 語法糖<script setup>
  • Fragments
  • Emits Component Option
  • 來自@vue/runtime-core的createRenderer API可以創建自定義渲染器
  • style 里面可以綁定變量
  • SFC的<style scoped>現在可以包括全局規則或只針對插槽內容的規則
  • Suspense

新功能改善了整體的開發體驗,歡迎很多開發都的追捧。爭論的焦點是,其中大部分功能,包括組合API、teleport、 suspense 等,在Vue 2中已經都能用了,所以它們不能真正算作框架的改進。

真正的問題

破壞的性變化,有很多。其中一些很簡單,比如Events API。Vue實例不能再用作事件總線,但有即插即用的解決方案,如 mitt 或 tiny-emitter,可以用作直接替代。這需要有一定工作時間,但可以及時完成,沒有太多風險。

另一方面,有些變化不能安全地進行,也不能不進行小規模或大規模的重構。在一個用Vue 2構建的現有大型應用中,你可能會使用一些被廢棄或改變的API。

遷移構建應該是兩個版本之間的橋梁,但由于有這么多被廢棄的功能,它對大型項目并不適用。此外,官方對一些基本的支持庫的建議是遷移到另一個不同的庫,這進一步增加了復雜性。由于有這么多的移動組件,即使遷移構建成功,也需要大量的工作,這對大項目來需要有更多的時間用來解決技術債務。

圖片

不需要的東西

Vue始終是一個有意義的框架。你可以試著猜測一個API應該如何工作,你很可能是對的。Vue 3不再是這種情況。

一個例子是關于新的基于函數的Vue組件編寫方式的意見征集,有大量的回應,包括正面和負面的。不管你在這場爭論中的立場如何,將社區分成兩半絕不是一個好兆頭。

文檔

在開發過程中,特別是在一個新的框架中,谷歌和StackOverflow是你最好的朋友。目前,Vue 2的答案占據了壓倒性的優勢,但在Vue 3中,很多API實現的原理都不一樣了,因此可能會造成一定的混亂。

生態

一個框架有多強大,它的生態系統就有多強大。有爭議的決定和不負責任的廢棄功能驅使許多貢獻者離開,導致許多庫被放棄。但是,當你沒有給開源庫一個可行的方法來支持兩個版本的時候,就指責他們沒跟上你的版本時,這表明你缺乏同情心和對大局的理解。

一個框架的真正力量來自于它周圍的社區和生態系統。

過去

如果你有幸在2015年前后寫代碼,你有可能會使用當時最主流的框架AngularJS。

轉到 Vue 3的看起來很像從 AngularJS 到 Angular(版本1?2)的過渡。大量的破壞性的變化導致了挫敗感,最終Angular失去了對React和Vue的吸引力。

如果你是一個全棧工程師,你可能熟悉大約10年前在Python生態系統中發生的同樣情況。在大約十年的時間里,許多項目無法升級,因為許多核心庫沒有增加對Python 3的支持,而出現的新庫只支持Python 3。當然,后來的Python版本開始只在版本3上添加新的和閃亮的功能,這種混亂的情況還沒有真正結束。

未來--這種情況會再次發生嗎?

看起來前進的方向是向后退,把所有的東西都移植到遷移構建中,但是損害已經造成了,開發滿意度看起來并不樂觀,不能忽視。有遠見地讓框架參與進來是合理的,但開發經驗是框架的核心職責之一。Vue 4應該考慮到整個生態系統,并提供一個遷移路徑,否則它將成為沒有人愿意使用的最佳框架。

到目前為止,你對Vue 3的遷移有什么經驗?請在評論中分享你的想法和建議。

作者:Chris 譯者:小智  來源:medium 原文:https://fadamais.medium.com/vue-3-was-a-mitake-that-we-should-not-repeat-81cc65484954

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2017-11-09 06:42:09

物聯網eMTCNB-IoT

2020-05-06 15:15:33

Python開發工具

2019-09-02 09:30:40

2009-01-03 15:07:38

ibmdwAIX

2013-05-29 10:10:05

醫療搜索互聯網大數據

2020-06-05 14:09:42

Kubernetes容器應用程序

2019-04-04 14:33:19

云計算云端企業

2022-07-03 08:14:30

VS Code主題

2023-03-24 12:52:22

2023-09-11 12:54:33

2020-06-21 21:25:14

物聯網WiFiIOT

2020-06-17 10:35:16

機器學習AI人工智能

2015-10-21 16:11:49

理念實踐運維

2020-06-09 09:19:14

數據庫

2016-10-12 16:34:37

Linux操作系統

2022-03-09 08:14:24

CSS容器container

2010-07-05 14:47:26

Gartner社交網絡

2022-07-28 13:11:45

箭頭函數前端代碼

2018-11-20 14:03:17

數據科學數據分析數據科學家

2020-02-10 10:51:51

云計算人工智AI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91综合网 | 黄色小视频大全 | 影音先锋男 | 九九热这里 | 国产精品精品视频一区二区三区 | 国产成人免费视频网站高清观看视频 | 亚洲国产成人精品久久 | 亚洲精品成人 | 天天看逼 | 一区二区三区欧美 | 九九热精品视频在线观看 | 国产精品高潮呻吟久久av野狼 | 亚洲国产精品一区二区三区 | 天天看天天操 | 国产不卡一区 | 久久狠狠 | 999久久久| 久久免费电影 | 欧美日韩久久久 | 色在线视频网站 | 亚洲一区免费视频 | 国产一区二区三区四区在线观看 | 久久久成人免费视频 | 国产亚洲精品久久久久动 | 91在线免费视频 | 精品av | 久久精品国产一区二区电影 | 国产乱码精品1区2区3区 | 国产欧美精品一区 | 中文在线观看视频 | 中日韩av | 国产精品中文字幕在线 | av黄在线观看 | 欧美日韩中文字幕在线 | 国产成人一区二区三区久久久 | 午夜一区 | 国产精品美女久久久久久免费 | 国产一区二区三区四区在线观看 | 国产成人jvid在线播放 | 成人在线不卡 | 狠狠爱一区二区三区 |