最强开源低代码平台 - Appsmith 功能介绍与使用体验

最强开源低代码平台 - Appsmith 功能介绍与使用体验

· 10 minute read

Appsmith 背景介绍

Appsmith 成立于 2019 年,是一款开源低代码框架。这两年发展迅猛,是现在 GitHub 上最火的低代码开发平台(18k star),目前处于正式发行阶段。Appsmith 主要用于构建管理面板、内部工具和仪表板等,允许拖放 UI 组件来构建页面,通过连接到任何 API、数据库或 GraphQL 源,并使用 JavaScript 语言编写逻辑,可以在短时间内创建内部应用程序。这种开发模式仅需了解一些基本的 JavaScript,在代码方面没有抽象层或术语需要学习,因而广受开发人员的好评。

Appsmith 背后的理念来自创始人 Mohan 和 Nayak,他们意识到这是一个可行项目后,协力把它推向了市场。在这个过程中,他们决定不会将其授权为专有服务并出售服务订阅,而是开源该工具,以便任何人都可以使用它。

开发人员的时间是非常宝贵的,Nayak 说:Appsmith 将开发人员时间减少了 90%,框架本身为您承担了很多没必要的繁重工作。因此,它不仅减少了您需要的团队规模,还使规模较小的开发人员团队更有效率。 ("Low-code platforms like Appsmith reduce the amount of developer time that you need by like 90% because the framework itself is doing a lot of heavy lifting. So not only does it reduce the size of a team you need, it makes even a smaller team of developers more efficient.")

Appsmith 具体介绍

组件

Appsmith 使用现成的组件构建工作流,将表格、图表、表单等常见元素直接拖入应用程序,包括文本、表单、输入、按钮、表格、图像、复选框、开关、单选按钮、日期选择器、下拉列表、文件选择器、容器、地图、模式、富文本编辑器、选项卡和视频等。

数据源

Appsmith 可以使用 15+ 种 DB、REST API 或 GraphQL 作为数据源,同时支持 OAuth 2.0 等多种鉴权协议。通过配置数据源以及编写该数据源所对应的查询语句,可以做到对与底层数据的增、删、改、查工作。

编写 MongoDB 查询:查询平均分大于 7 分的电影

JavaScript

许多平台在需要添加更高级功能时创建了自己的 DSL(领域特定语言)或抽象层,这种方法很难学习上手且功能有限。Appsmith 巧妙的解决了这个困难,操作者能够直接在应用程序的任何地方插入 JavaScript,可以实现多个查询的编排以及数据之间的 ETL (Extract-Transform-Load) 操作。

使用 JavaScript 对原始数据进行转换并展示在表格中

托管与免费

由于 Appsmith 是一个开源项目,因此代码可以免费使用,但它必须托管在某个地方。Appsmith 提供了免费的社区版自托管服务,同时他们在今年年初推出了部分免费的商业云托管服务,此外一个企业版正在制定中,即将推出。

关于如何在 Docker 上部署自己的 Appsmith 服务器,可以参考 Docker Setup

应用发布与分享

您可以进行多次编辑和保存,并在编辑器中查看结果,应用程序更改后会自动保存,并实时反映在编辑器中,单击「DEPLOY」后 Appsmith 会将这些更新推送到应用程序的实时版本。

Appsmith 按组织对应用程序进行分组,并通过这些组与其他用户共享创建的应用程序。当您与某人共享应用程序时,实际上是在共享该组织中的所有应用程序 —— 因此务必将确认当前组织下的所有应用程序以及新用户所分配的角色。

安全与加密

Appsmith 应用程序默认是安全的,所有连接都经过 TLS 加密,凭据使用 AES-256 加密,防止数据泄露,具有可靠安全的加密传输。

开源与社区

Appsmith 不采用寻常低代码解决方案——它是完全开源的,这意味着任何人都可以在 GitHub 上下载源代码,在本地(或第三方云主机上)安装、部署,以及后续的二次开发。Appsmith 的开发团队也非常欢迎对社区做出贡献的使用者,感兴趣的话,您也可以创建自定义小组件,通过 GitHub 提交自己的功能和错误修复,或者是在 Discord 中与他们讨论新的想法和建议。

Appsmith 团队主要通过几个渠道与社区进行交流:

  • Github 的 Issues 与 PR:https://github.com/appsmithorg/appsmith

  • Discord:https://discord.com/invite/rBTTVJp

  • 官方论坛:https://community.appsmith.com

  • Intercom:编辑器和文档中的聊天弹出窗口

Discord 非常活跃,Appsmith 非常积极地联系社区寻求反馈,每周四都会举行现场社区电话会议,演示新的或即将推出的功能并且回答社区的问题。

Appsmith 总体评价

在之前的文章里提到过(),低代码的基本理念是将日常活动中的艰巨工作从中抽身出来,以便开发人员可以专注于高阶业务逻辑,提高公司和开发者的效率。Appsmith 凭借低代码 UI 开发器、大量数据源连接器、自定义 JavaScript、开源许可证和蓬勃发展的社区,在低代码开发市场领域占据独特的地位。

Appsmith 使用预构建的 UI 组件创建页面,再连接到数据源与 Appsmith 集成,包括 REST API、MySQL、Postgres、MongoDB 和其他数据库,然后创建和执行查询,在 SQL 或 JS 编辑器中编写查询和业务逻辑,将 UI 绑定到您的查询响应或业务逻辑中,最后单击便可部署您的应用并邀请组织中的其他用户一起合作。通过这些步骤,您可以为复杂的多步骤工作流创建简单的 CRUD 应用程序,使开发与任何数据源连接的 UI 变得非常容易,也可以通过在任何地方编写 JS 来自定义应用程序。

不过我们在亲身体验了 Appsmith 一段时间,也利用它开发了一些内部系统后,也发现该平台的一些局限性:

  1. 当前的开源代码在可读性、可维护性等方面还有待加强,二次开发门槛很高。

  2. 系统稳定性方面仍有欠缺,部分组件或者整个应用可能会无响应。

  3. 关于企业功能部分还有很多需要完善的地方,例如当前权限系统设计过于简单,无法适配复杂业务场景。

码匠与 Appsmith 的比较

码匠在充分参考了 Appsmith、Retool、JetAdmin 等多款海外知名低代码平台的设计理念同时,针对国内用户使用习惯做了大量优化,UI 界面设计更加适合国内场景,并整合了多款国内数据源,包括 飞书、企业微信、钉钉、阿里云 OSS 等,不仅如此,码匠还提供了国内业务场景下常见的租户管理、更加细粒度的权限控制、审计日志等功能,为您的企业信息安全保驾护航。在系统稳定性方面,码匠在系统快速迭代的同时高度重视系统的健壮性与可靠性,设计与开发过程中充分考虑各种异常场景,力求面对各种异常与突发情况仍然能够提供持续、可靠的服务能力。

码匠目前提供了云端在线版本和私有化部署方案,欢迎您去官网(https://majiang.co/)亲自体验,如果希望进一步与我们讨论码匠的方方面面,欢迎与我们联系~