开源界的卷王,那么多后台管理系统,到底该怎么选

3,232 阅读17分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情

相信每一个程序员逛github的时候都有过这样的想法:“这辣鸡东西都有这么多star,简直不合理”,“老子写的东西天下无敌!”,“要是我写一个出来,肯定火”。

大家好我是东方赞,去年在大厂离职后,终于闲了下来,然后给自己挖了个坑,想要做一款属于自己的后台管理系统。但受限于时间和精力问题,时至今日也就是开了个头,这就是传说中的眼睛大肚皮小啊,哈哈哈哈。

没关系,虽然我卷不过大家,我们就一起来看看现在的卷王们写的后台管理系统到底怎么样。

数据说明一切

要去看大家写的系统,一个一个看肯定看不过来,我们作为程序员就要通过科学的手段来帮助自己尽快获取到自己想要的信息。由于后台管理系统面向的用户大多数都是国内用户且Github上的项目实在太多,我也分析不过来,在这里我直接选用了Gitee作为数据源,爬取了所有与后台管理系统有关的Repo,下面我们对这些数据进行一个简要分析。

如果有兴趣的同学可以拿着本代码去爬Gitee上自己感兴趣的项目,代码地址

截止到文章撰写时,爬取到Gitee后台管理系统的repo总数有1040个,是Gitee所有开源项目分类里repo最多的。在Github上搜索admin关键字,Repo数量为307698个,虽然我觉得在这个领域玩的人很多,但是没想到有这么多! 图片 1.png 我个人认为,可能是由于我们在学习编程时开始就接触各种XX管理系统,这个领域既简单,需求量又大,通用功能又比较多,也就造就了今天的空前盛况。

编程语言统计

接下来,最直观的就是我们对这些后台管理系统根据编程语言来进行分类汇总,毕竟每个语言使用的群体不同,能干的事情也不一样。 image.png 在上面这张统计图中我们可以看到:

  • Java一骑绝尘,407个repo让它成为后台管理系统的编程语言卷王
  • JavaScript的纯前端组合紧随其后,245个repo也是卷穿肠了
  • PHP作为全世界最好的语言,还是有非常多的簇拥,167个repo位列第三
  • C#作为Java的竞争对手,在国内程序员的心中地位貌似不高,只有57个repo(看这个其实也看的出来,C#找工作肯定没Java好找,用的人少,岗位自然也少)
  • TypeScript是最近这几年的热门,不少新的前端框架都在兴起,涨势非常凶猛
  • Vue作为开源的宠儿,Gitee甚至都将其作为一门语言进行了标记
  • Go作为这些年由于字节跳动和Bilibili等大厂的带动,成为了国内最火的后台编程语言,目前已经超过了老牌编程语言Python
  • Python和NodeJS在这个领域属于不温不火
  • 后面的Kotlin和Rust,在国内用的人并不多,我也不熟悉,不敢乱说了
  • 最神奇的是C和C++,居然也有大神写出了后台管理系统,可见这个领域的竞争的激烈程度,这里先卖个关子,后面我们详细来看看这两位大神。

接下来很有意思的数据就来了,如果我们把每个编程语言中star求一个平均数,那么这个数据就变得有意思了 image.png

  • Java仍然保持一骑绝尘,说明不仅数量多,而且用的人确实多
  • 下面的C#就有点耐人寻味了,虽然Repo数量不多,但是大家在社区点star的手可是有点都不软,C#程序员互相之间的认可度还是非常不错的,也许还有可能是C#项目的质量相对高?
  • JavaScript和TypeScript基本保持在同一水平线上
  • TypeScript正式版自2013年发布后,在前端领域发展非常迅猛,似乎现在的前端跟10年前的前端,都已经是完全不同的工种了,前端同学们有的学了
  • PHP用的多,点star少,是不是说PHP程序员都喜欢白嫖,不喜欢点赞?还是说PHP项目的质量,让大家觉得堪忧呢?

关键词统计

我们把这些所有项目的文字介绍提取关键词之后生成词云,可以看到几个有意思的关键词。

  • SpringBoot和vue element admin是分别是最受欢迎的前后端框架,SpringBoot不多说,会写Java的人没有人不会写SpringBoot。element-ui作为饿了么开源的前端组件,在前端的影响力也相当可观。
  • 虽然说大公司都是react的簇拥,但是开源界的宠儿还是Vue,这个与大家感受到的几乎一样。
  • element ui完胜ant design
  • ORM框架方面,Mybatis几乎成了Java的唯一选择,JPA只有零星的个别项目在用
  • layui和bootstrap这些老牌前端使用的组件和框架,依然活跃在舞台上,但是前后端分离已经成为了主流
  • 关于功能上,权限和登录,是大家最关心的两个核心功能

