Flutter书架管理插件shelf_easy的使用
Flutter书架管理插件shelf_easy的使用
shelf_easy
是一个功能全面且轻量级的框架,每个模块可以独立使用。本文将详细介绍如何使用 shelf_easy
插件,并提供完整的示例代码。
目录
1. 数据模型生成模块(Json序列化)
模型生成
在示例目录下的 generator.dart
文件中包含了生成Json序列化数据模型的代码。
// generator.dart
void main() {
// 执行 dart generator.dart 来生成模型文件
}
执行以下命令生成模型:
dart generator.dart
生成的文件位于 example/model
目录下。
序列化示例
在 test/test_model.dart
文件中包含了一个展示Json序列化和反序列化的示例。
// test/test_model.dart
void main() {
// 执行 dart test/test_model.dart 查看控制台输出
}
执行以下命令查看控制台输出:
dart test/test_model.dart
2. 统一数据库操作模块
在 test/test_database.dart
文件中展示了如何进行数据库的统一操作。
// test/test_database.dart
void main() {
// 执行 dart test/test_database.dart 查看控制台输出
}
执行以下命令查看控制台输出:
dart test/test_database.dart
注意:
- 使用
EasyUniDb
类结合由序列化代码生成器生成的辅助类如UserQuery
,可以利用 Dart 的强类型特性,避免使用Map<String, dynamic>
或 SQL 语句等字符串键操作。 EasyUniDb
的接口风格与mongo shell
基本一致,目前仅支持 Mongodb,计划支持 Postgre。
3. Web服务模块、WebSocket服务模块及支持客户端模块
Web服务器
在 test/test_webserver.dart
文件中包含了Web服务器的示例代码。
// test/test_webserver.dart
void main() {
// 执行 dart test/test_webserver.dart 启动Web服务器
}
执行以下命令启动Web服务器:
dart test/test_webserver.dart
Web客户端
在 test/test_webclient.dart
文件中包含了Web客户端的示例代码。
// test/test_webclient.dart
void main() {
// 执行 dart test/test_webclient.dart 发起Web客户端调用
}
执行以下命令发起Web客户端调用:
dart test/test_webclient.dart
WebSocket服务器
在 test/test_wssserver.dart
文件中包含了WebSocket服务器的示例代码。
// test/test_wssserver.dart
void main() {
// 执行 dart test/test_wssserver.dart 启动WebSocket服务器
}
执行以下命令启动WebSocket服务器:
dart test/test_wssserver.dart
WebSocket客户端
在 test/test_wssclient.dart
文件中包含了WebSocket客户端的示例代码。
// test/test_wssclient.dart
void main() {
// 执行 dart test/test_wssclient.dart 发起WebSocket客户端调用
}
执行以下命令发起WebSocket客户端调用:
dart test/test_wssclient.dart
4. Dart子集虚拟机模块
由于Flutter环境无法在AOT环境中推送代码,热更新成为了一个问题。幸运的是,Dart官方提供了 dart:analyzer
代码分析包,此模块基于该包开发。
生成虚拟机桥接类型
在 test/test_vmgen.dart
文件中包含了生成虚拟机桥接类型的代码。
// test/test_vmgen.dart
void main() {
// 执行 dart test/test_vmgen.dart 生成桥接类型文件
}
执行以下命令生成桥接类型文件:
dart test/test_vmgen.dart
生成的文件位于 example/bridge
目录下。
Dart子集虚拟机使用
在 test/test_vmware.dart
文件中包含了Dart子集虚拟机使用的示例代码。
// test/test_vmware.dart
void main() {
// 执行 dart test/test_vmware.dart 查看控制台输出
}
执行以下命令查看控制台输出:
dart test/test_vmware.dart
5. 日志模块
在 test/test_logger.dart
文件中包含了日志模块的代码。
// test/test_logger.dart
void main() {
// 执行 dart test/test_logger.dart 查看控制台输出信息
}
执行以下命令查看控制台输出信息:
dart test/test_logger.dart
6. 语言本地化模块
在 test/test_locale.dart
文件中包含了语言本地化模块的代码。
// test/test_locale.dart
void main() {
// 执行 dart test/test_locale.dart 查看控制台输出信息
}
执行以下命令查看控制台输出信息:
dart test/test_locale.dart
7. 集群环境中的服务器和客户端
集群服务器
在 app/app_server.dart
文件中包含了集群服务器的代码。
// app/app_server.dart
void main() {
// 执行 dart app/app_server.dart 启动服务器
}
注意:
- 示例服务器包含两种环境配置:
develop
和release
,可以根据实际需求自定义许多环境配置。 - 示例服务器包含三个服务节点:
- 公共Web服务节点
http_route.dart
- 公共WebSocket服务节点
outer_route.dart
- 内部业务服务节点
inner_route.dart
- 公共Web服务节点
集群客户端
在 app/app_client.dart
文件中包含了集群客户端的代码。
// app/app_client.dart
void main(List<String> args) {
// 执行 dart app/app_client.dart <port> 启动持久连接客户端
}
更多关于Flutter书架管理插件shelf_easy的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html