我为什么冒险写QuarkAdmin!

写在前面

我知道这个东西是好的,但是我却快坚持不下去了!程序发放出去了,反应却是寥寥无几!

介绍

QuarkAdmin 是一个可以帮你快速搭建管理后台的工具;它提供的丰富组件,能帮助您使用很少的代码就能搭建出功能完善的管理后台。

我为什么写QuarkAdmin

2015年,萌芽

应该是在2015年的时候就有了用后端代码来渲染前端这个想法,那会还是jquery横行的年代,第一个项目是用thinkphp做的叫做minishop,当时的想法很纯粹就是将表单的渲染用类去封装,后台调用类的属性前台组合表单。但碍于当时水平有限,最终流产(其实还有一个原因,后面会讲到)。

2017年,思考

时间来到2017年,由于当时维护的项目越来越庞杂,各种奇葩需求纷至沓来,导致了程序代码越来越乱、质量越来越差;再加上团队里开发人员个各种奇淫技巧任意发挥,致使开发效率极度降低、代码维护成本陡升!这段时间我开始思考如何解决这个问题,首先想到的是要强制规范,这里的强制规范最好是在最底层就给限制上!然后开始了前后端完全分离的计划,在前端框架选型上当时有react、vue两个选项,最好是有一个现成的UI,如果没记错的话那时ElementUI应该是起步比较早的,那会儿还用ElementUI做了个WEB OS,如果你有兴趣可以看看我当时的代码,这是一个仿MAC OS的WEB OS系统,类似当年的WEBQQ,应该说做的还算OK,不过后来很久没有在维护了。

2018年,另一个系统

在2018年的时候,接触到了Ant Design,对比ElementUI,从美观度上来说,个人更喜欢Ant Design;就是因为UI美观的原因,开始了前端用React的旅程,后端的架构还是没有开窍,还用传统FormBuilder类似的思路,当时并没有做出composer的扩展包,你如果感兴趣,可以看看我当时开发的FullStack系统。

2019年,扩展包

当时FullStack也只是简单的做了推广,在团队内部小批量试用;后来有人提出为何不做出扩展包,好吧我承认是一个好主意,于是就着手开发扩展包,在开发扩展包的过程中,逛论坛看到了Laravel-Admin相关介绍,原来早就有人在做了,然后看了一下文档,哇偶!原来Table、Form都可以绑定Model的,一语惊醒梦中人!以前的思路是UI的渲染与数据的操作分开(有一点点类似Laravel-Nova),后来评估绑定了Model对与代码的构架就简单多了!然后就开始了新思路的准备工作。

2020年,诞生

由于疫情的原因,在家有了一定思考新架构的时间,于是整理了一下架构:CMS、UI、Admin。
CMS:基于Admin后台开发的内容管理系统;
UI:通过接口动态生成页面的前端引擎;
Admin:通过代码给UI引擎提供Json数据,UI生成页面。
于是就有了:QuarkAdmin

一些感悟

Vue 与 React

Vue入门简单、React入门难度高一点;对于大项目我更倾向于React,对于项目维护更友好。

为什么选择QuarkAdmin

现在QuarkAdmin的竞品有很多,例如:Laravel-Admin、Dcat-Admin等;QuarkAdmin选择的解决方案是前后端完全分离,前端引擎规范接口数据,并不会排斥任何后端语言(也没准将来出java版)。拥抱React丰富的组件生态,React、Vue必然是王道!选用Ant Design Pro作为前端解决方案,各种组件套餐应有尽有!对比Laravel-Admin,QuarkAdmin彻底摒弃Jquery的开发模式,摆脱JS库东拼西凑的尴尬局面!前后端完全分离开发体验真的是超爽的,无论是后端还是前端都清晰明了!

希望得到支持

希望您能多多关注我的项目,您的关注是我前进的最大动力
github CMS仓储:quark-cms
github 后端仓储:quark-admin
github 前端仓储:quark-ui
如果可以您可以捐助我

xKSmqlhaR4.jpg!large
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 3年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 57