image.png

数据看了这么多,如何选择一款合适的后台管理系统

1000多个后台管理系统确实多,看的头皮发麻也正常,但其实也是有迹可循的。

我们需要明确自己掌握的技术栈和使用后台管理系统的目的。

技术栈很好选,大家会什么就直接去选哪门语言就好了。使用后台管理系统的目的,才是我们真正值得思考的。

如果你想直接拿来用

那么免费、功能齐全、社区活跃、文档丰富,可以快速帮助我们搭建起来一个项目。我们可以增加下列筛选条件

  1. 首先排除那些协议不明确或有禁止商业使用的开源项目,尽量选择协议是MIT和Apache2.0的项目,防止纠纷
  2. 没有官网/没有明确的文档,出了问题都不知道上哪查
  3. 纯前端项目可以排除,毕竟我们是要拿来直接用的
  4. 半年之内还在更新的活跃项目,没人维护的老项目,出了问题问不到人
  5. star超过该类语言平均值的项目

如果你想拿来学习

那么一些老项目,就失去了存在的价值,那些热门的,star数量高的,我们就可以拿来好好钻研一下,根据上面的数据,我们增加以下筛选条件。

  1. 是否是免费协议,这个就不在我们考虑的范围之内了,毕竟拿来学,知识是最重要的
  2. 文档丰富依然是必要的考虑
  3. 同样的,近半年之内有更新,大家还可以问的到人
  4. 老框架、老版本,可能并不合适,那些新的如Vue3,分布式系统可能更适合大家学习

项目推荐

Java

后台管理系统是真的卷,就算我再怎么把条件缩小,依然有几十款后台管理系统入围,那么我就来选择我自己认为比较好的几款推荐给大家。

lengleng/pig

项目名称:lengleng/pig,GVP项目

项目地址,star数量:35552

标签:Java ,SpringBoot ,SpringCloud ,OAuth2 ,Vue

官网地址 项目介绍:基于Spring Boot 2.7、 Spring Cloud 2021 & Alibaba、 SAS OAuth2 的微服务RBAC 权限管理系统。

适用场景

中大型项目开发 学习

推荐理由
  1. 【作者】一位专注开源界的大佬,仓库中有多个GVP项目证明了他的实力,该项目也在Gitee上登顶
  2. 【文档】文档、教学视频丰富,不少关键环节进行了细致的文档讲解,甚至提供了常见问题总结的FAQ,文档地址
  3. 【运维】docker部署,一键部署作者都提供了解决方案
  4. 【整合能力】与优秀的开源产品的融合度很高,提供了jfinal、Ruoyi、Guns、renren、jeesite等优秀框架的接入
  5. 【分布式】由于项目采用微服务架构,结合文档你可以深入的体会服务注册、网关、负载均衡、限流、熔断、链路追踪、缓存、分布式事务等功能,让没有使用场景的同学背八股文的时候理解的更深刻。
  6. 【代码】代码遵循《Alibaba Java开发手册》(这条看着简单,但是其实很难,很多项目都是乱写的)
  7. 【项目依赖】核心依赖的版本一直与时俱进,采用核心组件的版本非常新,没有使用明显的具有漏洞的依赖
  8. 【前端】已支持Vue3,项目使用的element-ui也是在vue领域应用最广泛的前端组件库

若依/RuoYi

项目名称:若依/RuoYi,GVP项目

项目地址,star数量:32528

官网地址

项目特色:🎉 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用

适用场景

中小型项目开发

