我低代碼開源這幾年

程序員他愛做夢 2024-06-07 22:02:37
我低代碼開源這幾年

嗨,同學們,久違了。

距離上次更新文章已經有2年了,今天突然有感,回顧下我研究低代碼並開源這幾年。

緣起H5生成器

該從哪裏說起呢...回想當時我剛進公司的時,因爲公司是做文旅的,所以需要大量H5活動頁。當時只有活動頁管理,單純用圖片、文字、背景圖的組成的一個大表單進行配置,非常繁瑣、局限。當時正好看到政采雲的魯班平台,大受震撼,所以在當時就萌發了爲公司一套H5生成器的想法。

于是就從零開始研究,仿照魯班花了3個月自己搞了一個H5生成器,它用于公司活動頁搭建。現在這個平台任在公司大量老項目中使用,用我現在眼光看來它過于簡陋和臃腫,但勝在穩定,能正常跑的就不要瞎升級。

H5生成器

當時H5生成器剛出來確實有效提高了運營大量活動頁創建的效率,不過隨著頁面數量創建日劇,也暴露出了它的不足。維護這個平台穩定運行大半年後,我根據大量寶貴的實際反饋,決定洗濯磨淬,研發新的可視化搭建平台

Mall-Cook 開源

在大量市場調研後,我決定結合有贊saas電商業務與uni-app多端編譯的特點開發一新平台,也就是現在的 Mall-Cook 零代碼平台。

Mall-Cook旨在開發一個供運營、産品快速搭建商城的可視化平台。其實現了可視化頁面搭建、組件流水線式標准接入、搭建頁面多端生成(H5、小程序、APP)、運營/産品低學習成本維護等特點。

當時在github開源後, 迅速得到了很多小夥伴的支持和反饋,也給了我持續叠代的決心。項目在開源之初,就獲得了阮一峰技術周刊等多個公衆號的項目推薦,star也隨之急速增長,短短3個月就破了2K。爲了感謝大家的支持,我也投桃報李寫了一套Mall-Cook從零的平台開發教程。

Mall-Cook開源至今,也取得了一些成績:

平台注冊用戶突超3萬平台累計搭建頁面超5萬免費助力100+公司項目賦能低代碼

項目現已非常穩定,如有需求可fork項目根據實際業務自行改造。

雲搭在公司落地

在Mall-Cook開源經曆大量優化後,我決定用它替換老的H5生成器,讓公司的可視化搭建更新換代。

平台經過改造後快速接入了公司業務,並在公司個性化業務改造後,這個新改造的平台我把它命名爲雲搭。

某文旅小程序

某指揮調度小程序

多端渲染

經曆幾個項目的開發,雲搭平台的優點也逐漸體現:

低成本接入:雲搭平台接入一個業務小程序/H5的改造時間只需要2天左右,只需要2天即可讓一個小程序/H5擁有基礎的可視化搭建能力。多端渲染:渲染器使用了uni-app這個小程序開發最多的語言,使得它天然具有多端渲染的能力,如上圖文旅小程序,我們是要求APP/小程序雙端交付,並且需支持H5端活動頁搭建,雲搭現有架構能直接滿足。豐富運營:某個公司交付項目,甲方運營已自主運營快一年,自主搭建頁面500+,支持全年各個節假日、活動、電商節等。架構清晰:低代碼架構設計時,實現低代碼引擎與低代碼渲染器平台解耦、嵌套通信,能簡單方便的更換渲染器。物料設計了一套完整物料Meta協議,協議支持基礎屬性、對象、數組等任意props結構的組裝,同時支持通信交互(控制顯影、設置操作)。這樣開發物料的話,我們只需要開發組件和定義對應的meta.json即可。

我眼中的低代碼

雲搭不是一個能超高自由度的企業級平台,卻是一個對移動端産品賦能低代碼最友好的項目。輕量平台、接入成本小、叠代心智低、零操作成本、多端渲染的特點。這些都是從H5生成器開始我不斷根據用戶反饋不斷修正,凝聚的優點,後續的開源是在它的基礎上繼續探索。

我覺得低代碼平台應該是一把手術刀,精准的切在項目的痛點,降本增效。盡量在開發成本、叠代成本、操作成本超低的情況下,盡量賦予更自由、更豐富的頁面搭建。