我一开始是先学 React,感觉 PHPer 可能更习惯 React,毕竟是 FaceBook 写的。这两者入门都简单啦,只是 React 比较陡峭。React / Vue 各个东西都要自己组装,JavaScript 依赖 100+ :see_no_evil:

3年前 评论

@小李世界 嗯,所以用React或者Vue都有比较大的优势

3年前 评论

刚开始我也觉得写在 model 这种方式挺好的,后来看了你的源码确实不错,我也是脑洞打开的感觉!再后来,发现不是那么回事了!

如果你要写多端的时候,这一个model 如何适应多个终端呢?

后来还是觉得 Laravel-Nova 是对的,laravel 就单纯提供API 数据,多端去调用就行了!

而且现在有多端的react的小程序开发软件,就简单多了! 一个PC+一个多端REACT ,搞定!

3年前 评论
fatrbaby

代码维护成本"陡升",不是"斗升"。

3年前 评论

@dongzhiyu 其实你看代码结构,绑定模型并不是必须的,每个功能都是封装的组件,组件可以直接渲染出来,不一定要绑定模型;这个在最初设计的时候已经考虑了;也许将来Laravel-Nova与Laravel-Admin两种模式并存,只不过现在来说Laravel-Admin的受众更多一点儿

3年前 评论

@dongzhiyu 在开始构思的时候已经评估过Laravel-Nova与Laravel-Admin;所以基础架构上已经埋了点,方便以后转型

3年前 评论
dongzhiyu 3年前
tangtanglove (作者) (楼主) 3年前

嗯。赞一个, ant design 的 ui 的确比 eleme ui 的好看丰富。

3年前 评论

可以弄个 qq 群啥的。

3年前 评论

@七月羽歌 QQ群:947037389,欢迎加入

3年前 评论

我觉得 ui 可以设计的好看点。界面是普通用户的第一印象。其实可以参考下 Dcat 那种风格。

3年前 评论

@youxx UI用的是Ant Design Pro,我还是挺喜欢Ant Design的风格的,简单明了

3年前 评论

对于后台颜值,大家去看看 themeforest.net/category/site-temp... 吧,Ant、eleme等实在是丑爆了

3年前 评论
小李世界 3年前

@wongvio 后台的颜值重要,但是UI组件的生态也很重要,二者需要权衡

3年前 评论
七月羽歌 3年前
wongvio 3年前
tangtanglove (作者) (楼主) 3年前

理想很肥,现实很瘦,有这个能力用得了你这个CMS的个人一般会自己整一套,如果是企业更会让自己的团队弄一套属于企业的东东,所以你这个不同于laravel-admin,会用的人很少,有会用的人也会很少会用你的;这就是现实! :see_no_evil: :see_no_evil:

3年前 评论

@wengoo 嗯,这是一个问题,懂后端的不怎么懂前端,懂前端的不太懂后端;但是我尽量在UI引擎上满足大部分的需求,也希望有能力的人一块儿添砖加瓦。

3年前 评论

@wengoo 虽然现实很骨感,但是也有充满理想不是,万一理想实现了呢

3年前 评论

@wengoo 退一步来说,即使其他人用的少;我自己的CMS可以用这个库,QuarkAdmin项目不成还有QuarkCMS项目顶着,QuarkCMS可以往DeDeCMS、WordPress上面去发展

3年前 评论
wongvio 3年前

不是很明白,哪里在冒险了?

3年前 评论

@kphcdr 因为不知道能否推广出去,懂前端的(React、Vue)很少有人懂PHP,懂PHP的很少有人懂(React、Vue),所以这种方案比较冒险。

3年前 评论
kphcdr 3年前
daniuwo 3年前

需要的是一个 独立的前端用户中心,不是和框架一起的大杂烩,很多做这种集成的,API搞得乱七八糟,RESTFul+OAuth2.0 很难吗?

3年前 评论

@Larva 嗯,是这个道理,但是期初还是得大杂烩,因为大多数人的想法还是拿来主义。

3年前 评论

@Larva 这样是我分拆了:Admin,UI两部分的原因,但是前期不行。

3年前 评论

