最近,有不少朋友问我:“十三,看你写了几个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. springboot源码解析-管中窥豹系列之BeanPostProcessor(十二)

    一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot ...

  2. 【linux】驱动-4-LED芯片手册分析

    目录 前言 4. LED芯片手册分析 4.1 内存管理单元MMU 4.1.1 MMU的功能 4.1.2 TLB的作用 4.2 地址转换函数 4.2.1 ioremap函数 4.2.2 iounmap函 ...

  3. Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(二)

    在上一篇博文中,主要是讲了InfluxDB的配置,博文链接:https://www.cnblogs.com/hong-fithing/p/14453695.html,今天来分享下Jmeter的配置. ...

  4. day-04-列表

    列表的初识 容器型数据类型,可以承载大量的数据,有序的数据 why:int bool str:'123 True 太白' str: 存储少量的数据. str:切片还是对其进行任何操作,获取的内容全都是 ...

  5. Leedcode算法专题训练(动态规划)

    递归和动态规划都是将原问题拆成多个子问题然后求解,他们之间最本质的区别是,动态规划保存了子问题的解,避免重复计算. 斐波那契数列 1. 爬楼梯 70. Climbing Stairs (Easy) L ...

  6. BBR拥塞算法的简单解释

    TCP BBR的ACM论文中,开篇就引入了图1,以此来说明BBR算法的切入点: 为何当前基于丢包探测的TCP拥塞控制算法还有优化空间? BBR算法的优化极限在哪儿? 图1 为了理解这张图花了我整整一个 ...

  7. MySQL提升笔记(4)InnoDB存储结构

    这一节本来计划开始索引的学习,但是在InnoDB存储引擎的索引里,存在一些数据存储结构的概念,这一节先了解一下InnodDB的逻辑存储结构,为索引的学习打好基础. 从InnoDB存储引擎的存储结构看, ...

  8. 【笔记】《Redis设计与实现》chapter13 客户端

    服务器为每个客户端建立相应的redis.h/redisClient结构,这个结构保存了客户端当前的状态信息 客户端的套接字描述符 客户端的名字 客户端的标志值 只想客户端正在使用的数据库的指针,以及该 ...

  9. 会议更流畅,表情更生动!视频生成编码 VS 国际最新 VVC 标准

    阿里云视频云的标准与实现团队与香港城市大学联合开发了基于 AI 生成的人脸视频压缩体系,相比于 VVC 标准,两者质量相当时可以取得 40%-65% 的码率节省,旨在用最前沿的技术,普惠视频通话.视频 ...

  10. springdata jpa之ddl-auto配置的属性

    在jpa中ddl-auto一共有四种: 分别为: ddl-auto:create ----每次运行该程序,没有表格会新建表格,表内有数据会清空:ddl-auto:create-drop ----每次程 ...