AppSmith 是什么?如何使用,AppSmith开源低代码开发工具介绍

A kitten
谢科
卡拉云创始人
最近更新 2022年07月18日

appsmith 怎么用?评价如何

AppSmith 低代码开发工具来自一家印度创业公司,AppSmith 可以轻松帮我们搭建企业后台管理系统。AppSmith 从 2019 年开始开发,到现在 Github 已经发行了多个版本,也就是处于正式发行状态。

AppSmith 可以快速搭建企业后台管理系统,数据看板,数据工具等,简单鼠标拖放即可生成前端组件。可快速连接 RESTful API 、数据库等,可以在前端直接写 js ,实现复杂的代码逻辑。

AppSmith 的原型是另一家叫Retool的美国创业公司(体量比 AppSmith 大),当然国内也有本地化做的非常棒,类似的低代码开发平台叫卡拉云。那么 Appsmith 到底怎么样?它的评价如何?对比卡拉云它有哪些优缺点呢?

AppSmith 教程 怎么使用?

AppSmith 本身是开源软件,需要你手动安装部署,但是它也提供了一个云端版本。如果你需要私有部署(本地化部署)的话,那么需要比较熟悉 k8s 或 docker,才能比较自由地部署成功。但对于很多同学来说,上手最好的办法可能是直接使用云端版本。

在 AppSmith 注册帐号后,就可以创建应用了。AppSmith 中的应用概念与卡拉云中一样,每个应用是一个常用操作集合。比如说,对于一个员工管理系统,你可以在卡拉云或者 AppSmith 中创建一个“员工管理”应用,这个应用调用对应的查询,就可以对对应的员工数据进行增删改查。

与卡拉云架构类似,AppSmith 也采用的是 proxy 服务器执行的架构。即你的查询会经过一次 AppSmith 的服务器,再到你的数据库或者服务器,实现跳转查询。如图所示

Appsmith架构

组件操作上,AppSmith 与卡拉云非常类似,都是采用拖拽创建的方式。你可以从组件库中拖入一个组件,这样一个组件就创建好了。

Appsmith拖拽

组件连接逻辑上,AppSmith 也采用的是用简单的 JavaScript 来连接组件间的逻辑。比如在文本框中输入 {{Input1.value}} 那么文本框中就会引用 Input1 里用户输入的值。

其它的数据源连接、查询设置等,与卡拉云相差不大,这里就不赘述了。在一些特别的组件设计上,比如日期选择器,我们采用了更适合国内用户使用习惯的设计。其它特别的组件包括文件上传(七牛云,阿里云,腾讯云等),图表组件(使用Echart),地图(百度地图/高德地图)等等

AppSmith 怎么样?能做什么?评价如何

Appsmith 本身是比较优秀的开源软件,因为创始团队来自印度,因此在印度的流行程度较高。同时因为其主要语言为英文,因此在英文国家也较流行。AppSmith 的创始人 Nayak 说:「开发者的时间非常宝贵,AppSmith 这类低代码开发平台可以帮助开发者节省 90% 的开发时间,因为我们已经帮助开发者做了大多数重复的工作,它不仅让开发团队规模更轻量,也让小团队有更高的开发效率。」

如果细读 Appsmith 的代码的话,有个小问题是代码本身较为混乱。首先代码用的仍然是 React 16.8 之前的 class 写法,因此无法与更新的 react hook 兼容,这就为继续开发和贡献代码创造了不小的麻烦。

同时 Appsmith 的全局状态管理用的是 Redux Saga,这个状态管理库较为小众和复杂,也为 Appsmith 的发展代来了一些局限。

当然对于多数情境下使用,代码的整洁度本身不是大问题,但这也从侧面可能反映出混乱的代码可能藏起来较多的 bug 和问题。举个例子,不少用户发现大量的 bug Appsmith bug

(1)简单拖拽即可创建前端组件

02-01-create-frontend

AppSmith 内置多种常用的前端组件,包括表格、表单、输入框、按钮、图片、复选框、单选多选框、开关、图表、富文本编辑器、时间选择器、下拉菜单、组件容器、选项卡、视频、地图等。用户可直接通过鼠标拖拽来搭建 admin 管理后台、数据看板、数据库 CRUD 工具、销售 ERP、客户 CRM 等任何基于数据库和 API 的管理工具

(2)可一键接入多种数据库及 API

02-02-Got-API.jpg

AppSmith 可直连多种常见数据库及 RESTful API、GraphQL。通过 JS 连接前端组件,直接把查询返回的数据映射到前端组件上。完全不用处理复杂的前后端问题,一键连接。目前支持 PostgreSQL、MongoDB、MySQL、Firestore、S3、Redshift、Elastic Search、DynamoDB、Redis、MSFT SQL Server 等数据库。

(3)可以在任何地方运行 JS 代码

javascript

AppSmith 可以在任何地方运行JS,组件之间、操作数据源、调用 API,任何地方都可以运行 JS。

(4)无需处理前后端问题,会简单 JS 即可

02-03-build-logic-js

不用处理复杂的前后端连接问题,会写简单 JS 即可快速把后端查询返回的数据映射到前端组件上。你不需要写大段大段代码,只需要通过 JS 把谁和谁相连,谁的数据映射给谁写清楚即可完成搭建。上手容易,轻松开发。

(5)权限清晰,一键邀请同事加入开发或使用

02-04-Invite-your-team

在 AppSmith 上开发的 APP 管理工具时,不仅可以分享给同事共同开发,还可以直接分享给业务团队只读使用。

(6)加密与安全

AppSmith app 对安全有很高的要求。默认所有连接都是经过 TLS 加密,凭据经过 AES-256 加密,任何人都无法看到数据。

AppSmith 卡拉云对比

卡拉云与 Appsmith 比起来,本身的架构和实现都类似,但卡拉云更加注重功能的稳健性,每个功能有大量的测试保证其正确性。同时卡拉云完全针对国内市场开发,因此不管是集成上还是使用习惯上,都更加贴近用户。

比如说,卡拉云集成的七牛云、阿里云存储,Leancloud API,金数据等。同时与企业微信等的集成也在计划中,相信可以更方便国内的同学们使用。

当然最大的不同是,AppSmith 采用开源的市场策略,依靠开发者自愿贡献同时提供服务而盈利。而卡拉云则是采用成本较高的自研策略,但是对技术的分享和讨论也并没有关起门来,比如我们的技术博客中就有不少我们如何实现某些特定组件的文章,欢迎围观。

卡拉云是新一代低代码开发工具。与各类前端框架相比,卡拉云完全不用写前端代码,极大提升了开发效率,1 周的工作量,现在只要 30 分钟即可完成。卡拉云直接注册即可开始使用,后台搭建完成后,还能一键分享给同事一起使用。

卡拉云 SQL admin 后台管理系统

可一键分享给同事一起使用:https://my.kalacloud.com/apps/q6p23cqa29/published

上面是用卡拉云搭建的数据库 CURD 后台管理系统DEMO,无需任何前端技术,只需拖拽组件,即可在10分钟内完成搭建。

扩展阅读: