百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

低代码——初步认识 Appsmith_低代码app开发

wptr33 2025-02-20 18:15 33 浏览

初步认识 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 控制一切

点击docHost 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:上图的 CreateSelectUpdateDelete 是否就是对应官网描述的 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

相关推荐

[常用工具] git基础学习笔记_git工具有哪些

添加推送信息,-m=messagegitcommit-m“添加注释”查看状态...

centos7安装部署gitlab_centos7安装git服务器

一、Gitlab介1.1gitlab信息GitLab是利用RubyonRails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。...

太高效了!玩了这么久的Linux,居然不知道这7个终端快捷键

作为Linux用户,大家肯定在Linux终端下敲过无数的命令。有的命令很短,比如:ls、cd、pwd之类,这种命令大家毫无压力。但是,有些命令就比较长了,比如:...

提高开发速度还能保证质量的10个小窍门

养成坏习惯真是分分钟的事儿,而养成好习惯却很难。我发现,把那些对我有用的习惯写下来,能让我坚持住已经花心思养成的好习惯。...

版本管理最好用的工具,你懂多少?

版本控制(Revisioncontrol)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。...

Git回退到某个版本_git回退到某个版本详细步骤

在开发过程,有时会遇到合并代码或者合并主分支代码导致自己分支代码冲突等问题,这时我们需要回退到某个commit_id版本1,查看所有历史版本,获取git的某个历史版本id...

Kubernetes + Jenkins + Harbor 全景实战手册

Kubernetes+Jenkins+Harbor全景实战手册在现代企业级DevOps体系中,Kubernetes(K8s)、Jenkins和Harbor组成的CI/CD流水...

git常用命令整理_git常见命令

一、Git仓库完整迁移完整迁移,就是指,不仅将所有代码移植到新的仓库,而且要保留所有的commit记录1.随便找个文件夹,从原地址克隆一份裸版本库...

第三章:Git分支管理(多人协作基础)

3.1分支基本概念分支是Git最强大的功能之一,它允许你在主线之外创建独立的开发线路,互不干扰。理解分支的工作原理是掌握Git的关键。核心概念:HEAD:指向当前分支的指针...

云效Codeup怎么创建分支并进行分支管理

云效Codeup怎么创建分支并进行分支管理,分支是为了将修改记录分叉备份保存,不受其他分支的影响,所以在同一个代码库里可以同时进行多个修改。创建仓库时,会自动创建Master分支作为默认分支,后续...

git 如何删除本地和远程分支?_git怎么删除远程仓库

Git分支对于开发人员来说是一项强大的功能,但要维护干净的存储库,就需要知道如何删除过时的分支。本指南涵盖了您需要了解的有关本地和远程删除Git分支的所有信息。了解Git分支...

git 实现一份代码push到两个git地址上

一直以来想把自己的博客代码托管到github和coding上想一次更改一次push两个地址一起更新今天有空查资料实践了下本博客的github地址coding的git地址如果是Gi...

git操作:cherry-pick和rebase_git cherry-pick bad object

在编码中经常涉及到分支之间的代码同步问题,那就需要cherry-pick和rebase命令问题:如何将某个分支的多个commit合并到另一个分支,并在另一个分支只保留一个commit记录解答:假设有两...

模型文件硬塞进 Git,GitHub 直接打回原形:使用Git-LFS管理大文件

前言最近接手了一个计算机视觉项目代码是屎山就不说了,反正我也不看代码主要就是构建一下docker镜像,测试一下部署的兼容性这本来不难但是,国内服务器的网络环境实在是恶劣,需要配置各种镜像(dock...

防弹少年团田柾国《Euphoria》2周年 获世界实时趋势榜1位 恭喜呀

当天韩国时间凌晨3时左右,该曲在Twitter上以“2YearsWithEuphoria”的HashTag登上了世界趋势1位。在韩国推特实时趋势中,从上午开始到现在“Euphoria2岁”的Has...