最好的 6 款 React 后台管理系统模板和框架

简介: React admin框架繁多,在本文里我们介绍 React 下最好的 6 款后台系统,每款均严格测试后,整理它们的优缺点方便你来挑选。同时我们给出一些实用建议,帮你避免选型时不注意可能导致的埋坑。

最好的 6 款 React 后台管理系统模板和框架

本文首发:《最好的 6 款 React 后台管理系统模板和框架

React admin框架繁多,在本文里我们介绍 React 下最好的 6 款后台系统,每款均严格测试后,整理它们的优缺点方便你来挑选。同时我们给出一些实用建议,帮你避免选型时不注意可能导致的埋坑。

为什么后台系统极其重要

一个成熟好用的后台管理系统对于公司运营效率有极大提升,而对程序员来说,很多时候写后台系统其实都是在“帮个忙”,原因是这些后台系统多数情况下和公司的主营业务并没有太大关系。

比如说,运营会请你写个系统来帮助管理商品,人事会请你写个系统来管理公司人员等等。因此,找一个称手的模板和框架可以省下大量的时间。如果需要马上搭建马上能上线的后台系统,可以直接考虑卡拉云(见后文),比模板和二次开发更快更方便,同时功能丰富得多。

如何挑选 React admin后台

有的时候选择一个后台系统框架时,一个开始没注意到的小问题可能导致之后系统完全无法使用。举个例子,如果你的整套系统用了 SCSS 来写界面,而这个后台框架并不支持 SCSS,那么你还需要额外的精力把 SCSS 集成进去。因此,在下文评测中我们尽量把这些细节展示出来。

我们用以下一些标准来评判 React 下的后台系统模板。

开发者体验

首先后台系统要能用得起来,开发者(也就是你)得尽量少花功夫在这个框架上,也就是说这个框架本身的 API、组件或者接口需要设计得足够好,足够能用。否则,如果需要大量蛮力适配(brute-force)才能满足需要的话,还不如不用框架自己写好了。

权限管理

一个后台系统是不是具有完备的权限管理,对于绝大多数公司来说都极为重要。比如,很难想象让一个公司请的外包运营成员来直接操作公司的用户数据库。而正确的做法是给他们分配合适的权限,让一部分人员只能操作限定的动作。

权限管理说起来简单,但是绝大多数前端模板中是无法实现的,必须配合后端。而是不是有好的接口设计就决定了与后端的权限管理对接时是否足够容易。

组件丰富程度

有一些组件对于一些后台来说极为重要,比如说如果你的后台是一个员工报销系统,那么时间选择器可能就非常重要,因为可能需要注明发票报销的时间。如果你的后台需要展示服务器运行时间、用户数,那么报表、图表组件就很重要。

对绝大多数后台来说,表格组件也非常重要。但是不管是表格、图表还是时间选择器,都是实现比较困难的前端组件。所以要找到一个框架要刚好把这三个组件都做得好,是不太容易的事情。

因此组件的丰富程度和完善度,也是挑选后台系统的重要标准。

React 后台系统的类别

React 后台系统可以粗略地分为以下几种类别

  1. 仅前端模板
  2. 前后端集成系统,需要数据迁移
  3. 前后端集成且有方便的数据接口

对于 1,适合后台已经成型,所有后台 API、数据库连接均已经包好的情况下。

第一种是指只有前端代码的 React 后台系统。当然,后台系统显然是用来操作后端数据的,所以不接“后端”的后台系统是不存在的,选用这种后台系统的话,你需要自己提供后端接口和数据库接口等。这个类型的代表有 antd 和各种纯 UI 的 react 框架,比如 Material UIMi-UI 等。

第二种是指不仅有前端代码,同时也包含了后端服务。如果需要一些新的后端接口,则需要调整和开发后端接口。通常来说,这类后台系统都是打包销售,比如 SAP,SalesForce 出售的一些 SaaS 后台系统,本文里就不展开讨论了。

第三种是指,前端后端集成,但不需要数据迁移。框架提供了数据接口,你只需要把你的数据接入即可使用。这个类型的代表有卡拉云

那么什么情况下选择哪种后台系统呢?

情况一

如果你已经有一个成型的后台系统,现在只需要把后台界面做得更方便、漂亮,或者增加一些组件的情况下:,你可以应该选择方案 1 或者方案 3。

原因是你已经非常明确你需要哪些组件,工作流的流程怎样,甚至已经有后端接口可以直接接入,那么二次开发一下前端框架可能就可以满足你的需求了。或者用方案 3,可以比较轻松地把数据接口接入,而不用对后台接口做太多调整。

