VUE 3.0 学习探索入门系列 - 纠结要不要升级到Vue3.0?该如何升级?(5)

闲聊两句

从 Vue 3.0 有消息到如今也已经有1年多时间了,2019年 Evan You 在每次会议上确定会提 Vue 3.0 的进展和一些特性,固然你们也是怀着我的崇拜,满怀期待的等着尤大的大做!javascript

可是,随着等了一年多了还没正式发布,一直到如今 2020.3.21,我慢慢的感受没啥期待了,也开始慢慢的倦怠了,热情感受也没那么强烈了。前端

我只因此写这个 VUE 3.0 学习探索入门系列,目的也就是但愿我在我还有这么一点点兴趣的时候,试图去快速的、全面的了解 Vue 3.x,带着个人兴趣去窥探它。要否则等我彻底没兴趣的时候,Vue3.x 再出来,我可能就只是在用到的时候,被动的去学习它、使用它,它就纯粹只是个人工具而已了。vue

好了,言归正传。经过持续对 Vue3.x 的关注,以及近段时间的深刻研究,今天就来跟你们分享下,在我看来:你们有没有必要升级到 Vue3.0?若是要升级,该如何升级?java

Vue2.x 不必升级!Vue3.x 有必要用!

首先我来解释下,为何我我的以为没 Vue2.x 必要升级!jquery

就目前我对 Vue3.x 的了解来看,只有 两个明显特性 对我有吸引力,可是这2个特性解决的问题目前也不是很致命,以致于让我对本身革命!webpack

  1. 对 TypeScript 的友好支持。在当前 Vue2.x 中,那些喜欢 Ts 的人,也基本习惯了当前的语法 示例,虽然要额外引入一些包,加一些装饰器,但也基本能用
  2. 新增 Composition API。新的 API 兼容 Vue2.x,只须要在项目中,单独引入 @vue/composition-api 这个包就能够,就可以解决咱们目前 Vue2.x 中存在的一些极个别难题 什么难题?看这里

同时,若是我直接升级到 Vue3.x,我要作的事情会更多,比起我面临的问题,可能带来的问题更多,何须呢?web

  1. 当前项目生态中的几个库都面临巨大升级,以及升级后的诸多坑要填,好比:vue-routervuexElementUI/ViewUI/AntDesignVue 等。这些生态在 2.x 上都已经很成熟,可是在 3.x 上还有不少长路要走,不少坑要踩。
  2. Vue3.x 没有了默认对象 export default,当前项目中全部直接使用 Vue.xxx 的语法所有得重写,有些都已经沉淀到公司底层库中了,这刀子动起来风险可不小。
  3. 目前对一个横向小组来讲,大大小小维护几十个项目,全面改一次,测试一次,这周期也很长,还不包括所有门、全公司的集体升级!
  4. 测试团队须要全面自检和升级,自动化脚本可能须要从新调整,你怎么说服他们支持你?
  5. 发布平台的脚本,包括 CI/CD 等可能面临全面更新,以及也可能面临新老流程兼容的问题解决。

再来聊下为啥我以为 Vue3.x 有必要用!spring

  1. 兼容 Vue2.x 95% 以上特性,因此其优势所有获得继承,好比:上手快、门槛低。
  2. 对 Ts 支持更加友好,更加迎合了行业趋势、技术潮流
  3. Composition API 的添加,势必会让一部分 React 用户转投过来(我的观点,边走边看吧),之后群体会更大,生态更丰富
  4. 到目前为止不用再担忧它仍是一个我的项目,若是我是 Evan You,哪天真的无法经过 Vue 维持生计了,我会跟 Google 或者 Microsoft 去聊聊收购的事情(这么大的市场蛋糕,我不信没人要),对于用户来讲影响不大

因此整理下个人结论vue-router

  1. 若是是新团队、新项目,当 Vue3.x 正式 Release 后,生态跟上来了(半年时间),能够直接上(不要怕学习 Ts)
  2. 成熟团队,前端基础架构也成熟,不要忙着升级,等 Vue3.x 正式 Release 半年后,能够先尝试使用 Vue2.x + @vue/composition-api 过渡,不建议断崖式升级
  3. 不建议框架从 Vue2.x 直接升级 Vue3.x,而是新起炉灶直接使用 Vue3.x 打造新的项目工程模板

最后说下咱们团队的计划安排vuex

初步的思路,但愿给大伙一点思路:

  1. 半年内,按兵不动,继续 Vue2.x,同时等待 @vue/composition-api 发布 v3.2.0 版本以上
  2. 项目基础模板框架升级,基于:Vue2.x + @vue/composition-api,支持 Vue3.x 的新语法,同时制定严格的 Composition API 使用规范
  3. 一年后,基于 Vue3.x 搭建新的基础框架(全面Ts)!不会基于老的框架升级!同时制定详细的 Vue3.x 模板开发规范
  4. 今后之后,老的项目依然使用 Vue2.x+ @vue/composition-api 维护直至退役,或者彻底被新的 Vue3.x 框架替代成全新的工程

每次技术变革对本身也都是革命

如下是我历史上的几回技术变革(java 到 javascript):

  1. servlet -> spring -> spring mvc
  2. jsp --> jquery + bootstrap
  3. jquery --> avalon(require.js + gulp)
  4. avalon --> vue2.x(webpack)
  5. vue2.x -->

至今还记得 jQuery 的口号:write less,do more,很情怀!因而又打开 很久没去的 jQuery 官网,嗯,还在!

Vue3.x 与我无关者

我这里是说的有这么一群人,他们在心底会说:

Vue2.x 用的好好的,我干吗要本身没事找事,学习Vue3?花那么多心思升级 Vue3?

这种态度表明了这么一群人:

  • 不思进取,不求上进,很看重加班
  • 工做只是生活所迫,并无追求
  • 不多参与技术分享,也不多总结写博客
  • 拿来主义者,Ctrl+C/V 忠实执行者

我想说的是对于新技术或者新事物,咱们须要保持敏感。他的出现必定是有他的道理,他之因此存在必定有他的价值。

咱们确定不能盲目追随,可是咱们也不能自我封闭。因此,对于 Vue3.x 或者其余新的技术,我更但愿你们多了解一下,而后再作选择。

可是有一个千古不变的道理:不思进取,不进则退,在这些年体现的更明显。

好比:

  • 前4年,你告诉我不会用 jQuery,我会跟你说,实在抱歉...
  • 前2年,你告诉我只会用 jQuery,我会跟你说,实在抱歉...
  • 如今,你告诉我会用 Vue,我会问题:了解 Vue3 吗?没了解,实在抱歉...
  • 明年,你告诉我只用过 Vue2.x,我会跟你说,实在抱歉...

最后,若是朋友们喜欢就点个赞👍,我会继续写下去。

(全文完)

相关文章
相关标签/搜索