推荐理由
  1. 【作者】作者始终专注在免费开源这条路上,也是这些热门项目里唯一开发商业版的作者,且对于二开非常支持,也会把其他魔改的Ruoyi进行推荐,这可能也是他比较火的原因之一
  2. 【文档】虽然文档也比较丰富,较pig来说,文档的数量和质量都有些许差距
  3. 【功能】通用的后台管理功能设计的非常清爽,自带的代码生成工具可以让开发速度更快
  4. 【项目依赖】依赖较少,核心组件大多数都是使用稳定版本SpringBoot2.5和Vue2,如果遇到不会的问题,你可以更容易的找到答案
  5. 【更新频率】几乎每3个月都有新版本,带来大量新的优化和问题修复,非常良心
  6. 【周边项目】Ruoyi并不是一个项目,而是一个大系列,还包括了微服务版、移动版
    1. 【功能最丰富】芋道源码/ruoyi-vue-pro,在Gitee上的star数也超过了22k,功能比原版Ruoyi更加丰富。新增了后台系统常用的流程审批、短信模板等等非常实用的功能。
    2. 【antd+react前端】whiteshader/ruoyi-react,用了最新的Ant Design Pro V5,对Ant Design和TypeScript感兴趣的小伙伴可以看看,后台还是Ruoyi没有改动,在Gitee中为数不多使用react的项目
槽点
  1. 【代码】代码质量不高,虽然是Java项目,Ruoyi的代码带有明显的C#风格,这一点会让不少Java程序员不舒服。DO类从数据库用到Controller,你甚至可以从接口里直接读到数据表结构,虽然开发速度快,但是这种的代码质量如果在公司了被Review,被扣绩效也不是没有可能。所以个人觉得Ruoyi适合用来快速开发一些中小型项目,但是并不适合学习。
  2. 【项目依赖】Shiro、fastjson这种具有不少黑历史的有漏洞依赖也还在使用,虽然都提供了漏洞解决办法,但是不如干掉换其他依赖效果更好?

其他的Java项目在这里我就不多描述了,实在太多,优秀的项目也太多,大家感兴趣的话,用爬虫自己爬一下,然后搜找找自己感兴趣的项目即可。

C#

我不是一个好的C#程序员,只是略有了解,找一款好的、免费的C#项目确实不易。

字母搬运工/ZrAdminNet

项目名称:字母搬运工/ZrAdminNet

项目地址,star数量:711

标签:Vue ,后台管理系统 ,定时任务 ,前后端代码生成 ,Net6

官网地址

项目特色:🎉ZRAdmin.NET是一款前后端分离的、跨平台基于RBAC的通用权限管理后台。ORM采用SqlSugar。前端采用Vue、AntDesign,支持多租户、缓存、任务调度、支持统一异常处理、接口限流、支持一键生成前后端代码,支持动态国际化翻译,等诸多黑科技,代码简洁易懂、易扩展让开发更简单、更通用。⚡⚡⚡NET6.0请切换net6分支,默认master为net5

适用场景

中小型项目开发

推荐理由
  1. 【功能】与前面的Ruoyi基础版一样,基本满足二开需求,增加了文章管理、多租户、国际化等功能
  2. 【项目版本】Vue3/Vue2、.Net6/.Net5都有支持,新版旧版随意选用,学习开发两不误
  3. 【文档】与Ruoyi基础版几乎一样,把基础功能说全了
  4. 【star】star如此少,为什么值得推荐?
    1. MIT协议,随意改,随意用,不纠结。C#区的GVP项目 LGPL协议,这不行那不行的,我不喜欢
    2. 文档齐全、演示环境无明显bug
    3. 更新频率高,作者几乎天天在写
    4. 这么好的项目难道不值得推一把

Go

你很难想象,Go语言这么火,在Gitee上居然没有一款GVP项目,大家要卷的话,建议到Go区来卷

tiger1103/gfast

项目名称:tiger1103/gfast,推荐项目

项目地址,star数量:1548

官网地址

项目特色:gfast是基于GF(Go Frame)的后台管理系统 ,完善的权限用户管理,致力于快速高效开发cms系统、督办系统、后续将加入流程审批、工作流引擎、项目管理、挂图作战、数据大屏等功能。

适用场景

学习

推荐理由
  1. 【功能】Go区为数不多功能、文档、演示环境比较全的项目
  2. 【文档】不光有文档,还有教学视频学的更快,毕竟Go目前还是建议以学习为主。

PHP

虽然是最好的编程语言,最近这些年有些没落,何奈我不熟,也看不出来个好坏,下面就把我通过数据跑出来的结果(有文档、star在平均数以上、MIT/Apache2.0协议、最近半年有更新)放在下面给大家看看,顺序按照star数量从大到小配列。

项目名称:Karson/FastAdmin,GVP项目

项目地址,star数量:5694

标签:PHP ,后台框架 ,开源框架

官网地址

项目特色:开源免费,一键生成 CRUD,开发工程师的好帮手。FastAdmin 是一款基于 ThinkPHP 和 Bootstrap 的极速后台开发框架,基于Auth验证的权限管理系统,一键生成 CRUD,自动生成控制器、模型、视图、JS、语言包、菜单、回收站等。


