聊聊 ruoyi-vue ,ruoyi-vue-plus ,ruoyi-vue-pro 谁才是真正的王者
笔者在知乎、Github 上搜索不少快速开发框架 ,很多的话题都绕不开若依 RuoYi 。
开源世界 RuoYi 单体框架有三个不同的项目,分别是:ruoyi-vue 、ruoyi-vue-plus 、ruoyi-vue-pro 。
这三个项目,笔者把它们的源码基本都过了一次,接下来分享下学习心得。
1 ruoyi-vue

RuoYi 作为国内流行的 Java 快速开发框架,衍生出了多个版本,主要分为 RuoYi(经典单体版)、RuoYi-Vue(前后端分离单体版)、RuoYi-Cloud(微服务版)。
RuoYi-Vue 基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、通知公告、代码生成等。

对于后台管理系统来讲,RuoYi-Vue 实现的功能还是很全的,基本做到了开箱即用。
同时,RuoYi-Vue 的文档非常细致 ,且全部公开。

接下来,我们看下源码:

笔者认为 RuoYi-Vue 的技术栈非常朴实,代码实现很简洁,没有用各种奇技淫巧,对于中小公司来讲,非常利于二次开发。
知乎上的反馈也是不错,很多人不乏溢美之词。
网友 1:
先坚决表明态度,ruoyi牛逼不接受反驳。
所有喷ruoyi垃圾的人,我在这里等着和你们正面对线。
若依用的技术都是行业主流技术,而且代码规范的,框架设计很简洁,没有过度封装的东西,简单易上手。java是所有语言里水最深的,java程序员水平良莠不齐,但是若依这个框架真正做到了适合大众,有能力的开发可以自己往里加东西,框架的简洁不过度封装支持你往里各种塞技术,没能力的就凑合着用基础版,基础的东西都有绝对够用了。并且现在的若依越来越为大众所熟知,生态越来越多样,作者一直开源不管是文档还是源码。请问这么一个框架,难道不能称之为程序员的福音么???
网友 2:
没有若依之前,小型的IT企业、开发团队、个人,想要独立完成一个企业项目,是一个个非常困难的故事。若依的出现,把项目的准入门槛,一下拉低了
很多人力非常有限的小团体,基本上可以站在若依的肩膀上,也能做独立的企业项目。若依帮这些小团队,渡过最艰难的起步期。可以这么说,若依是唯一能帮人搞定事的人。而其他呢,除了能打嘴炮,都是然并卵用的人。
网友 3:
有他之前,企业想开发个后台项目起步打底得 50 万,之后复制粘贴成本递减。若依把这个起步门槛降低到 5000,所以一票小软件开发公司没生意,死了。
2 ruoyi-vue-plus
RuoYi-Vue-Plus 是开源组织 Dromara 旗下一款多租户权限管理系统。

相比 RuoYi-Vue , RuoYi-Vue-Plus 的功能更加完善。

RuoYi-Vue-Plus 增强了多租户、文件存储、短信服务、脱敏、Redis 框架、SSE 等增强功能。

项目的文档也非常全,核心功能基本都有对应的文档。

最后,我们看下项目源码:

相比 ruoyi-vue , RuoYi-Vue-Plus 的模块分布更加清晰了。
- ruoyi-admin :主入口模块,依赖所有功能模块,提供统一启动入口。
- ruoyi-common: 公共依赖库,包含工具类、通用配置、基础实体等,被所有模块依赖。
- ruoyi-modules: 功能模块 , 系统核心、工作流、业务定时任务、代码生成器 。
- ruoyi-extend:扩展模块
笔者觉得 RuoYi-Vue-Plus 项目还是很优秀的,比如前后端加密通讯、文件存储、WebSocket/SSE 推送模块这些都非常有学习价值。
3 ruoyi-vue-pro
ruoyi-vue-pro 也是一款后台快速开发平台,Github 上 star 数非常高。

模块设计角度来看,它还内置了很多的功能,比如商城、ERP 、三方支付、三方登录、AI 大模型等等。

框架本身提供了支持不同的 JDK 和 SpringBoot 的版本。
| 版本 | JDK 8 + Spring Boot 2.7 | JDK 17/21 + Spring Boot 3.2 |
|---|---|---|
| 【完整版】ruoyi-vue-pro | master 分支 | master-jdk17 分支 |
| 【精简版】yudao-boot-mini | master 分支 | master-jdk17 分支 |
前端支持三种技术选型 :
- Vue3 + element-plus
- Vue3 + vben(ant-design-vue)
- Vue2 + element-ui
从整体来看,ruoyi-vue-pro 的作者还是花费了很多心血的。
但笔者在整合中还是遇到了不少问题,核心问题是:内置模块太多。
- 开源项目最好可以精简一些,这样可以简化开发者的接入成本。
- ruoyi-vue-pro 新增了 API 模块 ,该模块是理论上起到了桥接作用。不过在单体应用中,就显得复杂了,会增加开发者心智负担。
ruoyi-vue-pro 设计里有不少亮点,比如分布式锁、Redisson 接入、限流等等。
笔者新增了 Token 模块、Id 生成器两个模块,精简部分模块:

系统界面:

4 总结
| 评估维度 | RuoYi-Vue | RuoYi-Vue-Plus | RuoYi-Vue-Pro |
|---|---|---|---|
| 核心优势 | 极简开箱即用 | 多租户/功能增强 | 全生态功能预制 |
| 二次开发 | (源码简洁) | ☆(需理解模块化) | (需深度裁剪) |
| 成本效益 | 人力/时间成本最低 | 中等投入高回报 | (中等偏上)需评估功能利用率 |
RuoYi-Vue 的架构和分层非常适合新手入门,文档详细,社区活跃,最重要的是作者在持续维护。
因此,它是笔者心中快速开发平台的王者。

