Flutter组件展示与测试插件sherkety_widgetbook的使用
一个帮助开发者整理他们的部件,快速在多种设备和主题上测试它们,并且轻松与设计师和客户分享的Flutter包。 灵感来源于Storybook.js。
功能 #
- 💙 专为Flutter设计。易于使用。
- 🦄 开源。
- 🍭 功能丰富。可以在不同的设备、主题、语言和地区文本缩放等条件下测试您的部件。
- ⚙️ 可定制。可以根据您的需求轻松添加额外的设置。
- 🔧 维护。由德国的一家快速增长的Flutter创业公司维护。
- 👩🏼💻 支持。通过我们的Discord社区。
Widgetbook可以做更多的事情!
- 📙 目录现有的部件。永远不再重复开发部件。
- 📦 独立开发。无需考虑业务逻辑。
- 🎛 旋钮。通过定义可自定义的旋钮来定义团队如何与部件交互。
- ⚡️ 热重载。快速找到并修复错误。
Widgetbook Cloud #
为了简化专业团队的审查过程,我们提供了协作平台Widgetbook Cloud
- 🌍 共享您的部件。与设计师、产品经理、客户等分享。
- 📃 简化审查。通过我们的引导流程简化审查。
- ⛓ Figma集成。将您的部件连接到Figma中的设计对应物。
文档 #
参见docs.widgetbook.io了解文档和示例。
example/example.md
Widgetbook示例 #
所有示例可以在这里找到。
完整示例Demo
以下是一个简单的示例,展示了如何使用sherkety_widgetbook
(实际名称为widgetbook
)来展示和测试Flutter部件。
1. 添加依赖
在pubspec.yaml
文件中添加widgetbook
依赖:
dependencies:
flutter:
sdk: flutter
dev_dependencies:
widgetbook_annotation: ^0.1.0
widgetbook_core: ^0.1.0
widgetbook_runner: ^0.1.0
2. 创建部件
创建一个简单的Flutter部件:
// lib/my_widget.dart
import 'package:flutter/material.dart';
class MyWidget extends StatelessWidget {
final String title;
const MyWidget({Key? key, required this.title}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Colors.blue,
borderRadius: BorderRadius.circular(8),
),
child: Text(title, style: TextStyle(color: Colors.white)),
);
}
}
3. 使用Widgetbook
创建一个Widgetbook
配置文件,以展示和测试部件:
// lib/main.dart
import 'package:flutter/material.dart';
import 'package:widgetbook_annotation/widgetbook_annotation.dart';
import 'my_widget.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return WidgetbookMaterialApp(
apps: [
AppDefinition(
name: 'My App',
appBuilder: (context) => MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Widgetbook Demo')),
body: Center(child: MyWidget(title: 'Hello, Widgetbook!')),
),
),
),
],
builders: [
// 可以在这里添加更多构建器
],
useCaseProviders: [
UseCaseProvider(
name: 'MyWidget',
useCases: [
UseCase(
name: 'Default',
builder: (context) => MyWidget(
title: 'Hello, Widgetbook!',
),
),
],
),
],
);
}
}
4. 运行应用
运行应用后,你可以在浏览器中查看Widgetbook界面,并在不同设备和主题下测试你的部件。
flutter run
更多关于Flutter组件展示与测试插件sherkety_widgetbook的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter组件展示与测试插件sherkety_widgetbook的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
Sherkety Widgetbook
是一个用于 Flutter 的插件,它可以帮助开发者更好地展示和测试他们的 Flutter 组件。通过使用 Widgetbook
,开发者可以创建组件库,并在一个统一的界面中查看、测试和调试这些组件。Sherkety Widgetbook
是基于 Widgetbook
的一个扩展,提供了更多的功能和便利。
安装 sherkety_widgetbook
首先,你需要在 pubspec.yaml
文件中添加 sherkety_widgetbook
的依赖:
dependencies:
flutter:
sdk: flutter
sherkety_widgetbook: ^0.1.0 # 请根据最新版本号进行替换
然后运行 flutter pub get
来安装依赖。
基本使用
-
创建
Widgetbook
入口文件在你的项目中创建一个新的 Dart 文件,比如
widgetbook.dart
,并添加以下代码:import 'package:flutter/material.dart'; import 'package:sherkety_widgetbook/sherkety_widgetbook.dart'; import 'package:your_app/widgets/your_widget.dart'; // 替换为你的组件路径 void main() { runApp(WidgetbookApp( categories: [ WidgetbookCategory( name: 'Your Category', widgets: [ WidgetbookWidget( name: 'Your Widget', builder: (context) => YourWidget(), ), ], ), ], )); }
-
运行
Widgetbook
在终端中运行以下命令来启动
Widgetbook
:flutter run -t lib/widgetbook.dart
这将启动一个本地服务器,并在浏览器或设备上打开
Widgetbook
界面,你可以在其中查看和测试你的组件。 -
添加更多组件
你可以通过添加更多的
WidgetbookWidget
来展示和测试其他组件。例如:WidgetbookCategory( name: 'Buttons', widgets: [ WidgetbookWidget( name: 'Primary Button', builder: (context) => PrimaryButton(), ), WidgetbookWidget( name: 'Secondary Button', builder: (context) => SecondaryButton(), ), ], ),
高级功能
Sherkety Widgetbook
提供了一些高级功能,比如:
- 主题切换:你可以在
Widgetbook
中切换不同的主题来测试组件在不同主题下的表现。 - 屏幕尺寸模拟:你可以模拟不同设备的屏幕尺寸来测试组件的响应式布局。
- 参数控制:你可以通过
Widgetbook
提供的控件动态调整组件的参数,比如颜色、大小等。
自定义 Widgetbook
你可以通过自定义 WidgetbookApp
的配置来适应你的项目需求。例如,你可以自定义主题、添加全局装饰器等。
WidgetbookApp(
theme: ThemeData.light(),
darkTheme: ThemeData.dark(),
categories: [
// 你的组件类别
],
)