Flutter插件visma的介绍与使用详解
Flutter插件visma的介绍与使用详解
Flutter插件visma的简介
Visma 是一个用于可视化状态机的工具。该插件提供了一个名为 visma 的命令行工具,可以将使用 hisma 包创建的分层状态机渲染为交互式状态机图。它通过与 hisma 的监控器 hisma_visual_monitor 配合工作,并借助 pumli 包将这些更新渲染为交互式的网页。
Flutter插件visma的特性
状态机概览页面

状态机页面

事件触发
Visma 不仅可以监控状态机,还可以从其用户界面触发事件。

快速开始Flutter插件visma
有以下两种方法运行 Visma:
- 使用 Docker 容器
- 使用
dart pub global activate安装命令行工具
无论选择哪种方式,当 Visma 运行时,您都可以通过浏览器访问其用户界面,默认地址为 http://127.0.0.1:4040(如果您使用默认端口配置)。
方法 1:使用 Docker 容器
这是最简单的启动方式:
$ docker run -it -p 127.0.0.1:4040:4040 tamasp/visma
这会从 Docker Hub 拉取并运行 Visma 的镜像(首次运行时)。该镜像包含 Visma 和所有依赖项(如 Java 和 Graphviz)。
更多关于镜像的信息,请查看 Visma Docker Hub 仓库。
有关 Docker 的更多信息,请访问 Docker 官方网站。
方法 2:手动安装
依赖项
在安装 Visma 之前,确保安装了 PlantUML 及其依赖项(如 Java 和 Graphviz)。PlantUML 的安装指南可参考 https://plantuml.com/starting。
重要提示:建议使用经过良好测试的 PlantUML V1.2022.1 版本,具体信息请参阅 pumli。
安装 Visma
如果已安装 PlantUML 和其依赖项,则可以通过以下命令安装 Visma:
$ dart pub global activate visma
使用
首先,了解 visma 命令行参数的用法:
$ visma -h
输出如下:
A visualization server for Hisma the hierarchical state machine.
Without parameters it will try running the 'plantuml -picoweb' command as the renderer for visma.
Usage: visma [--bind=BIND] [--port=PORT] [--plantuml_public] | [--plantuml_url=URL] | [--plantuml_jar=JAR --plantuml_bind=BIND --plantuml_port=PORT] [--help]
Options:
-p, --port Port of the visma service listening on.
-b, --bind Specify bind address of the visma service.
--plantuml_public The public PlantUML service will be used as renderer.
--plantuml_url PlantUML service at this URL will be used to render.
--plantuml_port Port of the PlantUML renderer service that will be started.
--plantuml_jar Specify PlantUML jar location.
--plantuml_bind Specify bind address of the local PlantUML service to be started.
-h, --help Shows this help.
示例
示例 1:简单启动(默认参数)
$ visma
"plantuml -picoweb:4020:127.0.0.1":
webPort=4020
示例 2:指定 PlantUML Jar 文件路径
$ visma --plantuml_jar files/plantuml/plantuml.1.2022.1.jar
额外信息
如上所述,Visma 从 hisma_visual_monitor 获取状态机更新。请参阅 hisma_visual_monitor 文档以了解如何将其与您的状态机和 Visma 结合使用。
如果您有任何问题或评论,请前往 Hisma GitHub 讨论区 开始或加入讨论。
示例代码
以下是一个完整的示例,展示如何启动 Visma 并监控状态机。
启动 Visma
$ visma
"plantuml -picoweb:4020:127.0.0.1":
webPort=4020
启动示例应用程序进行监控
请参考以下代码,它启动一个简单的 hisma 状态机并使用 hisma_visual_monitor 监控它:
// hisma_visual_monitor_example.dart
import 'package:hisma/hisma.dart';
import 'package:hisma_visual_monitor/hisma_visual_monitor.dart';
void main() {
// 创建一个简单的状态机
final stateMachine = Hisma(
initialState: 'idle',
states: {
'idle': {
'start': 'working',
},
'working': {
'stop': 'idle',
},
},
);
// 启动状态机监控器
final monitor = HismaVisualMonitor(stateMachine);
// 开始监控
monitor.start();
print('状态机已启动,访问 http://127.0.0.1:4040 查看状态机图');
}更多关于Flutter插件visma的介绍与使用详解的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter插件visma的介绍与使用详解的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter中,visma 并不是一个广为人知的官方或社区插件。如果你在项目中遇到了 visma 相关的插件或功能,可能是某个特定项目或公司内部开发的插件,或者是某个尚未广泛传播的第三方插件。以下是一些探索和使用未知插件的一般步骤:
1. 查找插件的文档
- 如果
visma插件有相关的文档或README文件,首先应该仔细阅读这些文档,了解插件的目的、功能和使用方法。 - 如果插件是开源的,可以在GitHub或其他代码托管平台上查找其仓库,查看文档和示例代码。
2. 查看插件的源代码
- 如果插件是开源的,直接查看其源代码是了解其功能的最佳方式。通过阅读代码,你可以了解插件的内部实现、依赖项以及如何使用它。
- 关注插件的
pubspec.yaml文件,了解它的依赖项和版本信息。
3. 在项目中导入插件
- 在
pubspec.yaml文件中添加插件的依赖项。例如:dependencies: visma: ^1.0.0 # 假设版本号为1.0.0