项目名称:Anyon/ThinkAdmin,GVP项目

项目地址,star数量:2305

官网地址

项目特色:基于 ThinkPHP 微信后台管理平台(体验账号和密码都是 admin)


项目名称:meystack/SwiftAdmin

项目地址,star数量:2016

标签:后台管理 ,PHP ,layui

官网地址

项目特色:【高于TP类框架性能10倍】 一键生成CURD、在线表单设计、基于PHP MySQL Layui 完美契合,自研Layui高颜值UI设计,适合开发CMS、CRM、OA等系统,是一款优秀的中后台极速开发解决方案。


项目名称:妙码生花/BuildAdmin 项目地址,star数量:1289

标签:后台管理框架 ,Vue ,TypeScript ,element-plus ,ThinkPHP

官网地址

项目特色:CRUD代码生成、内置WEB终端,基于Vue3.x(setup)+ThinkPHP6+TypeScript+Vite+Pinia+Element Plus的后台管理系统,自适应多端,同时提供Web和Server端、自动注册路由、无限级菜单权限节点、全局数据回收站、字段级修改保护等集颜值、实用、敏捷于一身的后台管理系统。


项目名称:JaguarJack/catchAdmin,推荐项目

项目地址,star数量:1151

官网地址

项目特色:🚀🚀 CatchAdmin 🔥是一款基于 Thinkphp6.x 和 Element UI 开发的权限管理系统,在 Thinkphp6.x Service 服务基础上,实现系统模块完全接耦。随时卸载安装模块。提供了完成的权限和数据权限等功能,大量内置的开发工具提升你的开发体验。支持云上传,短信平台的配置,敏感词,以及定时任务等等功能。官网地址:


项目名称:剑走偏锋/dcat-admin,推荐项目

项目地址,star数量:1107

官网地址

项目特色:🔥  优雅的Laravel Admin后台框架,使用很少的代码快速构建一个功能完善的高颜值后台系统,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码


项目名称:MUKE/OneKeyAdmin

项目地址,star数量:996

官网地址

项目特色:基于Thinkphp6+Element的通用管理系统,基于数据驱动视图的理念封装 Element,即使没有 Vue 的使用经验也能快速上手。开发助手可一键生成应用,包含控制器、模型、视图、菜单权限、API接口。


项目名称:MineAdmin/MineAdmin

项目地址,star数量:841

标签:PHP ,Vue ,Swoole ,hyperf ,ArcoDesign

官网地址

项目特色:🎉🌈🔥MineAdmin是基于Hyperf框架 和 Vue3+Vite3 开发的前后端分离权限管理系统,自适应多终端。特色:crud生成 + json配置化开发一把梭


项目名称:skyselang/yylAdmin

项目地址,star数量:724

标签:ThinkPHP ,Vue ,Element-UI ,PHP

官网地址

项目特色:基于ThinkPHP6和Vue2极简后台管理系统,只有登录退出、权限管理、日志管理、接口文档与调试等基础功能;前后分离,简单轻量,免费开源,开箱即用。


项目名称:funadmin/funadmin

项目地址,star数量:544

标签:layui ,CMS ,免费商用 ,ThinkPHP ,CRUD

官网地址

项目特色:强烈推荐🔥🔥🔥FunAdmin是基于ThinkPHP6+Layui开发的轻量级有颜值后台开发系统,集成Layui常用组件、CRUD生成快速模块,让开发变的简单,CMS免费商用 ,非常适合二开


项目名称:LaravelAdmin/laraveladmin

项目地址,star数量:467

官网地址 项目特色:简洁、直观、强悍的前端后端开发框架,让全栈开发更迅速、简单。


最后

今年的疫情对很多行业打击很大,对我们程序员来说,很多人失去了工作,或者失去了一些项目(比如我),在这个艰难的大环境下,大家都卷的飞起,一刻也不敢懈怠,内心也都憋着一股劲。

不知道大家会不会有跟我相同的感受,想坐下来安心做一件事情,但是真正坐下来的时间却不多,尤其是在今年这种大环境下,既赚不到钱也好像不那么快乐。

但是看看这些卷王们,在这种大环境下依然保持热情,不断的更新代码,提高自己,帮助大家,即使是在最黑暗的时候也要努力抓住一束光的精神,最后送给大家一句话,希望可以共勉。

伏久者飞必高。