Vue3能不能用到生产环境?
最近,有不少朋友问我:“十三,看你写了几个Vue3的项目,你觉得Vue3能用到生产环境了吗?”结合自己的想法和尤大直播说的话,给一点建议。
别问我!没结果,除非花手摇过我。

我不是一个专业前端哈,只能说一点点不成熟的个人建议哈,说错了的话大家多担待。
Vue3能用到生产环境了嘛?
文中的观点都是我这个菜鸡的个人观点,不代表任何官方或者权威观点。

Vue3能否用到生产环境?答案是肯定能,而且一定能。
但是,你如果问,是不是所有项目都要升级到Vue3,这个就有待商榷了。
目前,我自己也写了几个项目,也放在生产环境运行了。不过,不是公司的主要项目。因为我也还在学习和踩坑中。
一个Vue3的商城实战项目 newbee-mall-vue3-app:

开源地址如下:
一个Vue3+Element Plus的后台管理系统项目 vue3-admin:

开源地址如下:
从开发到部署,也都非常顺利,运行了一段时间,也比较稳。Vue3 的方法抽离,对代码可复用性有很大的帮助,其它优点也很多,用起来还是很顺滑的。
鞋合不合适只有脚知道
不同公司、不同团队、不同的开发人员,还是要根据自身情况去定的。最简单的一点呢,就是前端团队评估之后觉得能上生产了,就上生产。可以尝试上线几个项目,体验一下整体的上线流程,踩一踩坑,而不是听到有人建议你去用Vue3,你就真去Vue3上生产了。
所以,一定要结合开发团队的实际情况、项目的实际情况去评估,这里是说开发人员的技术问题。还有,就是用Vue3去重构之前的项目,多多少少也要花些时间,时间成本也要考虑进去。现在很多的开发团队,都存在工期倒排的问题,本来时间就不多,本来就没有时间,还要再去花时间学习和踩坑,这是妥妥的在折腾自己、折腾团队,所以,要慎重。
Vue3上生产其实并没有什么困难。但是生态确实还在逐步完善,有些插件还不能兼容,如果重构过程中发现这个组件要重新找,那个模块要重新开发。得,毁灭吧。
大多问题都可以解决,毕竟Vue3是向下兼容的,不过,也要考虑自己的精力够不够,团队的开发资源充不充足。
一旦涉及到企业生产项目,必须要考虑的两点:开发时间和开发资源。都充足了,那就去放开了去做,遇山劈山,遇水搭桥。如果资源不那么充足,那就慢慢来。
不是说Vue3不够优秀或者说不能上生产,而是开发者们的开发习惯和意愿,还有就是团队的开发资源是否充足,以及项目的稳定性,不可能直接说上就上。

Vue3普及肯定还需要一段时间
从Vue3能不能用到生产环境,我们再引申一点:
Vue3普及肯定还需要多长时间?
具体的时间我估算不出来,我也不是预言家,但是大家应该普遍都觉得还需要一段时间。
对于已经上线的项目嘛,肯定是以稳定为主,而且Vue2性能也不错,这部分项目可能不会立刻就要升级到Vue3,官方也提到了会开发一个 Vue 3 的专用迁移版本,如下图所示:

另外,Vue3正式版本还没发布一年,他还是个孩子啊!
再打一个不恰当的比喻,Java8 是 2014 年发布的,今年已经是 2021 年,Java 的版本号已经来到了Java16。然而,大部分人还是选择用 Java8 作为主要的开发语言,那这个“大部分”是多少呢?
2020年底公布的数字是75%,如下图所示:

我知道,Java版本与Vue2、Vue3两个版本之间并不能直接类比。这里我只是拿 Java8 的例子强调一下,“稳定和够用”,其实在企业项目开发中,也是很深入人心的两点。
所以,真正说普及开来,也需要一段时间。
相对于后端来说,前端的小伙伴们,从来都是喜新厌旧,毕竟可选择的东西太多太多了,而且近几年前端圈的知识迭代太快了。可能Vue3真正的普及并不会花太久,但是这个过程也是需要循序渐进、慢慢过渡的。
尤雨溪的观点
对于Vue2是否需要升级到Vue3这个问题,之前尤大也在一次直播中说过,以下直接用他的原话:
升级是需要考虑成本的。
Vue2 用着也挺好的,如果升级的成本太高,也没必要升级。如果你的项目很稳定,而且没有对新功能的强烈需求,能悠着点就悠着点。