权限和菜单都应该自动化的啊,可以搞个脚本自动生成,否则简直类似个人,而且权限很多情况需要的更细致的吧,啥页面上的小按钮都有可能需要单独权限来控制

3年前 评论
七月羽歌 3年前

@snower 权限可以后台同步,菜单只能手动添加,权限可以细分的

3年前 评论

@houtizong 欢迎试用,绝对可以

3年前 评论

可以看出来你是一个技术大牛,但为什么一个月只有三千多的工资呢?

3年前 评论
pangxianfei

之前我,我开发自己的CMS的时候,也考虑过使用React、Vue。但是开发成本上去了。后来还是放弃了。改用Layui admin,让二次开发成本降下来。 1.能让前端解放PHP代码 2.像织梦庞大的用户群,后来我问了他们,织梦漏洞那么多,为什么还用它呢。原因他们喜欢它的标签库,也就是一个前端不懂PHP的,都可以完成模板开发交付项目。 3.楼主出发点是很好,但是能使用它的,必须是开发者。感觉用户没有选择的余地。

3年前 评论

@pangxianfei 现在的市场已经不是原来那个个人站长、屌丝丛生的年代。从我们现在接收的项目来说:企业建站、展示型的网站已经是逐年萎缩,所以以前那种自己研究个CMS就敢说会开发,会编程情况已经很难发展了。

3年前 评论

@pangxianfei 所以这个系统并不是完全给没有基础的个人站长的。

3年前 评论

反映寥寥无几,给你两个建议,一写单元测试,给使用人以安全感,二把文档翻译成英文,让更多人使用,我的开源项目,首次使用的人是一个巴西人,另外一个项目首次使用人是一个波斯语国家

3年前 评论

@tu6ge-php 慢慢来吧,一个人精力有限

3年前 评论
adays

我是一个初级 Laravel 用户,看了你的后台,觉得挺好啊,界面优雅、清晰。 别悲观,加油。 :+1:

3年前 评论

file 有没有分析过为什么会这样。

3年前 评论
小李世界 3年前

Vue 入门简单、React 入门难度高一点;对于大项目我更倾向于 React,对于项目维护更友好。 更重要的是REACT的更新迭代很快,一个hooks,就能解决很多问题了!

3年前 评论

@dongzhiyu 赞同,Vue开发移动端会更好

3年前 评论

@dongzhiyu 赞同,Vue开发移动端非常爽!

3年前 评论

@tangtanglove VUE 那叫开发一时爽,很快就要到火葬场! 一个VUE3.0,吭哧吭哧快3年,而且又要重新编写! React稳定的很,学习成本初期会高些,后期学习会很低的!

3年前 评论

@tangtanglove 你再看看ant pro 5.0 体验版, Dav这样臃肿的数据流也删除了! 就是一个hooks 就搞定了啊! 多简单!

3年前 评论

Vue、React 初期感觉都差不多,React 其实很简洁,就是一个 V。2017年我花了三天学了 React,两天写了一个小应用,那时候有 ES5 写法,ES6 写法,还得区分,我习惯写 ES 6,再后来上 hook,这期间经过纯前端,伪前后端分离(同仓库),真·前后端分离

3年前 评论

赞赏码可以放小一点。。2333

3年前 评论
Dennis_Ritchie

:+1:

3年前 评论
xiaoAgiao

想问一下 这个相比 fastadmin和laravel-admin有啥优势

3年前 评论

刚看到,关注一波。新项目准备那你项目学习学习。

3年前 评论

这是个大佬,得赶紧夸他!另外有个不成熟的意见,看过很多大佬撸前后端分离都是ant或者是element,如果可以的话,可以考虑换成vuetify或者quasar,这两者风格更“清新透亮”一些。

3年前 评论
小李世界 3年前

这个写后台管理,能用来写前端页面吗?

3年前 评论

还有个框架是 Laravel-vue-admin 和作者思路一致,只是前端框架不同,可以去看看

3年前 评论

前端用的 umi 上 ts,挺赞的 :+1: ,不过同时也会给不熟悉 ts 的后端带来不低的上手门槛

3年前 评论

想做就做挺 nice 的,加油 :+1:

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!