试试低代码?免费低代码开发工具——kusuo
从2019年开始,低代码产品兴起,目前头部的几个产品包括:
- outsystem
- mendix
- powerapps
- bubble
- …
但目前,对于专业开发者而言,低代码扔摆脱不了【鸡肋】的存在,不是程序员不愿意用,本质上低代码的确不够成熟
低代码,何必是平台?
虽然低代码槽点很多,但谁都知道这玩意肯定不是一点用没有的,在部分特定领域,低代码的高效性笔者也认可。因此笔者萌生一个想法,把低代码做成一个IDE,或把一个全栈能力编程语言做成图形化,就像是vb+dreamviewer的结合体。因此就有了kusuo这个产品。这么做的好处包括:
零成本的“私有化部署”
如上图,部署kusuo应用就像 java -jar xx.jar 一样运行用低代码写好的应用,可以部署在任意服务器上,也可以pro-code服务混合部署。
开发、测试、运行 完全 “脱机”,保证数据安全
即使断网也能使用kusuo,保证用户绝对数据安全。同时也能支持有网络限制的企业制作内部系统。
资源隔离
托管式低代码平台通常会有混用服务器的情况(非全部),部分应用占用过量资源,平台也很难控制。
同时,部分低代码平台支持插件扩展,资源不完全隔离也存在插件越权问题
本地测试
像一般IDE一样,kusuo可以本地随时测试写好的应用。所见即所得。
像word一样管理版本,分享
用kusuo编写的应用,可以作为文件自由管理版本。同时也能分享给他人
关于功能设计
笔者试用过部分低代码产品,对于低代码的功能,最大的槽点就是造概念
笔者认为,开发一个应用,无外乎前端、后端、数据,因此kusuo给用户暴露的概念也只有三个核心部分——页面、工作流、数据
关于页面
拖拽设计页面是低代码的标志(表单驱动类低代码除外),但不同的低代码页面能力上限不同,从功能点上梳理为:
功能点 | 解释 | kusuo是否支持 |
---|---|---|
自定义脚本 | 脚本又分为组件脚本,例如按钮触发和页面脚,例如页面加载触发 | 支持 |
样式自定义 | 低代码样式自定义,从易用性(配置化程度、友好性)和上限上笔者认为outsystem做的最好 | 支持部分配置化和直接书写css |
丰富性的组件库 | 部分头部低代码支持插插件化 | 自带业务组件,自定义组件待开放 |
state变更 | 前端组件状态变更,通通常代码化的低代码产品才支持 | 部脚本插件简间接支持部分state变更 |
与工作流的交互 | 页面使用工作流 | 通过脚本调用 |
与数据的交互 | 页面使用内部数据 | 配置化以及表达式调用 |
iframe | 接入外部html片段 | 支持 |
kusuo对于页面功能的设计目标总结为两点:
- 非专业开发人员能够满足60%的需求,专业的开发人员能够通过写代码的方式实现100%的需求
- 分享和复用能力是IDE的生命力,懒是正义,因此插件化和块复用是kusuo的必备功能
组件配置演示
脚本配置演示
关于工作流
低代码的工作流目前有几个典型产品:
- automa
这类产品大致分为三个概念:触发器、逻辑控制节点、业务节点,主要特点为节点功能高度封装,用户不需要考虑节点实现 - pyflow
这类产品最接近代码,笔者主观认为这类产品虽然功能性最强,但一点都不“低”,本质上,学习成本不比学习一般代码低,而把他当成一个编程语言来看的话,代码表达能力奇差 - aws step function
aws stem function只能勉强算作低代码,更多作为serverless解决方案之一,本质上和automa接近,但限制了部署形式,也提升了资源成本(某些场景,例如只是一个json转化的插件,部署一个服务(或打包二进制)太奢侈)。
当然还有自暴自弃型,干脆没有工作流,支持用户直接写代码。但kusuo希望每个前端/后端开发者都能拥有全栈开发能力,所谓混合开发,即不熟练部署服务端的任何人都可以把一个工作流作为一个服务端接口(当前也可以页面调用)。综合考虑,kusuo倾向做成automa类的工作流。
工作流演示
关于数据
kusuo自带一个嵌入式数据库。为避免部署过程免去兼容动态库,选取nedb。kusuo的数据设计归纳为下图:
kusuo的设计设为归纳为模型驱动,通过数据管理适配不同的数据源。数据暴露给页面和工作流只有数据模型或对象,kusuo封装了对于不同数据源的适配。
自带数据库,满足部分用户无法独立部署数据库的需求。
对于数据安全,所有应用数据只保存在本地的nedb.db文件中。
链接数据库演示
低代码展望
以下是笔者主观对于低代码的思考,也是kusuo迭代的方向。
主要观点:
- 低代码的归宿是混合开发,低代码离不开程序员,或者说程序员使用低代码效率远高于非专业人员,因此kusuo绝对不会做成零代码,而是和pro-code有更好的连接
- 生态或者说丰富的现有“代码库”,对于编程语言是生命力,对于低代码也是
- 基础开发能力是低代码最缺乏的,例如“代码”diff,版本管理,对于低代码,部分能力的实现远高于pro-code,但对于用户,是必须
- 或许低代码会衍生出一个新的图形化全栈编程语言,有统一的语法和运行器,但会有不同的IDE,可以运行在不同的平台
- 低代码不一定只解决web场景,对于嵌入式、桌面端也会逐渐应用
附:当前一些低代码产品推荐
只评价部分国外产品:
产品 | 介绍 | 优点 | 缺点 |
---|---|---|---|
outsystem | 基于.net快速应用开发平台,提供IDE(需联网),支持私有化部署 | 功能强大,界面像外星飞船驾驶舱 | 国内使用不友好 |
mendix | 多产品低代码开发平台,针对专业开发者和非专业开发者具备不同的界面 | 功能同样强大 | 学习成本最高 |
bubble | 托管型低代码平台,用户量很大 | 界面简洁的同时功能依然脱颖 | 国内使用不友好 |
power apps/power automation | 微软打造的低代码系列产品 | 背书强,产品可靠 | 略 |
交流
发送邮件到kusuo_lowcode@163.com或加入qq群326294748,一起交流或加入kusuo
下载kusuo测试版 www.kusuo-code.com
文章来源于互联网:试试低代码?免费低代码开发工具——kusuo
试试低代码?免费低代码开发工具——kusuo交流