時不時有同學拉我進技術交流群,經常我在進群介紹自己開源時,有水友說公司使用過Mall-Cook改造過公司項目(小程序爲主)。最近一年多差不多遇到20個左右,所以估算一下至少有100+公司通過Mall-Cook實現了公司項目低代碼改造。

這是我作爲作者最高興的點,我覺得我上述理論並不是空談,用戶的反饋、公司的落地支撐起了我的空想。

探索一條自己的低代碼之路

大概一年半前吧,我開始了新平台的構思,基于Mall-Cook的核心設計,開發一個更優秀的低代碼平台。

生病

不過去年年中,就是雲搭落地公司和公司業務最忙的時候。那時候同時進行公司兩個大項目的開發,那段時候一連幾個月的996,最忙的時候5天內熬了2個通宵。後來,有一天早上起來就突然就生病了,在醫院住了半個月,後面陸續再醫院治療了小半年。現在想想真是不該那麽拼,活是幹不完的,身體才是自己的。

後來工作和開源都不那麽拼了,佛系一點慢慢來。希望同學以此爲鑒,都對自己好點...

平台遠程物料研究

在病逐漸恢複的10月,我才重新拾起新平台的開發。新平台我計劃首先實現遠程組件加載,遠程組件加載在低代碼的使用其實並不新鮮。目前主流的是 umd 組件方案,直接引入html或者挂載到windows上,簡單方便直接一把梭,許多H5搭建平台都是這個方案。我采用的是最新的 esm 組件方案,但隨著年 Vite 、Snowpack 的發展,ESModule 一定是大勢所趨,這種方案也肯定是未來的主流。

我計劃是開發物料發布鏈路,它包括:

物料腳手架,提供基礎或模板物料項目創建平台組件在線預覽,支持搜索cdn內上傳組件的在線預覽物料面板可視化搭建,選擇組件後,可在線拖拽設置器可視化組裝屬性面板

當我把流程完成後,發現一個無語的事。因爲平台要支持多端渲染的優點,那就要支持小程序異步加載遠程組件。我把幾種uni-app、taro都試了,taro vue3 版本,只能支持在小程序加載前引入defineComponent,只能支持遠程加載,並不能異步。uni-app vue3直接不用想,defineComponent api直接禁用。(uni-app的底層比起trao真是辣雞得不能再辣雞了,比如動態渲染到了vue3版本還是不行,後續其他功能我也在uni-app上踩了好多坑,這個語言從技術層面不想吐槽了,國內果然是業務爲王)

這個問題我來回折騰了一個月,什麽方法都試了都不行。果然別想用其他手段繞過,小程序繞過上限2M的限制。後面我只能面臨選擇,是保留遠程組件加載做個H5搭建平台,還是放棄它選擇多端渲染。掙紮後,我選擇了多端渲染,保留我去蕪存菁的核心設計。

那麽就推到重來...

推到重構

那麽就重新確定新平台的核心,在原有Mall-Cook的設計上凝聚、拓展、優化。

在老平台的基礎上,新增了(以下僅爲開發展示,並未是最終成品):

支持嵌套物料,支持tab容器

支持獨立表單搭建

支持表單詳情、表單列表自定義設計

詳情頁設計

列表設計

單項設計

自定義列表擴展業務場景,在多端渲染與自定義表單組合下,提供小程序、問卷、圖文、H5等場景創建(可以根據實際使用開發更多場景)

爬蟲海量圖片、視頻組建資源庫

産品封面自動截圖生成用戶産品社區pnpm Monorepo結構,抽離物料,獨立渲染器,支持多個獨立共用一套搭建引擎(uni-app/h5項目)其他需求開發中...

在盡量在開發成本、叠代成本、操作成本超低的情況下,賦予平台更舒適的操作體驗、更自由的流式布局、整體簡單直接的curd表單操作,給一個産品提供多種可視化搭建業務場景。一個相似又全新的平台,這就是我正在做的。新項目快則1、2月,慢則3、4月會完成,現在比較佛系,用空就會做做。

作者:雨盡闌珊鏈接:https://juejin.cn/post/7374063041875673107

0 阅读:62

程序員他愛做夢

簡介:感謝大家的關注