Vue3 was a mistake that we sho

lxf2023-03-18 17:28:01

就在那前几天,一篇抵制Vue2升级Vue3的帖子在vue官方网小区导致了强烈反响。(原文链接:Vue 3 was a mistake that we should not repeat)

本文从实践应用角度考虑,阐述了Vue2Vue3在真实工程中实际操作提升的困扰,提出了一个抵制的声响:Vue3升级是一个错误的决定

在一片强烈反响中,乃至尤大都出来亲身表述并承认一些问题。文中列出了一些原文中提到的见解及其尤大的回应。希望能对各位读者在具体新项目更新时,提供更加具体全方位的参考。

序言

创作者最先申明了他没有抵毁Vue3的意味。在他看来Vue3是很很棒的架构,克服了Vue2里很多潜在性难题,技术方面来优化了开发者的研发感受,并显著提升了特性。创作者最主要的难题,是以Vue3开创性的变化及其附近生态链未及时紧跟的视角,关键阐述了转移更新成本费 风险性比较大。

有关更新费用问题:尤大也承认Vue3更新感受并不是那么那样顺畅,Vue4会总结经验,搞好稳定迭代更新。这一点文中会到下边详细描述。

下面,我们针对原文中提到的见解逐一例举讲解。

ps: 为了防止文字翻译差别难题,全部创作者尤大的立场全是另附英语原文。

一、破坏性的api变动(Breaking changes)

  • Events API的停止使用让这种情况第一个。(straightforward like the depreciation of the Events API)。Vue案例再也不会做为事件总线做事情通讯,$on,$off,$once的完全清除代表着以前全部相关编码都必须要再次打倒重新写过,尽管有非常好的软件专用工具让这件事情越来越没那么复杂,但是依然会引发很大的转移成本费。
  • 编码搭建难题。 你能经常碰到用Vue2书写写出的编码在搭建(build) 不成功或抛出去警示。所以这些api书写在Vue3中早已被废旧。这问题在已经存有的大中型项目中的尤为明显(In an existing large-scale application built with Vue 2, you would probably use some of the deprecated or changed APIs)。下面的图展现了一部分Breaking changes,能够看见破坏性的api变动数确实有很多:

Vue3 was a mistake that we sho

二、刷新式的设计方式(composition-api)

刷新式composition-api渐渐地向面对函数公式思想转变,导致一些原来习惯options-api的开发人员抵触Vue已经像react看齐,并没有坚持住Vue特点。它明确提出了一种新的根据函数的 Vue 部件撰写方法,导致了Vue社区很多的分歧和瓦解,甚至把小区隔开为这两种见解势力争锋相对,进而导致了Vue 最黑暗的一天事情。也很令人沮丧。

(the Request for Comment for the new function-based way of writing Vue components which had an overwhelming amount of responses, both positive and negative.No matter where you stand in this argument splitting the community in half is never a good sign and led to Vue’s Darkest Day and a lot of people getting discouraged over this.)

三、生态体系(The ecosystem)

框架的真真正正能量来源于社区街道它四周的生态体系。(The true power of a framework comes from the community and the ecosystem around it.)

生态体系和结构自身一样重要。如果没有责任机制,在有争议确定与在停止使用作用时,许多架构周围的生态系统的很多推动者会迫不得已离去,进而造成很多库被舍弃或是延迟时间升级。有些时候,大家没办法做版本号适配时,我们常常只有把责任归因于,开源库欠缺换位思考与对大局意识的认知。 (Controversial decisions and no accountability while deprecating features drove many contributors away and resulted in many libraries being abandoned. But blaming open source libraries for delays when you don't give them a feasible way to support both versions shows a lack of empathy and lack of understanding of the bigger picture)

四、文本文档系统软件(Documentation)

在大家的日常设计中,尤其是在应用架构时,大家会碰到这样那样的问题,这时候我们经常必须google或是问答社区做为助手,不过目前有关Vue检索出来的结果几乎全是Vue2得到的结果,这也很难不让人伤心。

(During development, especially with a new framework, Google and StackOverflow are your best friends. Currently, Vue 2 answers are dominating the results which might cause confusion and frustration since many things don’t work the same in Vue 3.)

五、往日实例(The past)

Vue2到Vue3升级,有一点像angular1到angular2升级

转换到 Vue 3 看起来很像从AngularJS转换到Angular版本号 1⇒ 2)。大量延迟时间和重大变更造成了失落感,最后 Angular 失去对 React 和 Vue 的影响力。