因此,Vue3能不能上生产环境?
能!
怎么上?
结合升级成本,悠着点儿。
总结
所以,让子弹飞一会儿吧。

我们一起见证Vue3的生态越来越好。
如果可以的话,大家也可以尽自己的一份力,参与到Vue3的生态完善中去。
除注明转载/出处外,皆为作者原创,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
Vue3能不能用到生产环境?的更多相关文章
- Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持
Jexus 是一款运行于 Linux 平台,以支持 ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大 ...
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖. 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: ...
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- (转) 将ASP.NET Core应用程序部署至生产环境中(CentOS7)
原文链接: http://www.cnblogs.com/ants/p/5732337.html 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Cor ...
- CentOs7 +Jexus 5.8.2部署Asp.Net Core WebApi 1.0生产环境
Jexus 是一款运行于 Linux 平台,以支持 ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大 ...
- .NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点
2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上 ...
- linux iptables常用命令之配置生产环境iptables及优化
在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...
- 生产环境常见的HTTP状态码列表
生产环境常见的HTTP状态码列表(List of HTTP status codes)为: 200 - OK,服务器成功返回网页 - Standard response for success ...
- CentOS(5.8/6.7)linux生产环境若干优化实战
CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行.在此讲解几点关于Linux系统安装后的基础优化操作.注意:本次优化都是基于CentOS(5.8/6.7). 下 ...
随机推荐
- 攻防世界 reverse 进阶 APK-逆向2
APK-逆向2 Hack-you-2014 (看名以为是安卓逆向呢0.0,搞错了吧) 程序是.net写的,直接祭出神器dnSpy 1 using System; 2 using System.Diag ...
- OpenCV图像处理中的“机器学习"技术的使用
注意,本文中所指"机器学习"(ML)技术,特指SVM.随机森林等"传统"技术. 一.应用场景 相比较当下发展迅速的各路"端到端" ...
- vmstat-观察进程上线文切换
vmstat 是一款指定采样周期和次数的功能性监测工具,我们可以看到,它不仅可以统计内存的使用情况,还可以观测到 CPU 的使用率.swap 的使用情况.但 vmstat 一般很少用来查看内存的使用情 ...
- 经典变长指令ModR/M
变长指令 不是所有的指令都是,看到opcode就知道有多长(定长指令),当指令中出现内存操作对象的时候,就需要在操作码后面附加一个字节来进行补充说明,这个字节被称为ModR/M. 该字节的8个位被分成 ...
- 一文搞懂MySQL体系架构!!
写在前面 很多小伙伴工作很长时间了,对于MySQL的掌握程度却仅仅停留在表面的CRUD,对于MySQL深层次的原理和技术知识了解的少之又少,随着工作年限的不断增长,职场竞争力却是不断降低的.很多时候, ...
- 【剑指offer】10:矩形覆盖
题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 解题思路: ①方法一 对于这种题没有思路怎么办?可以先从最 ...
- python导入数据的几种方法
以下是在我学习过程中常用的两种导入数据的方式 方法一: c = open('ML2017Data/testTarget.csv',"r") file = csv.reader(c) ...
- [C++]变量声明与定义的规则
声明与定义分离 Tips:变量能且仅能被定义一次,但是可以被多次声明. 为了支持分离式编译,C++将定义和声明区分开.其中声明规定了变量的类型和名字,定义除此功能外还会申请存储空间并可能为变量赋一个初 ...
- 浙大MOOC《数据结构》随笔
第一讲 基本概念 1.1 什么是数据结构 图书摆放问题: 新书如何插入? 先定类别,再二分查找 怎么找到指定某本书? 二分查找 写程序实现一个函数PrintN 循环实现 void PrintN(int ...
- 工作区和GOPATH
工作区和GOPATH 1.特性: 1.1.5版本的自举(即用 Go 语言编写程序来实现 Go 语言自身) 2.1.7版本的垃圾回收器 2.GOROOT.GOPATH 和 GOBIN GOROOT:Go ...