幾分鐘內(nèi)上線一個網(wǎng)站,這些神器我愛了!

這是「進(jìn)擊的Coder」的第 598?篇技術(shù)分享作者:小 G來源:GitHubDaily
“
閱讀本文大概需要 9 分鐘。
自 2014 年國外著名研究機(jī)構(gòu) Forrester 正式提出「低代碼」概念以來,便開始受到技術(shù)圈的廣泛關(guān)注。
其實,早在上世紀(jì)的八十年代,美國那邊便有相關(guān)企業(yè)和機(jī)構(gòu)在試水研究可視化編程,探索這一特性在未來市場的發(fā)展?jié)摿Α?/span>
2010 年,美國麻省理工媒體實驗室(MIT Media Lab)對外發(fā)布了一款簡易版圖形化編程工具:Scratch。讓用戶可通過拼接積木,來快速完成編程開發(fā)工作。
在編程教育越來越被重視的時代,這一工具也被多家教育機(jī)構(gòu)逐步應(yīng)用到了兒童編程教材中。
由此可見,低代碼編程,在現(xiàn)階段互聯(lián)網(wǎng)業(yè)務(wù)瘋狂增長的帶動之下,也有了新的使命和義務(wù),即幫助開發(fā)者在前期以較低成本的方式,快速構(gòu)建一個可投入市場的應(yīng)用。
作為國內(nèi)外程序員大佬云集的技術(shù)社區(qū) - GitHub ,在低代碼需求的爆發(fā)之下,也出現(xiàn)眾多高質(zhì)量的低代碼工具。
下面便跟大家盤點一下,我在 GitHub 上看到的幾款比較優(yōu)秀、靠譜的低代碼工具。
ToolJet
作為 GitHub 上一個開源的低代碼開發(fā)框架,ToolJet 提供了豐富的可視化工具箱,僅需幾步,即可快速構(gòu)建企業(yè)級部署工具。
下面這張圖,完整展示了 ToolJet 的工作流程。

圖左側(cè),展現(xiàn)了它所對接的外部數(shù)據(jù)源,包括數(shù)據(jù)庫存儲、云平臺、第三方接口服務(wù)等。
圖右側(cè),主要它所映射的具體功能,如項目應(yīng)用、數(shù)據(jù)面板、表單等。
當(dāng)然了,低代碼工具,最看重的,就是外部數(shù)據(jù)源的支持。
通過該框架的 API,你可以快速對接 PostgreSQL、MongoDB、Elasticsearch ?等多種外部數(shù)據(jù)源,以及常用的第三方服務(wù),如 Stripe、Slack、Airtable。

在項目開發(fā)層面,作者為了盡可能降低附屬功能的耦合度,作者還內(nèi)置了插件功能。
通過該框架的插件功能,我們便可以基于 JavaScript 來構(gòu)建連接器,用 React 開發(fā)項目組件,并通過命令行進(jìn)行插件管理,非常方便。

Star:8900+
GitHub:https://github.com/ToolJet/ToolJet
Yao
作為一款開源的低代碼開發(fā)引擎,用開發(fā)者的原話說,Yao 的主要作用,就是讓你無需編寫一行代碼,即可快速創(chuàng)建 Web 服務(wù)和管理后臺,大幅解放生產(chǎn)力。

該工具內(nèi)置了一套數(shù)據(jù)管理系統(tǒng),通過編寫 JSON,幫助開發(fā)者完成數(shù)據(jù)庫模型、API 接口編寫、管理后臺界面搭建等工作,實現(xiàn) 90% 常見界面交互功能。
適合快速制作各類管理后臺、CRM、ERP 等企業(yè)內(nèi)部系統(tǒng)。

從技術(shù)上看,Yao 基于 Go 語言編寫而成,可支持多種方式擴(kuò)展數(shù)據(jù)流處理器。這就是的它擁有極好的通用性,在大部分場景下,應(yīng)用性能和資源占比上優(yōu)于 PHP、Java 等語言。功能復(fù)用性和編碼效率,最終成效也頗為亮眼。
另外,項目中內(nèi)置管理系統(tǒng)與 Yao 并不耦合,開發(fā)者亦可采用 Vue、React 等任意前端技術(shù)實現(xiàn)管理界面。
Star:3400+
GitHub:https://github.com/YaoApp/yao
mometa
該項目作者是百度的一位工程師,從設(shè)計理念上看,該項目對標(biāo)的不是傳統(tǒng)主流的低代碼平臺,而是面向研發(fā)的、代碼可視設(shè)計編輯平臺。
對于程序員來說,它更像是 Dreamweaver、GUI 可視編輯工具。

項目功能不少,這里簡單舉幾個示例給大家看下。
視圖拖拽移動:

可視化插入物料:

基于視圖,定位代碼:

總的來說,該項目的主要功能有:
對低代碼平臺不形成依賴,二次開發(fā)可以無縫進(jìn)入代碼開發(fā)模式;
支持所見即所得的可視編輯,用于優(yōu)化開發(fā)體驗;
可自定義物料,提升功能復(fù)用率。
此外,作者還提供了多語言支持,并開放物料生態(tài),讓開發(fā)者可定制團(tuán)隊內(nèi)物料庫。物料庫支持熱更新,不會破壞已有開發(fā)模式。
Star:2600+
GitHub:https://github.com/imcuttle/mometa
sparrow
國內(nèi)一位開發(fā)者開源的場景化、低代碼搭建工作臺:sparrow,可實時輸出源代碼。
其核心目標(biāo)僅有一條,即幫助開發(fā)者「提升研發(fā)效率」,因此它的功能就不只是單純 UI 的可視化搭建,還提供了函數(shù)級別的搭建,業(yè)務(wù)邏輯代碼組裝,生成可二次開發(fā)的源代碼等功能。

