聊聊 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 ...
随机推荐
- element-ui实现table表格的嵌套(table表格嵌套)功能实现
最近在做电商类型的官网,希望实现的布局如下:有表头和表身,所以我首先想到的就是table表格组件. 表格组件中常见的就是:标题和内容一一对应:像效果图中的效果,只用基础的表格布局是不行的,因此我想 ...
- 使用Windows系统自带DLL修复工具修复系统缺失dll的问题
1. System File Checker(SFC) System File Checker(SFC)是Windows自带的一个工具,可以扫描系统文件并尝试修复任何受损的文件.要使用SFC,请按照以 ...
- 数据挖掘 | 数据隐私(1) | 差分隐私 | 挑战数据隐私(Some Attempts at Data Privacy)
L1-Some Attempts at Data Privacy 本随笔基于Gautam Kamath教授的系列课程:CS 860 - Algorithms for Private Data Anal ...
- php实现地址跳转的方式
在PHP中,实现地址跳转主要有以下几种方式: 1. 使用 header() 函数 header() 函数用于发送原始的 HTTP 头信息,常用于实现页面跳转. <?php header(&quo ...
- sap 管理--企业解决方案 -设备管理
1.什么是sap 管理 2.设备管理管的是什么 3.设备的几种状态 4.设备bom(物料清单) 5.测量点计数器 1.什么是sap 管理 System Applications and Product ...
- python excel 读取:如何读取符合多个条件的记录【出差、外出、调休、年假】
if 语句结合or 实现:读取所有出差.外出.调休.年假的记录 if '出差' in str(c_cell) or '外出' in str(c_cell) or'调休' in str(c_cell) ...
- 使用C#创建一个MCP客户端
前言 网上使用Python创建一个MCP客户端的教程已经有很多了,而使用C#创建一个MCP客户端的教程还很少. 为什么要创建一个MCP客户端呢? 创建了一个MCP客户端之后,你就可以使用别人写好的一些 ...
- SqlmapAPI:自动化SQL注入的利器
SqlmapAPI:自动化SQL注入的利器 SqlmapAPI简介 SqlmapAPI是基于sqlmap工具的API接口,它允许用户通过编程方式调用sqlmap的功能,实现自动化的SQL注入安全检测. ...
- SSH登录:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
错误信息: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICAT ...
- 数据质量框架QUalitis浅尝使用
数据质量管理平台(微众银行)Qualitis+Linkis (一)Qualitis是一个数据质量管理系统,用于监控数据质量. 其功能包括: 数据质量模型定义 数据质量结果可视化 可监控 数据质量管理服 ...