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