(The transition to Vue 3 looks a lot like the transition fromAngularJStoAngular(Version 1⇒ 2). A lot of delays and breaking changes led to frustration and eventually Angular lost traction to React and Vue.)

五、结果(Apinion)

  1. 看上去前进的路其实就是后退。(It looks like the way forward is going backwards)
  2. 开发设计满意率看上去并不好。(development satisfaction is not looking good) Vue3 was a mistake that we sho

图中能够看见Vue早已是被svelte超越的发展趋势。

  1. Vue4需要考虑到整个生态体系同时提供转移途径,不然它将成为没人愿意应用的绝佳架构。(Vue 4 should take into account the whole ecosystem and provide a migration path or it will be the best framework that no one will want to use.)

六、尤大的回应:

1.有关破坏性的api:

这根本并不是真的。

在我们开展版本号转换时,全部关键库和专用工具都和这两个版本适配(或者是为 Vue 2/3 适用给予独立的版本号)。

事实上阻拦更新的依赖性全是第三方,通常是 NuxtVuetify

2.刷新式的设计方式:

具体用过 Composition API < script setup> 的消费者在真的是开发设计里的意见反馈十分积极主动,证实这是一个有意义的填补,现在他们中的许多人更倾向于它而非 Options API。

我们当然可以更好的解决新 API 的引进,但仅仅是因为存在争议,并不等于它是不正确的或是不必要。事实上,引进大一点的、一个新的想法的人个人行为,必定会让这些喜爱待在舒适圈得人感到焦虑,但如果我们顺从这样的心态,就从来不会获得真真正正的进展。

3.有关附近生态和文本文档系统软件:

尽管我们的确造就了 Vue CLI、Vuex、Vetur 和 VuePress 的替代物,但是它们自身都是有适用 Vue 3 版本。这也是夸大其词客观事实,蔑视精英团队为给予这些工具的 Vue 3 适配版本号所做的努力。

4.有关和angular的过去比照:

  • 没法比,不要拿Vue升级angularjs -> angular作比较。
  • Angular 和 AngularJS 是基本不一样的框架。基本没有分享联系,除开彻底重新写过以外没有直接的转移途径。
  • 另一方面,有很多生产制造 Vue 2 应用软件取得成功转移到 Vue 3 的案例。很简单吗,确实不是,可是他们都转移通过了。

5.有关更新难题:

大家允许,Vue3更新感受并不是那么那样顺畅。Vue 将伴随着汲取积累的经验飞速发展,大家绝对不会准备在接下来的Vue4中,开展这种毁灭性重要更新。

(We appreciate constructive feedback and agree that the Vue 3 upgrade experience isn't as smooth as it could be. Vue will keep evolving with the lessons learned, and we definitely do not plan to have disruptive major upgrades like this in the future.)

6.有关本文结果:

我认为,本文总体上勾勒的场景比具体要黑喑(dark)的多,有不必要浮夸,在少数前提下是绝对不恰当信息内容。希望至少可以改正我还在别的评论里谈到的一些事实错误。

七、汇总探讨:

以上便是创作者提出的问题以及尤大的回应,应该能为大家正在努力更新的小伙伴们一点真实参考信息。

假如本文能为您带来一点点的参照或是协助得话,不便挪动下鼠标点个❤️赞❤️吧!你的关注点赞能给小编产生升级更新的不断驱动力!

我正参加AdminJS技术社区原创者签订方案征募主题活动,点链接报考文章投稿。