啥是低代码?感觉很熟悉的样子
共 3934字,需浏览 8分钟
·
2021-04-17 15:18
一、前言
2021 开年“低代码”成了热门话题,各大云厂商都在加码。作为普通企业的我们是否有也可以深度定制一套自己的“低代码”平台呢?
二、云厂商的低代码平台
阿里推出了易搭,通过简单的拖拽、配置,即可完成业务应用的搭建。旨在为广大中小企业提供一套低成本的企业应用搭建解决方案。应用无缝植入钉钉企业工作台,随时随地、高效协同。
![](https://filescdn.proginn.com/5f472a787259c0f3f42a215c3fa3854b/e76f08fdf69f08ab20d05c32d411e94c.webp)
腾讯则是推出了微搭,通过行业化模板、拖放式组件和可视化配置快速构建多端应用(小程序、H5 应用、Web 应用等),打通了小程序、云函数。
![](https://filescdn.proginn.com/3b6d327ab4520d83a7eab2ca70539c01/c7870f059054cdabe40f5a13aa38ba19.webp)
三、搭建我们自己的低代码平台?!
回到前言中的问题,我们是否可以基于开源项目来快速搭建我们自己的低代码平台呢?答案是肯定的,目前已经有很多非常不错的开源项目,apijson、dataway 还有后面我要重点介绍的 magic-api 都是非常不错的低代码开源项目。下面大家请跟着我一起来看看今天我要推荐的三个低代码开源项目:百度 amis、h5-Dooring 和 magic-api。
3.1百度 amis(前端)
百度 amis 是一套前端低代码框架,通过 JSON 配置就能生成各种后台页面,极大减少开发成本,甚至可以不需要了解前端。
![](https://filescdn.proginn.com/edb5b04e38bdecaf86fa2d94719a7ff4/97b259b114a126d207a2dcfcc35cd2b4.webp)
3.2 h5-Dooring(前端)
h5-Dooring,让 H5 制作像搭积木一样简单, 轻松搭建 H5 页面, H5 网站, PC 端网站, 可视化设计。
H5 页面拖拽生成:
![](https://filescdn.proginn.com/ce46449325cece4b284598d630dd6b4a/6a1681f0df0b788d84f61a7e3be7a57e.webp)
新建数字大屏:
![](https://filescdn.proginn.com/3eac6eadf33bed4defdb341f0c43b7c7/923b20ef739e3613203b72e474d81909.webp)
数字大屏效果:
![](https://filescdn.proginn.com/5fccf987a9176c4451f3a6a061441d46/03538c0675a63e7c3daf3ce3768ae2c7.webp)
更多请查看官网http://h5.dooring.cn
3.3 magic-api(后端)
magic-api 是一个基于 Java 的接口快速开发框架,编写接口将通过 magic-api 提供的 UI 界面完成,自动映射为 HTTP 接口,无需定义 Controller、Service、Dao、Mapper、XML、VO 等 Java 对象即可完成常见的 HTTP API 接口开发。
在线开发调试 UI:
![](https://filescdn.proginn.com/9a8f6edfe607165fb45419d2013fa14c/5379aec2f21b139b2c7ad416c5a99272.webp)
四、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.0.1</version>
</dependency>
4.2 添加配置
server.port=9999
#配置 web 页面入口
magic-api.web=/magic/web
#配置文件存储位置。当以 classpath 开头时,为只读模式
magic-api.resource.location=/data/magic-api
4.3 效果
![](https://filescdn.proginn.com/e8693567d80a69735cbc9c345a78150e/f928ad0261f2520f5dbc8c6e5bef5000.webp)
4.4 添加接口
![](https://filescdn.proginn.com/0a89aea7ee9e70f93fecf549d8ec6882/b6f9d4dc7a6b5f340f9e9df0bc2c155e.webp)
点击执行就可以看到效果,这里不做展示,magic-api 官方做了大量的各种各样的功能演示,大家可以去体验体验。地址:http://140.143.210.90:9999/magic/web/index.html
![](https://filescdn.proginn.com/36b2ef09e8ccce1f4e8ff614aabd9999/87790485ae0581838da476aece7bea7c.webp)
4.5 magic-api 核心之 magic-script
magic-api 底层使用的是作者(小东)自研的 magic-script 来执行脚本,他是一个语法类似 js 的 JVM 脚本语言。作者开发很多好用的功能, 其中的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 的接入比较简单加入依赖即可:
![](https://filescdn.proginn.com/9e5cfe4e777e39f856fc0eb7770dc24b/36749c82ce5e0505fb378cee5ce33ee6.webp)
注意:更多配置,如 json 日志和 logstash 日志收集请查看 mica 文档。
5.3 mica-captcha 验证码
base64 验证码:
![](https://filescdn.proginn.com/18368317e5ed419ffb9fbf38b7be65f9/7ab568bd284b515d0930651ee7aac364.webp)
5.4 mica-ip2region ip 转位置信息
![](https://filescdn.proginn.com/7e396dc2d1cc2c841612e701510d6eed/348e38e60cfb77e7c1bc94b8064aa1e2.webp)
示例项目源码:https://gitee.com/596392912/magic-api-example
从 mica 的接入可以看出,magic-api 的扩展性非常好,更多的自定义配置和扩展我们可以查看官方文档:
![](https://filescdn.proginn.com/982584e46446ae8e81d89b7a0511f8fb/45bc93c0bcbd9ab5f123d5a58ecafae9.webp)
六、低代码开源
前端:
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 等开源项目我们也可以搭建自己的低代码平台。当然开发这个低代码平台我们还是需要些工作量,主要是打通 web ui 和后端接口的 api。笔者曾经也经历过一个电商项目,很多活动都是周五下午接到需求,周一就必须要上线。借助 magic-api 这类低代码工具我们可以快速完成这类需求。最后,希望这篇文章对大家有所启发。
2021-04-08
![](https://filescdn.proginn.com/fa46521f3e1e5d0ced064c1e89b5bb5d/0f6a334c5833f14b1ef51bb069e0adbd.webp)
2021-04-08
![](https://filescdn.proginn.com/0b27812eaedb0b92c3d5995481425060/9e4d11441ee09e33cdb8d14334dc28f2.webp)
2021-04-06
![](https://filescdn.proginn.com/3ab3ce135c212ad68f8451be7419aecc/00c12607f7bbeb269baa5becde4aeb1a.webp)
2021-04-02
![](https://filescdn.proginn.com/b2355ca019115808c2ea67037e29189f/c8265427118174e6c215002524d05c39.webp)
2021-03-29
![](https://filescdn.proginn.com/2241e0cf17dd5c0ad5195d53e198cbe2/aabd5cfc7918fae87107f8157e7926cb.webp)