聊聊 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 的架构和分层非常适合新手入门,文档详细,社区活跃,最重要的是作者在持续维护。

因此,它是笔者心中快速开发平台的王者。