低代码——初步认识 Appsmith(低代码开发平台 知乎)
wuantov 2025-07-28 00:43 5 浏览
初步认识 Appsmith
appsmith 是什么
appsmith 是 github 上的一个开源项目,截至此刻(20220512)有 17.7k Star。
Appsmith 是一个低代码、开源的框架,用于构建内部应用程序。
使用基于 JavaScript 的可视化开发平台,构建 CRUD 应用程序、仪表盘、管理面板,而且速度快了 10 倍。
Tip:With our JavaScript-based visual development platform, build CRUD apps, Dashboards, Admin Panels, and many more 10x faster. —— docs_Introduction
安装 appsmith
注:笔者使用的 win10
打开官网,有两段醒目的文字:
A powerful open source framework to build internal tools
用于构建内部工具的强大开源框架
Quickly build any custom business software with pre-built UI widgets that connect to any data source. Control everything with JavaScript.
使用可连接到任何数据源的预构建 UI 小部件快速构建任何自定义业务软件。 使用 JavaScript 控制一切
点击doc或Host it yourself,进入文档:
Appsmith 提供了多种技术部署。笔者选用 Docker。
Tip:
- 唯一官方支持的 Appsmith 安装是基于 Docker 的
- Appsmith 可以在本地部署,也可以使用 Docker 在您的私有实例上部署 —— docs_Docker
- 倘若不了解 docker,可以查看笔者的 初步认识 docker
进入 setup/docker 安装指南:
提供了两种安装方式:
- Quick Start (with docker-compose) - 使用 docker-compose。
- Explore Appsmith (without docker-compose) - 不使用 docker-compose。
docker compose 用于构建和管理多个服务,更复杂,这里笔者选用更简单的方式:without docker-compose。
通过 docker run 下载镜像并启动 Appsmith:
// 约1.2G
202205-later> docker run -d --name appsmith -p 80:80 -v "$PWD/stacks:/appsmith-stacks" appsmith/appsmith-ce
Unable to find image 'appsmith/appsmith-ce:latest' locally
latest: Pulling from appsmith/appsmith-ce
8e5c1b329fe3: Pull complete
c086a11e6410: Pull complete
77fbce06aba6: Pull complete
01e01a36d9f0: Pull complete
525e27e69b74: Pull complete
f23d2a639a69: Pull complete
39c9347cc360: Pull complete
cfdc8301afe2: Pull complete
f496d56b0e53: Pull complete
45e7897ce8f4: Pull complete
e4fa2a7eeac0: Pull complete
1ece9193ec88: Pull complete
2b90261d42de: Pull complete
72ad69fc9113: Pull complete
84c90c9c8dfc: Pull complete
60270c8d4298: Pull complete
df215547aa3b: Pull complete
0d8252e94cfe: Pull complete
c1494763999c: Pull complete
367d490330fe: Pull complete
4f4fb700ef54: Pull complete
755c6060309a: Pull complete
79f8c7decfae: Pull complete
Digest: sha256:e34adcdf4fade53440d8406753078d6b0a7cbd7ef73d73747e4bf0274b34fc6f
Status: Downloaded newer image for appsmith/appsmith-ce:latest
0018628962f2a8df3068b6597a91a9529cdcf39cd0497309698fc176ced5fb6f
通过 docker ps 查看运行中的容器,发现 appsmith 已启动:
已启动:
202205-later> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0018628962f2 appsmith/appsmith-ce "/opt/appsmith/entry…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:9001->9001/tcp, 443/tcp appsmith
浏览器访问 localhost:80,跳转至 Welcome 页面:
点击GET STARTED设置账户(即注册),进入下图:
输入信息后,点击NEXT,进入下图:
点击MAKE ... APP按钮,进入下图:
点击BUILD ... OWN,进入 appsmith,如下图所示:
整个界面分左中右三部分:
- 左侧,有项目的页面(pages);部件(widgets),例如按钮、表格;查询(queries),例如刷新表格数据、数据库相关(datasources)
- 中央,项目的ui
- 右侧,配置,例如配置按钮的颜色、显示文字、事件等
hello world
需求:点击按钮,弹出信息。
做法是:
- 左侧拖拽 BUTTON 部件到舞台中央
- 点击舞台中央的按钮
- 在右侧进行配置,例如修改Label、添加事件(onClick)等
点击舞台中央的按钮,或右上角的DEPLOY(部署)进行测试。结果如下图所示:
连接本地数据库
笔者的本地数据库采用 mysql。
据官网介绍,在 appsmith 中使用本地 api,需要使用 ngrok —— 如何在 Appsmith 上使用本地 API
Tip:ngrok 是将您的应用程序放到互联网上的最快方式。
安装 mysql
首先下载 mysql。笔者进入这里,直接点击No thanks, just start my download.下载 .msi 版本。如下图所示:
双击 .msi 版本安装,未做特殊配置,安装过程需要等待一些时间下载(笔者花了20来分钟):
进入 mysql 工作台:
注:实例名称笔者是 ”MySQL80“
安装 Navicat for MySQL
Navicat for MySQL 为数据库管理供了直观而强大的图形界面。
直接来 这里 下载安装即可
启动,然后新建 mysql 的连接,输入相关信息。如下图所示:
点击Test Connection测试连接
连接成功!
新建一个数据库 test-database,再创建一个表 users,定义4个字段。如下图所示:
Navicat连接Mysql报错
点击 Test Connection 测试连接,报错如下:
client does not support authentication protocol requested by server; consider upgrading MySQL client
笔者依次输入下面三个命令,再次测试即可通过:
mysql> use mysql;
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '你的密码';
Query OK, 0 rows affected, 1 warning (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
安装 ngrok
进入 ngrok 官网
首先进行免费注册,然后就能获取授权码,用于连接你的账号。如下图所示:
Tip:注册好像需要能FQ,笔者使用 github 账号授权完成注册。
然后进入官网的 Download 模块下载 wins 版本,解压即可:
D:\software
// 下载的源文件
2022/05/03 23:00 7,261,772 ngrok-v3-stable-windows-amd64.zip
// 解压
2022/04/27 07:02 17,821,696 ngrok.exe
双击 ngrok.exe,然后输入授权码相关代码连接账号:
software>ngrok config add-authtoken 28g6uez9gLpfamK1zG6j81SioFY_849x4eb96MNpQLaot5naj
Authtoken saved to configuration file: C:\Users\77714\AppData\Local/ngrok/ngrok.yml
最后提供本地网络应用程序:
software>ngrok tcp 3306
注:两处红框的信息稍后会在 appsmith 连接数据源时使用。重启后,端口 17872 也会改变。
创建数据源
Appsmith 选择 mysql 数据源。如下图所示:
然后输入相关信息,点击Test测试通过。如下图所示:
创建成功!
注:倘若重启 ngrok(例如重启机器了),这里的端口(17872)需要重新配置,因为端口变了,否则测试不会再通过。
创建查询
点击NEW QUERY...新建查询。如下图所示:
点击Select。如下图所示:
Tip:上图的 Create、Select、Update、Delete 是否就是对应官网描述的 CURD?
With our JavaScript-based visual development platform, build CRUD apps, Dashboards, Admin Panels, and many more 10x faster.
使用我们基于 JavaScript 的可视化开发平台,构建 CRUD 应用程序、仪表板、管理面板等的速度提高 10 倍。
修改代码为SELECT * FROM users,用于查询我们的表。然后点击右上角的RUN,数据即可同步过来。如下图所示:
Tip:笔者先前已在数据库中插入了这条记录
Table Widgets
拖拽表格部件,输入{{}}根据提示配置表格数据。如下图所示:
刷新表格
内网部署 Appsmith
需求:将 Appsmit 部署到内网的 ubuntu 20.04 服务器
步骤如下:
在外网环境中下载镜像并导出 .tar 文件:
// 在外网环境中下载镜像
$ docker pull appsmith/appsmith-ce
// 导出镜像
$ docker save appsmith/appsmith-ce -o appsmith_appsmith_ce.tar
把导出的 .tar 文件弄到的 ubuntu 服务器中,然后导入镜像,最后运行即可:
// 导入镜像
$ docker load -i appsmith_appsmith_ce.tar
// 运行镜像 appsmith/appsmith-ce
$ docker run -d --name appsmith -p 80:80 -v "$PWD/stacks:/appsmith-stacks" appsmith/appsmith-ce
浏览器访问 localhost:80,后续就和上文相同。比如注册信息也没有什么需要注意的。
文章来自
https://www.cnblogs.com/pengjiali/p/16260008.html
相关推荐
- SQL关联各种JOIN傻傻分不清楚,读这一篇就够了
-
在关系型数据库中支持多表关联,不同场景下通过不同join方式让分布在不同表中的数据呈现在同一个结果里。熟练使用sql联合查询是日常开发的基础工作。为了方便演示讲解,假设有两个表,一张是保存学生踢足球的...
- MyBatis的SQL执行流程不清楚?看完这一篇就够了
-
推荐学习真香警告!Alibaba珍藏版mybatis手写文档,刷起来全网独家的“MySQL高级知识”集合,骨灰级收藏,手慢则无前言MyBatis可能很多人都一直在用,但是MyBatis的SQL执行...
- SQL优化这十条,面试的时候你都答对了吗?
-
尽量不要在要给在SQL语句的where子句中使用函数,这样会使索引失效。如果已经确定查询结果只有一条数据(当表中数据的该字段是唯一的),在查询SQL末尾增加limit1,这样MySQL的查询执行引...
- SQL查询Excel结果数据还可这样输出到窗体控件ListBox和ListView
-
上一期作品,我们分享了通过SQL查询Excel的结果数据输出到Excel自身的工作表区域。大家估计应该感觉到了SQL查询的强大功能,它对精确或模糊查询均无畏惧,优点是查询检索效率高,将查询结果输出的形...
- 数据库|SQLServer数据库:模糊查询的三种情况
-
哈喽,你好啊,我是雷工!就是字面意思,当数据库的查询条件并不是十分具体时就用到模糊查询,比如查询姓氏为雷的人名,就需要从姓名列模糊查询。01like关键字查询当使用like关键字进行查询时,字段中的...
- 数据库教程-SQL Server多条件模糊查询
-
表单查询是以数据存储管理为基础的信息管理系统各业务功能实现的基础,也是数据库CRUD操作的重点与难点,尤其是多表连接查询、条件查询、分组查询、聚合函数等的综合应用。本文以某一比赛样式要求为基础,对数据...
- 如何利用教育网站源码成功搭建在线教育网站
-
如今是一个信息化时代,人们都想接受各种各样的教育,在线教育也就因此发展了起来,并且逐渐成为了一种趋势。而成熟的在线教育网站皆是由高质量的教育网站源码搭建而成的。如何利用教育网站源码成功搭建在线教育网站...
- 宝塔搭建WordPress跨境电商外贸商城模板汉化woodmart7.5.1源码
-
大家好啊,欢迎来到web测评。本期给大家带来一套php开发的WoodmartV7.5.1汉化主题|跨境电商|外贸商城|产品展示网站模板WordPress主题,是wordpress开发的。上次是谁要的系...
- 小狐狸ChatGPT付费创作系统V2.4.7全开源版 (vue全开源端)
-
测试环境:Nginx1.20+PHP7.4+MySQL5.7本版本为官方的最新开源包对应V2.4.7版本,包含了前后端所有开源包,是目前最新全开源版本,需要二开的这部分朋友也有选择了,如果不需要二...
- php宝塔搭建部署thinkphp红色大气装修公司官网php源码
-
大家好啊,欢迎来到web测评。本期给大家带来一套php开发的thinkphp红色大气装修公司官网源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测...
- php宝塔搭建免登录积分商城系统php源码
-
大家好啊,欢迎来到web测评。本期给大家带来一套php开发的免登录积分商城系统php源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测试了一下,部...
- 零代码搭建接口收费平台——接口大师YesApi
-
主流的API接口收费模式目前各大API接口平台,采用的收费模式主可以分为:免费接口、免费试用、接口流量套餐、先充值后按量计费的模式。例如,聚合数据的API收费模式是:按接口流量套餐。例如身份证二要素...
- php宝塔搭建部署实战抽奖系统开源php源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套抽奖系统开源php源码。感兴趣的朋友可以自行下载学习。技术架构PHP5.4+nginx+mysql5.7+JS+CSS+...
- 【推荐】一款开源个人与企业私有化部署使用的在线知识库管理平台
-
如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!项目介绍zyplayer-doc是一款基于Java+Vue开源、专注于个人与企业私有化部署使用的在线知识库管...
- 网上的付费文档无法下载?这几个方法10秒搞定,任意免费复制
-
工作或者学习过程中,我们很多时候需要在网上找资料,但是想要的资料却要付费或者提示无法下载怎么办?别怕,这几个方法,让你10秒就能搞定付费文档,任意复制。1.打印界面复制遇到文档需要付费或者无法复制的...
- 一周热门
- 最近发表
-
- SQL关联各种JOIN傻傻分不清楚,读这一篇就够了
- MyBatis的SQL执行流程不清楚?看完这一篇就够了
- SQL优化这十条,面试的时候你都答对了吗?
- SQL查询Excel结果数据还可这样输出到窗体控件ListBox和ListView
- 数据库|SQLServer数据库:模糊查询的三种情况
- 数据库教程-SQL Server多条件模糊查询
- 如何利用教育网站源码成功搭建在线教育网站
- 宝塔搭建WordPress跨境电商外贸商城模板汉化woodmart7.5.1源码
- 小狐狸ChatGPT付费创作系统V2.4.7全开源版 (vue全开源端)
- php宝塔搭建部署thinkphp红色大气装修公司官网php源码
- 标签列表
-
- 修改ip地址 (28)
- 静态ip更换 (2)
- 指定ip切换 (12)
- ip库ip切换 (4)
- 淘宝店铺采集 (14)
- 微服务治理 (4)
- phash (7)
- mongo find (24)
- math保留两位小数 (21)
- cmd ip (15)
- 手机网络ip动态 (33)
- 随机更改ip地址 (7)
- drop column (23)
- enet text下载 (1)
- sketchable (1)
- navicat16 注册机 (25)
- crosscheck archivelog all (3)
- jm资源 (2)
- expdp query (1)
- read by other session (10)
- python gui库 (21)
- 企业微信使用 (31)
- 知识付费源码五网合一 (25)
- 模糊查询sql (6)