我為什麼冒險寫QuarkAdmin!

tangtanglove發表於2020-11-08

寫在前面

我知道這個東西是好的,但是我卻快堅持不下去了!程式發放出去了,反應卻是寥寥無幾!面對著每月的房貸、信用卡、花唄、一個月三千多的工資,著實壓力山大!

介紹

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
如果可以您可以捐助我

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章