除此之外,它還具備以下功能特性:
低代碼開發(fā):快速生成可讀性強(qiáng)、Vue element-ui 組件庫的源代碼。
可視化開發(fā):通過 GUI 生成頁面代碼源文件。
資產(chǎn)市場:代碼資源共享,包含組件、編輯區(qū)塊、靜態(tài)區(qū)塊、搜索業(yè)務(wù)組件、插件、場景搭建編輯器。
Star:2200+
GitHub:https://github.com/sparrow-js/sparrow
Budibase
這個項目,基本符合了開箱即用、UI 設(shè)計簡潔精美、功能強(qiáng)大的要求。
它能幫你更快開發(fā)商業(yè)級應(yīng)用,目標(biāo)是在幾分鐘內(nèi),幫你快速構(gòu)建一個內(nèi)部應(yīng)用程序,支持單頁面項目,具備自動化工作流程、響應(yīng)式設(shè)計、外部數(shù)據(jù)源對接等特點。

在數(shù)據(jù)源的對接上,支持 PostgreSQL、MySQL、MongoDB、Rest API、Docker、K8s 等主流數(shù)據(jù)庫與開發(fā)工具。
也就是說,你可以將 Budibase ?連接到外部數(shù)據(jù)庫、或從 RestAPI 提取數(shù)據(jù)、導(dǎo)入 CSV 等多種方式,快速使用 Budibase 的內(nèi)置數(shù)據(jù)庫。
更為人性化的一點,是它還可以使用 Webhook 來集成其它平臺的工具,簡單配置一下,即可擴(kuò)展更多豐富功能。同時,它也支持通過用戶群組權(quán)限劃分,幫你打造一款更為完善的應(yīng)用程序。
Star:7900+
GitHub:https://github.com/Budibase/budibase
appsmith
作為當(dāng)下可能是 GitHub 最火的,Star 數(shù)最多的低代碼構(gòu)建平臺,appsmith 可對接各類數(shù)據(jù)源,幫你快速搭建管理后臺、開發(fā)工具、企業(yè) CRM 系統(tǒng)等各類項目。
項目內(nèi)置 35 個預(yù)構(gòu)建的可視化 UI 部件,同時擁有多人協(xié)作、私有服務(wù)器部署等功能,讓你可以更為靈活的完成應(yīng)用開發(fā)。

它的工作原理也十分簡單,主要分三步進(jìn)行:
連接數(shù)據(jù)庫或 API;
將數(shù)據(jù)對接到 UI 組件或自定義的 JS 上;
立即發(fā)布與分享應(yīng)用。

有同學(xué)可能會擔(dān)心,數(shù)據(jù)庫的對接,又得編寫不少代碼來完成適配,在這一點上,你的擔(dān)心完全沒必要!
對接所有的主流數(shù)據(jù)庫或其它數(shù)據(jù)格式,基本上都可以在界面上輕松完成配置,或者也可以直接通過復(fù)制粘貼來請求 API 接口,快速實現(xiàn)數(shù)據(jù)源的對接工作!

總而言之,這個項目可以說是超級贊了!
便捷靈活、開發(fā)成本低、用戶體驗好,這也是它能在幾個低代碼開源平臺中脫穎而出,達(dá)成破萬 Star 成就的主要原因。
Star:10200+
GitHub:https://github.com/appsmithorg/appsmith
相信在不久的未來,國內(nèi)對低代碼這塊需求,還是有增無減的。
寫在最后
文章最后,還是得提醒大家一句。
低代碼在使用的同時,也是一把雙刃劍,用好了能簡化項目的開發(fā)流程,完成產(chǎn)品的快速迭代升級與測試。用不好,則可能使項目代碼變得臃腫且難以維護(hù),甚至導(dǎo)致數(shù)據(jù)泄露。
因此,針對具體使用情況,我想給出以下幾點建議:
使用時,最好先完整閱讀項目的官方文檔;
盡可能先在一些小項目或初級項目進(jìn)行嘗試;
保證數(shù)據(jù)的可控性與安全性,平臺最好選可自托管服務(wù)器的;
時刻做好數(shù)據(jù)備份,必要時可隨時導(dǎo)出數(shù)據(jù),切換平臺。
要做到以上 4 點,其實還是需要一點編程基礎(chǔ)的,這也是為什么我們會將這些項目稱之為低代碼,而非無代碼的主要原因。
好了,以上就是本期給大家推薦的,GitHub 上幾個比較實用且高質(zhì)量的低代碼開源平臺。
文中所提到的所有開源項目,已收錄至 GitHubDaily 的開源項目列表中,有需要的,可訪問下方 GitHub 地址或點擊「閱讀原文」查看:GitHub:https://github.com/GitHubDaily/GitHubDaily
End
崔慶才的新書《Python3網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn)(第二版)》已經(jīng)正式上市了!書中詳細(xì)介紹了零基礎(chǔ)用 Python 開發(fā)爬蟲的各方面知識,同時相比第一版新增了 JavaScript 逆向、Android 逆向、異步爬蟲、深度學(xué)習(xí)、Kubernetes 相關(guān)內(nèi)容,?同時本書已經(jīng)獲得 Python 之父 Guido 的推薦,目前本書正在七折促銷中!
內(nèi)容介紹:《Python3網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn)(第二版)》內(nèi)容介紹

掃碼購買
好文和朋友一起看~
