1.什么是若依(ruoyi)
RuoYi 是一款基于 Spring Boot 和 MyBatis 的国产开源快速开发框架,集成了权限管理(Shiro)、代码生成器、多模块设计和主流技术栈(如Vue、Redis),专为企业级后台管理系统打造,以 “简单易用、高效开发” 为核心,支持前后端分离和单体架构,适合快速构建OA、CRM等系统,国内开发者社区活跃,文档齐全,是中小型项目的热门选择。

2.核心架构
技术栈 | 说明 |
---|---|
后端 | Spring Boot + MyBatis + Shiro(权限) + Redis(缓存) + Quartz(定时任务) |
前端 | Vue 2.x / Thymeleaf(多版本支持) |
数据库 | MySQL(默认)、Oracle、SQL Server 等兼容 |
工具链 | Maven/Gradle + Lombok + Swagger(API 文档) |
3.核心功能
- 权限管理
- 基于 Apache Shiro 实现细粒度权限控制(菜单、按钮、API 权限)。
- 支持 角色分配、数据权限过滤(如部门数据隔离)。
- 代码生成器
- 自动生成 Entity、Mapper、Service、Controller、Vue 页面 代码,减少重复劳动。
- 支持单表、树表、主子表等多种业务场景。
- 模块化设计
- 核心模块解耦(如
ruoyi-admin
、ruoyi-system
、ruoyi-quartz
),方便扩展或裁剪。
- 核心模块解耦(如
- 内置工具
- 定时任务(Quartz)、日志监控、系统监控(CPU/内存/磁盘)、在线用户管理。
- 多终端支持
- 提供 PC 端(Vue) 和 移动端(Uni-app) 解决方案。
4.版本分支
版本 | 技术栈 | 适用场景 |
---|---|---|
RuoYi-Vue | Spring Boot + Vue 2.x | 前后端分离项目(主流选择) |
RuoYi-Cloud | Spring Cloud + Vue | 微服务架构 |
RuoYi-App | Spring Boot + Uni-app | 移动端开发 |
RuoYi-Fast | Spring Boot + Thymeleaf | 传统单体应用(无前端分离) |
5.使用场景
- ✅台管理系统(如 CRM、ERP)
- ✅ 内部办公系统(如审批、报表)
- ✅ 快速原型开发(通过代码生成器 10 分钟生成基础模块)
6.与其他开发框架的对比
框架 | RuoYi | JeecgBoot | SpringBlade | Guns |
---|---|---|---|---|
技术栈 | Spring Boot + Vue/Thymeleaf | Spring Boot + Ant Design Vue | Spring Cloud + Vue 3 | Spring Boot + Beetl/Vue |
定位 | 轻量级后台管理系统 | 低代码/在线开发平台 | 微服务全栈解决方案 | 模块化快速开发框架 |
核心优势 | 简单易用、代码生成器 | 强大的表单/报表可视化设计器 | 原生支持微服务、前后端最新技术 | 高度自由、灵活的架构设计 |
权限控制 | Shiro(RBAC) | Shiro + 数据权限 | Sa-Token(分布式权限) | Shiro + JWT |
UI 美观度 | 传统风格(需自定义) | 现代化(Ant Design) | 现代化(Vue 3 + Element Plus) | 中等(Beetl模板或Vue) |
学习成本 | 低 | 中(需熟悉低代码逻辑) | 高(微服务复杂度) | 中 |
适用场景 | 中小型后台系统 | 需要快速搭建表单/流程的系统 | 分布式/云原生项目 | 需要深度定制的单体应用 |
7.快速开发框架与低代码平台的区别
(1)核心定位
维度 | 快速开发框架 | 低代码平台 |
---|---|---|
本质 | 代码级的开发工具(仍需编写代码) | 可视化配置工具(极少或无需代码) |
目标用户 | 开发者(熟悉编程语言) | 开发者 + 业务人员(公民开发者) |
灵活性 | 高(可深度定制) | 中低(受平台能力限制) |
(2)技术实现
维度 | 快速开发框架 | 低代码平台 |
---|---|---|
开发方式 | 基于框架生成代码,手动修改逻辑 | 拖拽组件 + 配置规则 + 自动生成代码 |
技术栈 | 明确(如 Spring Boot/Vue) | 隐藏(平台封装底层技术) |
扩展性 | 通过代码自由扩展 | 依赖平台提供的插件或脚本接口 |
示例:
- 快速开发框架:RuoYi 生成
Controller/Service
代码后,开发者需手动补充业务逻辑。 - 低代码平台:在 明道云 中直接拖拽表单字段,设置审批流程,无需接触代码。
(3)适用场景
场景 | 快速开发框架 | 低代码平台 |
---|---|---|
复杂业务系统(如ERP) | ✅ 更适合(可深度控制逻辑) | ⚠️ 可能受限(需依赖平台功能) |
简单CRUD管理后台 | ✅ 但略显冗余 | ✅ 高效(10分钟配置一个表单) |
高频迭代的轻应用 | ⚠️ 需重复发布 | ✅ 实时热更新(如钉钉宜搭) |
跨系统集成需求 | ✅ 自由调用API | ⚠️ 依赖平台集成能力 |
(4)优缺点
类型 | 优点 | 缺点 |
---|---|---|
快速开发框架 | 灵活性高,适合复杂逻辑 技术栈透明,易调试 | 学习成本较高, 重复性工作多(如增删改查) |
低代码平台 | 开发速度极快(快10倍以上)降低技术门槛 | 黑盒风险(性能/扩展性难控制), 厂商锁定问题 |
(5)典型代表
- 快速开发框架:RuoYi、JeecgBoot、SpringBlade
- 低代码平台:
- 国内:明道云、简道云、钉钉宜搭、腾讯微搭
- 国外:OutSystems、Mendix、Microsoft Power Apps