情况二

还没有后端,只有数据库。

这个情况应该是绝大多数创业公司在寻找第一个后台系统时遇到的情况,工程师资源全部集中在公司业务上,没有人有精力和时间来开发后台系统。然而后台系统又极为重要,所以开始急冲冲地找一个方案。

在这种情况下,我们推荐使用方案 3,原因是后端接口还不成型,工作流不清晰可能还需要大量迭代。这种情况下直接开始固化后端是不明智的。

情况三

没有前端,只有后端接口。这样的情况在创业公司,甚至不少大厂中也占有一定比例。没有前端的情况下,有时候开发者甚至会直接采用直接查询和修改数据库的方式来使用“后台系统”。

在这种状态下,也推荐使用方案 3,直接将数据库接入,同时用拖拽、配置的方式生成前端。

react-admin

React-admin 是一款提供前端组件,同时还提供后端数据接口的框架。目前它在 github 上有 19.1K 的星。注意,通常来说我们讲的“react后台系统”一般英文翻译为react admin,而这款框架本身比较讨巧,名字本身就叫react-admin,请注意不要混淆了概念。

react-admin界面

react-admin 的优点非常明显

  • 支持常见组件,比如表格、文本输入框、数字输入框等
  • 提供前端权限控制接口(但需要单独与后端集成)
  • 提供 i18n 可以翻译界面
  • 完成度较高,五年的老项目,代码质量过硬
  • 代码同时支持 TypeScirpt 和 JavaScript,开发体验好

但它的不足也很明显。

首先,组件的功能性较弱,因此需要的前端二次开发较重,只适合比较简单的使用场景。如果需要二次开发,则需要前端工程师对这个框架和 React 本身了解较深。

其次,它的数据接口层比较轻,对于不同的数据(比如REST API)需要使用不同的接口,这些都需要单独集成和调试。

最后需要考虑的地方是,虽然它在 GitHub 上有大量的赞(19000),但真正使用的项目还不如其赞多(8700),因此社区的活跃程度也并是非常高,react-admin 的最近一次代码提交是几个月前。

AdminJS

AdminJS 与 react-admin 非常类似,也是一款主要提供前端 React 模板,同时提供轻后端接口的框架。但它开始得比较晚,目前在 GitHub 上有 4800 个星。

admin-js 界面

AdminJS 的主要优点有

  • 支持部分常见组件,比如表格、文本输入框、下拉菜单
  • 文档较全面,整个文档由 JSDoc 写成,非常详细
  • 项目较新,维护比较勤
  • 代码同时支持 TypeScirpt 和 JavaScript,开发体验好

但是有以下几个非常明显的缺点,我认为如果你在考虑 AdminJS 的话,不如考虑 react-admin 或卡拉云。

首先,AdminJS 的使用面非常窄,目前在 GitHub 上只有 188 的使用。

其次,它的代码复杂度极高,侧面反应架构设计不合理。另一方面,如果去看它的文档的话,会发现如果要在 AdminJS 上做二次开发,基本上就重新学了一套新框架了,时间成本上并不划算,同时如果遇到问题卡住项目极容易难产。

当然即使如此,在为数不多的后台框架里,AdminJS 也是较为优秀的一款了。

卡拉云

卡拉云与其它的框架都不太一样,它不光提供一个前端框架,还提供了一个完整的前端编辑器。同时,卡拉云还提供完整的后端接口,让你可以直接接入自己的数据库。在前端,你可以通过前端编辑器来配置组件,包括

  • 表格
  • 图表
  • 文本输入
  • 数字输入
  • 地图
  • 时间选择组件
  • 文件上传组件
  • 富文本编辑组件
  • JSON 编辑组件
  • 数据标注组件

等等

卡拉云提供的编辑器

同时每个组件都有单独的可配置项,每个可配置项均支持用 JS 来定制逻辑。因此即使是像表格这样超复杂的前端组件,在卡拉云里你也可以通过细节配置,加上 JS 逻辑,来满足任意复杂的需求。比如,下图为卡拉云中对表格组件的配置选项,你可以针对每列动态隐藏、调整背景色,调整显示类型比如图片、链接等等丰富的配置功能。同时因为任何配置项都支持 JS,因此配置的灵活度几乎等同于直接写 React 代码。

卡拉云的配置界面

