你是否在研究不同的方案来为你的Laravel应用程序提供一个管理面板?一个想法是用Laravel从头开始建立它。毕竟, 这个基于PHP的框架有利于建立各种产品, 包括内部工具.
那么,问题出在哪里呢?嗯......你不仅要让Laravel开发人员参与进来,还要让UX, Design, 和Product参与进来。否则, 你就有可能给你的业务团队配备低效的工具, 危害他们的生产力。即使是Laravel的创始人也考虑到了这一点,并创建了Laravel Nova,具有开箱即用的功能,如CRUD界面,搜索,过滤器,通知,等等。但Laravel Nova是你唯一的选择吗?并非如此.我们已经测试和比较了Laravel的其他管理面板解决方案,以帮助你做出明智的选择。
目录:
1.Laravel管理面板的类型
- 视觉构建器
- CRUD接口
2.最流行的Laravel管理面板
- Laravel Nova
- 矩阵(Filament)
- 背包
- 航海家
- 快速管理面板
- 拉威尔的森林管理
3.结论
Laravel管理面板的类型
在深入研究之前, 让我们快速了解一下不同类型的Laravel管理面板, 因为区分后端CRUD界面和视觉构建器以及管理面板模板是很重要的.
视觉构建器
感谢可视化UI构建器, 你可以直接从无代码的GUI中创建和管理你的管理面板, 通常使用拖放构建器。它们提醒了CMS系统,但通常情况下,可视化管理面板构建器提供了比添加和更新内容更多的功能。
当你的团队很小,没有能够管理内部工具的开发人员,或者你想让非技术性的业务团队拥有他们使用的工具的所有权时,可视化构建器是很有用的。然而,请记住,无代码构建器通常具有有限的定制选项。
在下一节中, 你会发现对Laravel管理面板的可视化构建器的详细描述, 如Voyager和Backpack DevTools.
CRUD接口
CRUD操作是内部工具的基础。这是因为现在很难找到一个涉及用户和/或数据的应用程序不与数据库交互。每个用户对系统中的某个项目进行编辑、添加新的项目或删除不再需要的数据,都会执行CRUD(创建、读取、更新、删除)操作之一。
一个CRUD接口可以从头开始建立,但也有许多解决方案给出了开箱即用的方案。在下一节中, 你将了解到Laravel最流行的软件包, 如Laravel Nova, Filament, Backpack, 和Quick Admin Panel.
最受欢迎的Laravel管理面板
Laravel Nova
Nova是Laravel的官方管理面板, 由Laravel的创建者建立。它在前端使用Vue.js, Vue Router, 和Tailwind.css,在后端使用简单的PHP类进行配置,非常符合Laravel的生态系统。它的主要功能包括一个完整的CRUD界面,搜索和过滤器,图形和指标,授权,通知,条件字段,等等。额外的功能是由社区作为开源包提供的。
Laravel Nova: 优点
- Laravel Nova是由Laravel团队建立和维护的, 所以它符合生态系统, 其设计和功能.
- 它的用户界面是干净和用户友好的.
- 它适合大型企业项目.
Laravel Nova: 缺点
-
Laravel Nova不是免费提供的。也没有免费试用,但如果你在前14天内取消你的许可证,你会得到补偿。
-
Laravel Nova不是一个低代码的解决方案.使用它来构建内部工具比从头开始做要快,但仍然需要一些编码和Laravel, PHP, 和 composer的知识。这也意味着Laravel Nova不能被非技术性的团队成员编辑和调整。
-
开箱即用的功能是很难定制的.
请阅读Forest Admin与Laravel Nova的详细对比文章。
珊瑚礁(Filament)
与本文中的其他解决方案不同,Filament并没有宣传为一个管理面板或内部工具解决方案,而是作为一个工具集合,用于快速构建漂亮的TALL(tailwindccc, Alpine.js, Laravel, Livewire)堆栈应用程序。它有一个管理面板,一个表格生成器,以及一个表单生成器。Filament社区也在创建具有补充功能的软件包,如自定义字段、不同的集成、图表和更多。
Filament:优点
- Filament是一个开源项目,有一个强大的社区,不断建立软件包并支持其他Filament用户。
- 它是一个干净和简单的解决方案,使它有可能在几分钟内得到一个启动和运行的管理面板。
Filament:缺点
- 有一个简单的角色功能,但Filament不允许为团队和权限设置一个更复杂的系统。
- 没有可视化的布局编辑器,这不允许非技术团队成员定制他们日常使用的工具。
背包
Backpack是另一个流行的解决方案,用于运送Laravel管理面板。它需要一个最小的Laravel, Bootstrap, 和jQuery的技术堆栈来定制Backpack中的一切。在此基础上,可以(但不是必须)使用Vue, React, Webpack, Mix, Less, Saass, NPM等等。
Backpack有两个核心包。Backpack\CRUD加速了构建CRUD界面的过程,而Backpack\Base负责登录、密码重置、错误页面等。然而, 它也是模块化的, 易于扩展, 这使得它成为一个强大的解决方案, 也适用于复杂的应用程序.
Laravel Backpack:优点
-
Backpack给了Laravel开发者很多定制的机会, 与Nova和Filament相比要多得多。
-
过滤器很强大,可以很容易地实现。
-
清晰而详细的文档
Laravel Backpack:缺点
- Backpack不能免费用于任何商业用途.
- 它的定制机会是一把双刃剑,因为每一个变化都需要相当多的手动编码。
Voyager
Voyager被称为失踪的Laravel管理员, 可能是因为它不像Nova, Filament, 和Backpack, Voyager是一个可视化的构建器, 这使得它很容易被初级开发者和那些编码技能有限的人使用.Voyager有六个主要功能。媒体管理器(类似于我们从WordPress知道的), 菜单生成器(允许快速添加, 编辑和删除菜单项), 数据库管理器(替代Laravel的Schema), 一个BREAD/CRUD生成器,允许浏览, 读取, 编辑, 添加和删除数据库中任何表的条目和视图, 设置, 和帮助Voyager资源的指南针.
Laravel Voyager:优点
-
容易上手和使用, 清晰的文档和强大的社区.
-
它是免费和开源的.
Laravel Voyager:缺点
-
UI,使它很容易管理,但也有局限性。
-
它不适合复杂的应用程序,需要设置基于角色的权限,审批工作流程,以及其他不太典型的功能。
快速管理面板
快速管理面板是一个用于Laravel应用程序的在线内部工具生成器。要开始使用, 你需要在网站上注册, 创建一个项目, 并添加选择的功能, 如菜单, 字段, 和关系.然后, Quick Admin Panel会生成Laravel文件, 就像其他Laravel项目一样需要下载和安装.
快速管理面板:优点
-
快速控制面板,正如它的名字所示,是快速的。甚至网站也暗示它是一个MVP的好选择,是一个新的Laravel项目的第一个版本。
-
快速管理面板会生成Laravel代码和文件, 一切都可以在以后定制。
快速管理面板:缺点
-
你的需求和模型需要提前定义, 在Quick Admin Panel生成之前.
-
进一步的定制需要大量的手动编码。
Forest Admin for Laravel:一个多合一的Laravel管理面板
最后但同样重要的是, Forest Admin最近获得了一个新的整合, 现在它也可以用于Laravel.它集两者之大成:使用Forest Admin,你既可以得到一个开箱即用的CRUD界面,又可以自由添加适合你特定业务场景的功能,最后,它还有一个UI布局编辑器供非技术团队成员使用。
森林管理作为一个KYC解决方案的设置
森林管理。一个拖放式布局编辑器
这里还有什么使它与上面列出的解决方案不同。
-
森林管理有一个独特的混合架构。只有前端是在森林管理服务器上管理的,所以你的客户数据对森林管理是不可见的。它为你提供了无代码SaaS工具的灵活性,而不影响数据的安全性。
-
一旦你安装了Forest Admin,你就会得到30多个开箱即用的功能。CRUD、搜索和过滤器、基于角色的权限、审批工作流程、字符的低代码组件等。然后,你可以自由地定制你的管理面板,实现你自己的行动,在应用一组特定的条件后可视化数据,反映你的业务操作,建立集合之间的虚拟关系,在旅途中计算数据,等等。
-
由于一个直观的拖放用户界面编辑器和最近发布的工作空间,森林管理可以由非技术团队成员管理,他们通常每天都在使用它。
-
Forest Admin是可扩展的,所以你不需要担心如果你从MVP开始,然后庆祝指数式增长会发生什么。森林管理是由新的初创公司、已建立的独角兽公司和介于两者之间的所有类型的公司使用。
总结
正如你所看到的, 如果你不急于为你的Laravel应用从头开始建立一个管理面板, 你并不孤单.Laravel社区已经创建了几个用户友好和高效的解决方案, 包括那些我在这篇文章中没有提到的, 像Admin Architect, Argon, InfyOm Laravel Generator, LaraAdmin, Orchid, 以及更多。选择并不容易, 但回答这些问题将帮助你做出决定。:
-
你在开发, 产品, 用户体验, 和设计方面有足够的资源,以便从头开始建立一个Laravel管理面板吗?
-
你想让非技术性的团队成员掌握自己的工具吗?
-
你需要创建一个快速的MVP,或者你需要一个能从几个用户扩展到几千个用户的管理面板?