基于 magic-api 搭建自己的低代碼平臺(tái)(magic開(kāi)發(fā))
一、前言
2021 開(kāi)年“低代碼”成了熱門話題,各大云廠商都在加碼。作為普通企業(yè)的我們是否有也可以深度定制一套自己的“低代碼”平臺(tái)呢?
二、云廠商的低代碼平臺(tái)
阿里推出了易搭,通過(guò)簡(jiǎn)單的拖拽、配置,即可完成業(yè)務(wù)應(yīng)用的搭建。旨在為廣大中小企業(yè)提供一套低成本的企業(yè)應(yīng)用搭建解決方案。應(yīng)用無(wú)縫植入釘釘企業(yè)工作臺(tái),隨時(shí)隨地、高效協(xié)同。
騰訊則是推出了微搭,通過(guò)行業(yè)化模板、拖放式組件和可視化配置快速構(gòu)建多端應(yīng)用(小程序、H5 應(yīng)用、Web 應(yīng)用等),打通了小程序、云函數(shù)。
三、搭建我們自己的低代碼平臺(tái)?!
回到前言中的問(wèn)題,我們是否可以基于開(kāi)源項(xiàng)目來(lái)快速搭建我們自己的低代碼平臺(tái)呢?答案是肯定的,目前已經(jīng)有很多非常不錯(cuò)的開(kāi)源項(xiàng)目,apijson、dataway 還有后面我要重點(diǎn)介紹的 magic-api 都是非常不錯(cuò)的低代碼開(kāi)源項(xiàng)目。下面大家請(qǐng)跟著我一起來(lái)看看今天我要推薦的三個(gè)低代碼開(kāi)源項(xiàng)目:百度 amis、h5-Dooring 和 magic-api。
3.1 百度 amis(前端)
百度 amis 是一套前端低代碼框架,通過(guò) JSON 配置就能生成各種后臺(tái)頁(yè)面,極大減少開(kāi)發(fā)成本,甚至可以不需要了解前端。
3.2 h5-Dooring(前端)
h5-Dooring,讓 H5 制作像搭積木一樣簡(jiǎn)單, 輕松搭建 H5 頁(yè)面, H5 網(wǎng)站, PC 端網(wǎng)站, 可視化設(shè)計(jì)。
H5 頁(yè)面拖拽生成:
新建數(shù)字大屏:
數(shù)字大屏效果:
更多請(qǐng)查看官網(wǎng) http://h5.dooring.cn
3.3 magic-api(后端)
magic-api 是一個(gè)基于 Java 的接口快速開(kāi)發(fā)框架,編寫接口將通過(guò) magic-api 提供的 UI 界面完成,自動(dòng)映射為 HTTP 接口,無(wú)需定義 Controller、Service、Dao、Mapper、XML、VO 等 Java 對(duì)象即可完成常見(jiàn)的 HTTP API 接口開(kāi)發(fā)。
在線開(kāi)發(fā)調(diào)試 UI:
四、magic-api 搭建
自 magic-api 在開(kāi)源中國(guó)開(kāi)源,筆者一直在關(guān)注此項(xiàng)目。magic-api 搭建比較簡(jiǎn)單,跟著官方倉(cāng)庫(kù)快速開(kāi)始即可。
4.1 加入依賴
<!-- 以 spring-boot-starter 的方式引用 --><dependency> <groupId>org.ssssssss</groupId> <artifactId>magic-api-spring-boot-starter</artifactId> <version>1.3.9</version></dependency>
4.2 添加配置
server.port=9999#配置 web 頁(yè)面入口magic-api.web=/magic/web#配置文件存儲(chǔ)位置。當(dāng)以 classpath 開(kāi)頭時(shí),為只讀模式magic-api.resource.location=/data/magic-api
4.3 效果
4.4 添加接口
點(diǎn)擊執(zhí)行就可以看到效果,這里不做展示,magic-api 官方做了大量的各種各樣的功能演示,大家可以去體驗(yàn)體驗(yàn)。地址: http://140.143.210.90:9999/magic/web/index.html
4.5 magic-api 核心之 magic-script
magic-api 底層使用的是作者(小東)自研的 magic-script 來(lái)執(zhí)行腳本,他是一個(gè)語(yǔ)法類似 js 的 JVM 腳本語(yǔ)言。作者開(kāi)發(fā)很多好用的功能, 其中的 linq 功能就是非常的一個(gè)。
示例:
var list = [{ sex : 0, name : '小明'},{ sex : 1, name : '小花'}]return select * from list t where t.sex = 0
結(jié)果:
{ "sex": 0, "name": "小明"}
五、結(jié)合 mica 使用
5.1 加入 mica-bom 依賴
<dependencyManagement> <dependencies> <dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-bom</artifactId> <version>${mica.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies></dependencyManagement>
5.2 mica-logging 無(wú)縫接入
mica-logging 的接入比較簡(jiǎn)單加入依賴即可:
注意:更多配置,如 json 日志和 logstash 日志收集請(qǐng)查看 mica 文檔。
5.3 mica-captcha 驗(yàn)證碼
base64 驗(yàn)證碼:
5.4 mica-ip2region ip 轉(zhuǎn)位置信息
示例項(xiàng)目源碼: https://gitee.com/596392912/magic-api-example
從 mica 的接入可以看出,magic-api 的擴(kuò)展性非常好,更多的自定義配置和擴(kuò)展我們可以查看 官方文檔 :
六、低代碼開(kāi)源
前端:
amis(百度前端低代碼框架): https://github.com/baidu/amis
Sortable: https://github.com/SortableJS/Sortable
碼良: https://gitee.com/ymm-tech/gods-pen
h5-Dooring: https://github.com/MrXujiang/h5-Dooring
后端:
apijson: https://github.com/Tencent/APIJSON
dataway: https://gitee.com/zycgit/hasor
magic-api: https://gitee.com/ssssssss-team/magic-api
七、總結(jié)
基于 magic-api 等開(kāi)源項(xiàng)目我們也可以搭建自己的低代碼平臺(tái)。當(dāng)然開(kāi)發(fā)這個(gè)低代碼平臺(tái)我們還是需要些工作量,主要是打通 web ui 和后端接口的 api。筆者曾經(jīng)也經(jīng)歷過(guò)一個(gè)電商項(xiàng)目,很多活動(dòng)都是周五下午接到需求,周一就必須要上線。借助 magic-api 這類低代碼工具我們可以快速完成這類需求。最后,希望這篇文章對(duì)大家有所啟發(fā)。