只要前端工程师会基本的 JavaScript(不会的话可能也不能叫前端了),就可以在前端定制出任意复杂度的后台。

在后端,卡拉云支持直接查询和更新常见数据库,如 MySQL,PostgreSQL和 MongoDB 等,同时也支持 REST API 来调用你自己的 API 端口或第三方 API。

使用卡拉云的优点非常明显,你基本可以省掉要开发维护一个后台系统要操的心了,这样可以让工程师专注于公司本身的业务线。同时不管是组件丰富度和完成度,以及权限系统的稳固程度,卡拉云都比市面上其它框架和公司做得牢靠一些,具体详情请参考我们的文档

[](https://kalacloud.com/blog/best-react-admin-dashboard/#antd)antd

antd 即 Ant Design 的简写,也就是蚂蚁金服的著名前端框架。

antd的设计页面

antd 可以说是泛前端框架里的翘楚了,从概念上来说,它提供了很多常见的前端组件,包括表格、输入框、下拉菜单等等,每个组件均提供一些参数以供配置使用。

但严格来说,antd 并不是特意为“后台系统”而存在的,因此如果你想要用 antd 来搭建后台系统的话,它只是帮助你把 CSS 和组件设计这两件事情做了一些,但后台系统中需要的逻辑还是需要自己开发的。 比如举个例子,antd 提供了类似 Avatar 这样的组件,用来展示登录用户头像,但一个用户是不是登录了、登录的逻辑是怎样的,这些都是需要你自己提供逻辑的。

从经验上看,后台系统与直接面向消费者(to C)的场景不同,后台系统多数情况下可以承受较简单甚至粗糙的 UI,以换取更丰富、复杂的功能。而面向消费者的场景通常则需要将功能做得足够简单,且 UI/UX 极为重要。因此,多数情况下开发后台系统时,精力均在如何把对的数据,正确地连接和展示出来,同时提供组件以供用户操作。

antd 提供了 展示 这一步,但其它的逻辑就需要前端工程师来黏合了。因此,antd 比较适合需求较为固化,不经常更改,同时工程师资源有剩余的情况下。 如果需要快速迭代,则应该考虑上文中提到的前三种框架。

react-antd-admin

react-antd-admin 是在 antd 的基础上,由 @jiangxy 开发的后台系统。它只包含前端部分,因此如果需要任何权限控制或者与后端连接的话,需要单独做二次开发。

这个项目在早期开发频率还可以,因此在 GitHub 上积累了 1400 个星,但由于繁忙,后来就停止了开发。上一次代码提交还是五年前,因此对比下来,不建议使用。同时作者自己也在 GitHub 的 readme 中也提到了安全和权限的问题:

安全/权限问题
目前对安全&权限都没考虑进去,如果有这方面的要求,只能后端校验了。在请求后端接口时校验用户的身份和权限。

权限问题也很麻烦,感觉不太好做成通用的东西,如果有需求的话,还是定制开发比较好。

兼容性

如果你在考虑使用 react-antd-admin 的话,建议直接在 ant 的基础上自己开发,或者使用类似卡拉云这样完成度较高的系统。

shards-dashboard-react

shards-dashboard-react是一套 react 下的后台开发模板,注意这个模板的含义基本就是指它只包含了常见组件和其对应的 CSS,而不包含组件具体的逻辑处理。它的界面如下

shards-dashboard-react 界面

如果你的项目中,只是需要添加更多的组件,特别是 Material 风格的组件,那么使用 shards-dashboard-react 会比较合适。但如果连后端接口都没有,那么则需要考虑使用本文前面提到的三个框架或系统,react-adminadminjs 或 卡拉云

总结

本文中我们介绍了市面上最好的几款 React 后台框架,比较了它们的优缺点。相信这篇文章可以帮助你在技术选型的时候,提供一些参考。如果你对卡拉云感兴趣,欢迎联系我们。如果你对 Vue 的框架感兴趣,也欢迎阅读 最好用的 7 款 Vue admin 后台管理框架测评 和 7 个 Laravel admin 后台管理系统推荐

目录
相关文章
|
24天前
|
前端开发 JavaScript 算法
React框架有哪些特点?
【8月更文挑战第28天】React框架有哪些特点?
146 65
|
8天前
|
前端开发 搜索推荐 API
【Prompt Engineering:ReAct 框架】
ReAct 框架由 Yao 等人(2022)提出,结合大语言模型(LLMs)生成推理轨迹与任务操作,交替进行推理与行动。此框架允许模型与外部环境(如知识库)互动,以动态更新操作计划并处理异常。ReAct 在语言和决策任务上表现优异,提升模型的人类可解释性和可信度。研究显示,ReAct 优于多个基准模型,尤其在结合链式思考时效果最佳。通过实例演示,ReAct 能有效整合内外部信息,优化推理过程。
【Prompt Engineering:ReAct 框架】
|
1月前
|
Web App开发 缓存 前端开发
介绍一下React框架的最佳实践。
【8月更文挑战第17天】介绍一下React框架的最佳实践。
34 2
|
1月前
|
缓存 监控 前端开发
WEB前端三大主流框架:React、Vue与Angular
在Web前端开发中,React、Vue和Angular被誉为三大主流框架。它们各自具有独特的特点和优势,为开发者提供了丰富的工具和抽象,使得构建复杂的Web应用变得更加容易。
87 6
|
20天前
|
开发者 安全 UED
JSF事件监听器:解锁动态界面的秘密武器,你真的知道如何驾驭它吗?
【8月更文挑战第31天】在构建动态用户界面时,事件监听器是实现组件间通信和响应用户操作的关键机制。JavaServer Faces (JSF) 提供了完整的事件模型,通过自定义事件监听器扩展组件行为。本文详细介绍如何在 JSF 应用中创建和使用事件监听器,提升应用的交互性和响应能力。
18 0
|
20天前
|
开发者 缓存 数据库
【性能奇迹】Wicket应用的极速重生:揭秘那些让开发者心跳加速的调优秘技!
【8月更文挑战第31天】在软件开发中,性能优化是确保应用快速响应和高效运行的关键。本书《性能调优:Apache Wicket应用的速度提升秘籍》详细介绍了如何优化Apache Wicket应用,包括代码优化、资源管理、数据库查询优化、缓存策略及服务器配置等方面。通过减少不必要的组件渲染、优化SQL查询、使用缓存和调整服务器设置等方法,本书帮助开发者显著提升Wicket应用的性能,确保其在高并发和数据密集型场景下的稳定性和响应速度。
31 0
|
20天前
|
前端开发 JavaScript 中间件
【前端状态管理之道】React Context与Redux大对决:从原理到实践全面解析状态管理框架的选择与比较,帮你找到最适合的解决方案!
【8月更文挑战第31天】本文通过电子商务网站的具体案例,详细比较了React Context与Redux两种状态管理方案的优缺点。React Context作为轻量级API,适合小规模应用和少量状态共享,实现简单快捷。Redux则适用于大型复杂应用,具备严格的状态管理规则和丰富的社区支持,但配置较为繁琐。文章提供了两种方案的具体实现代码,并从适用场景、维护成本及社区支持三方面进行对比分析,帮助开发者根据项目需求选择最佳方案。
10 0
|
20天前
|
前端开发 JavaScript 测试技术
React 与前端自动化测试也太重要啦!各种测试框架助力确保应用质量,快来开启优质开发之旅!
【8月更文挑战第31天】随着前端技术的发展,React 成为了构建用户界面的热门选择。然而,随着应用复杂性的增加,确保应用质量变得至关重要。本文介绍了前端自动化测试的重要性,并详细综述了常用的测试框架如 Jest、Enzyme 和 Cypress,以及如何通过它们进行高效的 React 组件测试。通过遵循最佳实践,如编写可维护的测试用例、覆盖关键场景、集成 CI/CD 流程和进行性能测试,可以显著提高应用的稳定性和可靠性。
28 0
|
1月前
|
设计模式 JavaScript 前端开发
现代JavaScript框架比较:React、Vue和Angular
在现代Web开发中,JavaScript框架已成为开发高效、动态用户界面的关键工具。本文将深入比较三大主流框架:React、Vue和Angular。通过探讨它们的核心特性、优缺点和适用场景,帮助开发者根据项目需求选择最合适的框架。重点分析包括性能、学习曲线、社区支持和生态系统等方面,以便开发者能够做出明智的决策,优化开发流程并提升应用性能。
|
2月前
|
存储 前端开发 JavaScript
深入浅出React框架:构建高效组件化网页的实战指南
【7月更文挑战第9天】在当今快速发展的前端技术领域,React凭借其强大的组件化思想、高效的虚拟DOM以及丰富的生态系统,成为了构建动态用户界面的首选框架之一。本文将带你深入浅出地探索React的核心概念,并通过实战示例,展示如何利用React构建高效、可维护的组件化网页。
82 8

相关实验场景

更多