全文 3440 字
阅读时间约 11 分钟
如果您正在为您的企业调研开发 Admin 管理后台的最佳方案,那么基于 PHP 的 Laravel 框架会是一个不错的选择,它灵活且易用,还提供了一系列开发规范和组件加速我们的开发。而在这篇文章中,码匠将为您介绍几款专门基于 Laravel 打造的美观且常用的 Admin 管理后台模板,这些模板提供了很多开箱即用的功能,不仅确保您可以轻松启动并运行一个 Admin 后台,还为您节省了大量开发时间。
在搜索引擎中粗略搜索,你会得到大概 20多种 Laravel Admin 模板的选项,尽管它们表面上看起来很相似,但实际上在用途和架构存在着很大差异。在码匠为大家介绍一些受欢迎选项的具体功能前,让我们先了解 Laravel Admin 模板五个不同的种类,以便结合自身需求更好地做出判断:
脚手架主要是通过程序,自动化地创建启动和运行所需的文件和配置来生成 Laravel 样板。例如,假设您想为您的活动业务创建一个管理后台,主要涉及的领域实体为事件、发言人和与会者,脚手架软件包不仅可以自动为每个实体生成模型、控制器、路由、视图等,还包括了 CRUD 操作,这将为您节省乏味又重复地手动创建这些样板的时间。但是,脚手架只能在开始一个项目时才有用,如果您在初始设计中犯了错误,后续则很难进行更改和调整。脚手架软件包的一个例子可以参考 InfyOm Laravel Generator。
Laravel 框架遵循 MVC(模型-视图-控制器)模式,提供 CRUD 接口是 Laravel Admin 模板的一种流行架构方法。这些是视图和控制器的集合,可以自动添加 CRUD 逻辑和 UI 到现有的模型中。这种结构提供了一种快速获得模块化管理后台的方法,它可以轻松地添加到一个新的应用程序中,或改装到一个现有的应用程序中。一些流行的支持该功能的 Laravel 管理模板包括 Nova、Backpack 和 Orchid 等。
但缺点是,如果您业务上有着复杂的模型关系,可能很难让它按照您的要求来工作。
一个可视化的编程平台能够允许您单纯从一个图形用户界面 (GUI) 来管理您的站点,这有点像 CMS,但可以添加更详细的站点配置。
当您的团队有非开发人员时,一个可视化的编程平台会是一个不错的选择,但这些软件包通常局限在通用功能上。这种类型的后台模板的例子是 Voyager 和 Backpack DevTools。
一些管理后台模板只关注用户界面,即组件库、主题等等,例如 Creative Tim 的 Argon 管理模板 不提供任何 CRUD 接口或生成器,但提供很多对管理应用程序有帮助的详细的前端组件——如表格、图表、菜单等。
如果您的应用程序已经有了一套完善的后端逻辑,或者后端逻辑希望自己编写,那么这种类型的工具就会很有用。
管理后台模板的另一个不同之处在于它们是付费的还是免费(开源)的,免费的固然是大家所倾向的,但付费软件往往提供更强大的业务模型与客服支持。
如果您的目标是开发一个既能省钱又能省时的工具,那么花少量的钱买一个付费项目可能更适合。如果不希望花钱,那么找一个开源并且有着更活跃的社区的模板是一个更好的选择。
在您深入了解多种 Laravel Admin 模板之前,不妨先了解下码匠,码匠是一款开发者友好的低代码平台,您无需了解 React 开发、部署等各种细节,就可以快速打通前后端连接 REST API、MySQL、MongoDB 等多种数据源,然后通过一套开箱即用的组件,就可以轻松搭建功能完善的数据看板、数据洞察、Admin 管理后台等多种应用。
码匠主要面向国内用户,相较于国外开发的 Admin 后台工具,码匠的 UI 界面设计更加适合国内业务场景。同时码匠整合了多款国内常见数据源,包括飞书、企业微信、钉钉、阿里云 OSS等。不仅如此,码匠还一站式提供了企业内部系统常用的租户管理、细粒度的权限控制、审计日志等功能,让您快速搭建后台应用的同时,也为您的企业信息安全保驾护航。
了解了区分 Laravel 管理后台模板的一些主要因素后,码匠将具体介绍和比较 Laravel 中一些流行的软件包:Nova、Orchid、Backpack、Argon 和 InfyOm Laravel Generator,以便您更好地了解 Laravel Admin 模板并选择出一款适合您的项目。
Laravel 官方提供的 Admin 管理模板是 Nova,它主要是由 Laravel 的作者 Taylor Otwell 创建的。它的首次发布是在 2018 年,相对来说较晚。Nova 的架构是一个CRUD 界面,只需很少的配置就能允许用户完全从 UI 界面管理他们的数据库记录。
Nova 提供可配置的 UI 功能,例如搜索、过滤和自定义操作。这些功能开箱即用,也可以在前端和后端进行自定义(Nova 使用 Vue.js 作为前端组件)。
在 Nova 中向模型添加 CRUD 操作的机制被称为资源,这些是您可以在命令行上创建的类似控制器的类,例如要创建一个 Post 资源:php artisan nova:resource Post
,一个新类会显示在您项目的 app/Nova 目录中,不仅如此,它还会自动显示在 Nova 模板中供您使用。通常大多数 Laravel 模型在 Nova 中工作无需任何额外的配置,但您可以定义具体的细节,如字段如何被编辑等。
此外,Nova 另一个值得关注的特点是允许您在一个或多个模型上执行自定义任务。例如您可以编写一个将用户的会员订阅延长一个月的操作,先在资源文件中编写这方面逻辑,再在用户界面中检查,然后从动作下拉列表中选择操作。
Orchid 主要由俄罗斯开发者 Alexandr Chernyaev 开发,是 Laravel 框架的开源 CRUD 接口包,允许您使用表单生成器、表格过滤和排序以及文本搜索等便利的功能来快速开发管理模板。
Orchid 最吸引人的是它的开源社区,在没有任何付费项目的情况下能够维护好其完善的功能。
与 Nova 的开箱即用不同,Orchid 需要您通过名为 screen 的类来创建管理模板的逻辑和外观。每个模板都为特定模型定义 CRUD 接口,可以从任何来源获取数据,包括 Eloquent 模型以及外部 API。此外,您还可以通过布局和组件来自定义屏幕的查询和权限以及视图层。
虽然这比使用 Nova 需要更多的手动操作,但它非常灵活,易于迭代和定制。
Backpack 是罗马尼亚开发者 Cristian Tăbăcitu 于 2016 年创建的一个 Laravel Admin 项目。它是一个强大的全能工具,因为它不仅有一个 CRUD 接口包,还有一个可选的可视化编程界面,以及它自己的 UI 框架。鉴于这种多功能性,Backpack 不是免费的,但可以为非商业用途提供免费许可。
与 Nova 和 Orchid 类似,Backpack 的核心是为应用程序的模型(简称CRUDS)提供一个 CRUD 接口,这些是管理模板的部分,操作由添加到标准 Laravel 类的方法和特点来定义。您可以从命令行生成 CRUDS,或者可以使用 Backpack DevTools 工具,它提供了一个 Web 界面,可以从用户界面快速生成 CRUDS。
Backpack 拥有自己的 UI 软件包,叫为Backstrap。这是基于 CoreUI 和 Bootstrap 4 的,能够确保您的管理站点在没有任何配置的情况下看起来整洁专业。
与我们目前看到的其他管理模板包不同,Voyager 是 Laravel Admin 应用的可视化开发平台,允许您从 UI 生成而不用敲代码。这对于某些类型的项目来说可能是完美的,但您会被限制在一个拓展性有限的 GUI 中,其灵活性远远低于代码。
Voyager 提供了一个资源管理器,无论文件是在本地存储中还是在 S3 等远程存储中,您都可以从 UI 中查看、编辑和删除这些文件。它不仅有一个菜单生成器,允许您管理网站的菜单,还有一个数据库管理器,允许您添加、编辑和删除表格。Voyager 是围绕 BREAD 功能构建的,您可以指示任何表的浏览、读取、编辑、添加和删除功能。
每当设置 Laravel 项目时,都需要定义每个实体的模型、控制器、路由和视图,这也许很乏味并且需要大量时间。
InfyOm Laravel Generator 是由印度开发公司 InfyOm 创建的工具,它是为创建 Laravel 管理网站而制作的,可以在几分钟内将您所有的模板代码构建起来。
开始一个项目时,您需要使用 CLI 或 JSON 文件定义事件及其字段,完成后您可以开始编写脚手架脚本,比如:php artisan infyom:scaffold $MODEL_NAME --fieldsFile=mySchema.json
,之后生成器将尝试创建所有的文件和内容,以实现完整的CRUD功能,包括模型、控制器、组件模版、路由、测试案例、数据表等,完成这些后,就会有一个按照您的要求配置出的 Laravel 管理网站。
Argon Laravel Dashboard 是一个基于 Bootstrap 4 的管理模板,为 Laravel 打造。其专业版(149 美元授权)含有 100+ 灵活的组件,如图表、表格等。Argon 包含一个 Laravel 后端,但非常初级,它不包括我们在其他项目中看到的用于 CRUD 接口、脚手架或可视化编程的任何特殊包。出于这个原因,我认为这个产品最适合那些想自己编写后端逻辑,且主要想在视图层得到帮助的项目。
Argon 设计系统基于 Bootstrap 4 ,并允许使用 Sass 预处理器轻松自定义 CSS 。它提供了 100 多个 UI 组件,
从按钮和表单输入到图表和图片轮播。
购买 Argon 时,您可以决定要为哪个前端库编写交互方面的内容,包括 jQuery、React、Vue 和 Svelte。Argon 还为 Laravel 后端提供了一些基本的 CRUD 实体,包括用户、角色、类别和项目。
在使用 Laravel 构建管理模板时有多种选择,每个工具都有自己的优点和缺点,您选择的工具将取决于您项目的具体要求以及您团队的优势。
本文为原创内容,版权归「码匠」所有,欢迎文末点赞、收藏、评论!转载请联系我们。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。