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

别问我!没结果,除非花手摇过我。

我不是一个专业前端哈,只能说一点点不成熟的个人建议哈,说错了的话大家多担待。

Vue3能用到生产环境了嘛?

文中的观点都是我这个菜鸡的个人观点,不代表任何官方或者权威观点。

Vue3能否用到生产环境?答案是肯定能,而且一定能。

但是,你如果问,是不是所有项目都要升级到Vue3,这个就有待商榷了。

目前,我自己也写了几个项目,也放在生产环境运行了。不过,不是公司的主要项目。因为我也还在学习和踩坑中。

一个Vue3的商城实战项目 newbee-mall-vue3-app

开源地址如下:

https://github.com/newbee-ltd/newbee-mall-vue3-app

https://gitee.com/newbee-ltd/newbee-mall-vue3-app

一个Vue3+Element Plus的后台管理系统项目 vue3-admin

开源地址如下:

https://github.com/newbee-ltd/vue3-admin

https://gitee.com/newbee-ltd/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能不能用到生产环境?的更多相关文章

  1. Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持

    Jexus 是一款运行于 Linux 平台,以支持  ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大 ...

  2. 结合Jexus + Kestrel 部署 asp.net core 生产环境

    ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖. 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: ...

  3. MySQL 系列(四)主从复制、备份恢复方案生产环境实战

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  4. (转) 将ASP.NET Core应用程序部署至生产环境中(CentOS7)

    原文链接: http://www.cnblogs.com/ants/p/5732337.html 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Cor ...

  5. CentOs7 +Jexus 5.8.2部署Asp.Net Core WebApi 1.0生产环境

    Jexus 是一款运行于 Linux 平台,以支持  ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大 ...

  6. .NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点

    2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上 ...

  7. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  8. 生产环境常见的HTTP状态码列表

    生产环境常见的HTTP状态码列表(List of HTTP status codes)为: 200 - OK,服务器成功返回网页     - Standard response for success ...

  9. CentOS(5.8/6.7)linux生产环境若干优化实战

    CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行.在此讲解几点关于Linux系统安装后的基础优化操作.注意:本次优化都是基于CentOS(5.8/6.7). 下 ...

随机推荐

  1. Python基础之:Python中的异常和错误

    目录 简介 Python中的内置异常类 语法错误 异常 异常处理 抛出异常 异常链 自定义异常 finally 简介 和其他的语言一样,Python中也有异常和错误.在 Python 中,所有异常都是 ...

  2. cookie跨域那些事儿

    一个请求从发出到返回,需要浏览器和服务端的协调配合.浏览器要把自己的请求参数带给服务端,服务端校验参数之后,除了返回数据,也可能会顺便把请求是否缓存,cookie等信息告诉浏览器.当请求是跨域请求的时 ...

  3. Android Studio 之 ImageView 学习笔记

    •参考资料 [1]:菜鸟教程 [2]:bilibili视频教程 •src和blackground的区别 background通常指的都是背景,而src指的是内容 当使用 src 填入图片时,是按照图片 ...

  4. 以聊天的形式解决traefik2.1.X的一个问题

    海口-老男人 17:24:48 大哥,这个是啥报错呀 海口-老男人 17:27:04 E0413 09:23:13.134144 1 reflector.go:153] pkg/mod/k8s.io/ ...

  5. ffmpeg第五篇:让水印图片旋转起来

    这篇把上次挖的坑填上 ffmpeg正式篇的上一篇(传送门)说了,这一篇要让水印旋转起来,但是后面有事情一直没有时间搞,今天,它来了............ 如果想实现旋转的功能,需要使用ffmpeg过 ...

  6. JavaWeb 补充(Json)

    HTML DOM alert() 方法 定义和用法 alert() 方法用于显示带有一条指定消息和一个 OK 按钮的警告框. 参数 描述 message 要在 window 上弹出的对话框中显示的纯文 ...

  7. Day10_48_Map集合中的常用方法

    Map集合中的常用方法 * 常用方法 - 注意 Map集合中的key是无序不可重复的set集合,如果添加数据时,key值重复了,后面添加的重复数据也是可以添加成功的,但是会覆盖前面相同的数据. 1. ...

  8. Pytest系列(30)- 使用 pytest-xdist 分布式插件,如何保证 scope=session 的 fixture 在多进程运行情况下仍然能只运行一次

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 背景 使用 pytest-xdis ...

  9. 1148 Werewolf - Simple Version

    Werewolf(狼人杀) is a game in which the players are partitioned into two parties: the werewolves and th ...

  10. 858. Mirror Reflection

    There is a special square room with mirrors on each of the four walls.  Except for the southwest cor ...