聊聊 ruoyi-vue ,ruoyi-vue-plus ,ruoyi-vue-pro 谁才是真正的王者的更多相关文章
- 实例PK(Vue服务端渲染 VS Vue浏览器端渲染)
Vue 2.0 开始支持服务端渲染的功能,所以本文章也是基于vue 2.0以上版本.网上对于服务端渲染的资料还是比较少,最经典的莫过于Vue作者尤雨溪大神的 vue-hacker-news.本人在公司 ...
- Vue服务端渲染和Vue浏览器端渲染的性能对比
Vue 2.0 开始支持服务端渲染的功能,所以本文章也是基于vue 2.0以上版本.网上对于服务端渲染的资料还是比较少,最经典的莫过于Vue作者尤雨溪大神的 vue-hacker-news.本人在公司 ...
- Vue学习记录第一篇——Vue入门基础
前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...
- 【Vue笔记】-- 详解vue生命周期
针对于Vue的生命周期进行详细的说明,方面加深对各个方法的引用. 引言: 前几天重新回顾vue官网时,看到vue的生命周期,想着自己用vue开发了快一年了,就总结总结vue知识,再次加深自己对vue的 ...
- Vue项目中使用基于Vue.js的移动组件库cube-ui
cube-ui 是滴滴公司的技术团队基于 Vue.js 实现的精致移动端组件库.很赞,基本场景是够用了,感谢开源!感谢默默奉献的你们. 刚爬完坑,就来总结啦!!希望对需要的朋友有小小的帮助. (一)创 ...
- vue学习目录 vue初识 this指向问题 vue组件传值 过滤器 钩子函数 路由 全家桶 脚手架 vuecli element-ui axios bus
vue学习目录 vue学习目录 Vue学习一之vue初识 Vue学习二之vue结合项目简单使用.this指向问题 Vue学习三之vue组件 Vue学习四之过滤器.钩子函数.路由.全家桶等 Vue学习之 ...
- Vue系列之 => webpack结合vue使用
安装 npm i vue -S , 在html页面中放一个容器绑定到el上. 修改webpack.config.js , 在与entry , output节点平级加上 resolve 节点. res ...
- 从零开始学 Web 之 Vue.js(六)Vue的组件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- Vue基础01vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令
自学vue框架,每天记录重要的知识点,与大家分享!有不足之处,希望大家指正. 本篇将讲述:vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令 前期学习基础,使用vue. ...
- [vue三部曲]第一部:vue脚手架的搭建和目录资源介绍,超详细!
第一步 node环境安装 1.1 如果本机没有安装node运行环境,请下载node 安装包进行安装1.2 如果本机已经安装node的运行换,请更新至最新的node 版本下载地址:https://nod ...
随机推荐
- 百万架构师第四十一课:RabbitMq:可靠性投递和实践经验|JavaGuide
来源:https://javaguide.net RabbitMQ 2-可靠性投递与生产实践 可靠性投递 首先需要明确,效率与可靠性是无法兼得的,如果要保证每一个环节都成功,势必会对消息的收发效率 ...
- [WC2006] 水管局长 题解
最大值最小的路径肯定在最小生成树上,考虑用 \(LCT\) 维护最小生成树,只需要维护长度最长的边即可实现.由于 \(LCT\) 维护最小生成树不支持删边,所以采用倒序加边的方式处理. 时间复杂度 \ ...
- 使用idea合并 dev分支合并到test分支
这里展示将dev分支合并到test分支首先切换到test分支 按下图所示操作
- 启动U盘制作-小白保姆式超详细刷机教程
疑难解答加微信机器人,给它发:进群,会拉你进入八米交流群 机器人微信号:bamibot 简洁版教程访问:https://bbs.8miyun.cn 一.准备工作 需要用到的工具: 1.一台Window ...
- MySQL - [17] Oracle、SQLServer、MySQL数据类型对比
题记部分 一.数据类型对比 对应关系 (1)整数类型 Oracle的NUMBER(*,0) 对应 SQL Server的INT 和 MySQL的INT Oracle的BIGINT 可能需要映射到SQL ...
- 设计原则&模式:原型模式 Prototype(创建型)
定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.也就是说,这种不通过new关键字来产生一个对象,而是通过对象复制(Java中的clone或反序列化)来实现的模式,就叫做原型模式. ...
- 【MATLAB习题】四杆机构的运动学参数求解
1.问题描述 2. 推导过程 3. matlab代码 最新版代码 直接采用求微分的方式得到角度,角速度等数值解,速度慢,但是代码少,容易看懂(矩阵看起来真难受). 以前做的一个博客文章用的是矩阵运算求 ...
- WSL2 - Ubuntu 22.04使用记录
1 安装 搭配Windows Terminal使用为佳,在微软商店可下载: 然后依照官网描述即可. 命令行中运行wsl --install即可.不过由于想自行指定发行版,于是: wsl --list ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(6)
1.问题描述: 使用华为内置的MapComponent, 发现显示不出来.查看日志, MapRender底层有报错. 解决方案: 麻烦按以下步骤检查下地图服务,特别是签名证书指纹那部分. 1.一般没有 ...
- AR 智能生态鱼缸组态远控平台 | 图扑软件
在工业 4.0 和物联网技术的推动下,万物互联正重塑行业管理模式.组态远控系统作为高效管控的核心,打破了设备孤立状态,实现数据实时交互.以智能生态鱼缸为例,图扑软件低代码数字孪生平台通过集成前沿技术, ...