VUE 3.0 学习探索入门系列 - 纠结要不要升级到Vue3.0?该如何升级?(5)
2020/3/22 11:01:19
本文主要是介绍VUE 3.0 学习探索入门系列 - 纠结要不要升级到Vue3.0?该如何升级?(5),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
闲聊两句
从 Vue 3.0 有消息到现在也已经有1年多时间了,2019年 Evan You 在每次会议上肯定会提 Vue 3.0 的进展和一些特性,当然大家也是怀着个人崇拜,满怀期待的等着尤大的大作!
但是,随着等了一年多了还没正式发布,一直到现在 2020.3.21
,我慢慢的感觉没啥期待了,也开始慢慢的倦怠了,热情感觉也没那么强烈了。
我只所以写这个 VUE 3.0 学习探索入门系列
,目的也就是希望我在我还有这么一点点兴趣的时候,试图去快速的、全面的了解 Vue 3.x
,带着我的兴趣去窥探它。要不然等我完全没兴趣的时候,Vue3.x 再出来,我可能就只是在用到的时候,被动的去学习它、使用它,它就纯粹只是我的工具而已了。
好了,言归正传。通过持续对 Vue3.x 的关注,以及近段时间的深入研究,今天就来跟大家分享下,在我看来:大家有没有必要升级到 Vue3.0?如果要升级,该如何升级?
Vue2.x 没必要升级!Vue3.x 有必要用!
首先我来解释下,为什么我个人觉得没 Vue2.x 必要升级!
就目前我对 Vue3.x
的了解来看,只有 两个明显特性
对我有吸引力,但是这2个特性解决的问题目前也不是很致命,以至于让我对自己革命!
对 TypeScript 的友好支持
。在当前Vue2.x
中,那些喜欢 Ts 的人,也基本习惯了当前的语法 示例,虽然要额外引入一些包,加一些装饰器,但也基本能用- 新增
Composition API
。新的 API 兼容Vue2.x
,只需要在项目中,单独引入@vue/composition-api
这个包就可以,就能够解决我们目前Vue2.x
中存在的一些极个别难题 什么难题?看这里
同时,如果我直接升级到 Vue3.x
,我要做的事情会更多,比起我面临的问题,可能带来的问题更多,何必呢?
- 当前项目生态中的几个库都面临巨大升级,以及升级后的诸多坑要填,比如:
vue-router
、vuex
、ElementUI/ViewUI/AntDesignVue
等。这些生态在 2.x 上都已经很成熟,但是在 3.x 上还有很多长路要走,很多坑要踩。 Vue3.x
没有了默认对象export default
,当前项目中所有直接使用Vue.xxx
的语法全部得重写,有些都已经沉淀到公司底层库中了,这刀子动起来风险可不小。- 目前对一个横向小组来说,大大小小维护几十个项目,全面改一次,测试一次,这周期也很长,还不包括全部门、全公司的集体升级!
- 测试团队需要全面自检和升级,自动化脚本可能需要重新调整,你怎么说服他们支持你?
- 发布平台的脚本,包括 CI/CD 等可能面临全面更新,以及也可能面临新老流程兼容的问题解决。
再来聊下为啥我觉得 Vue3.x 有必要用!
- 兼容
Vue2.x
95% 以上特性,所以其优点全部得到继承,比如:上手快、门槛低。 - 对 Ts 支持更加友好,更加迎合了行业趋势、技术潮流
- Composition API 的添加,势必会让一部分 React 用户转投过来(个人观点,边走边看吧),以后群体会更大,生态更丰富
- 到目前为止不用再担心它还是一个个人项目,如果我是 Evan You,哪天真的没法通过 Vue 维持生计了,我会跟 Google 或者 Microsoft 去聊聊收购的事情(这么大的市场蛋糕,我不信没人要),对于用户来说影响不大
所以整理下我的结论
- 如果是新团队、新项目,当
Vue3.x
正式 Release 后,生态跟上来了(半年时间),可以直接上(不要怕学习 Ts) - 成熟团队,前端基础架构也成熟,不要忙着升级,等
Vue3.x
正式 Release 半年后,可以先尝试使用Vue2.x + @vue/composition-api
过渡,不建议断崖式升级 - 不建议框架从
Vue2.x
直接升级Vue3.x
,而是新起炉灶直接使用Vue3.x
打造新的项目工程模板
最后说下我们团队的计划安排
初步的思路,希望给大伙一点思路:
- 半年内,按兵不动,继续
Vue2.x
,同时等待@vue/composition-api
发布v3.2.0
版本以上 - 项目基础模板框架升级,基于:
Vue2.x
+@vue/composition-api
,支持Vue3.x
的新语法,同时制定严格的Composition API
使用规范 - 一年后,基于
Vue3.x
搭建新的基础框架(全面Ts)!不会基于老的框架升级!同时制定详细的Vue3.x
模板开发规范 - 从此以后,老的项目依然使用
Vue2.x
+@vue/composition-api
维护直至退役,或者完全被新的Vue3.x
框架替代成全新的工程
每次技术变革对自己也都是革命
以下是我历史上的几次技术变革(java 到 javascript):
- servlet -> spring -> spring mvc
- jsp --> jquery + bootstrap
- jquery --> avalon(require.js + gulp)
- avalon --> vue2.x(webpack)
- 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,我会跟你说,实在抱歉...
最后,如果朋友们喜欢就点个赞👍,我会继续写下去。
(全文完)
这篇关于VUE 3.0 学习探索入门系列 - 纠结要不要升级到Vue3.0?该如何升级?(5)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04package.json 文件位置在哪?-icode9专业技术文章分享
- 2024-10-01Craco.js学习:从入门到实践指南
- 2024-10-01Create-React-App学习:入门与实践指南
- 2024-10-01CSS-in-JS学习:从入门到实践指南
- 2024-09-30JSX语法学习:从入门到初步掌握
- 2024-09-30Mock.js学习:入门教程与实战演练
- 2024-09-30React Hooks学习:从入门到实践
- 2024-09-30受控组件学习:React中的基础入门教程
- 2024-09-29JS定时器教程:初学者必看指南
- 2024-09-29JS对象教程:初学者的全面指南