一个基于Flutter 3构建的全平台博客项目,支持Android、iOS、macOS、Web、Linux和HarmonyOS Next等多个平台。本项目采用响应式设计,完美适配各种屏幕尺寸,为用户提供一致且流畅的体验。
- Android版本:https://www.pgyer.com/bVWB
- 全平台支持:完美运行于Android、iOS、macOS、Web、Linux和HarmonyOS Next
- 响应式设计:智能适配手机、平板和桌面等各种屏幕尺寸
- Bloc状态管理:采用Bloc模式进行高效的状态管理
- 空安全支持:完全兼容Dart空安全特性
- 桌面平台优化:针对桌面环境进行了专门的UI/UX优化
- 现代化UI设计:遵循Material Design设计规范
- Flutter 3.0+:最新的Flutter框架
- Dart 3.0+:采用Dart语言最新特性
- GetX:轻量级且强大的状态管理库
- Flutter SVG:高效渲染SVG图标和图形
- 自适应布局:针对不同平台的响应式UI组件
- lib/
- controllers/ # 控制器层 - 处理业务逻辑
- models/ # 数据模型层 - 定义数据结构
- screens/ # 页面层 - 用户界面
- main.dart # 应用入口文件
- constants.dart # 全局常量定义
- responsive.dart # 响应式布局工具
- assets/
- images/ # 图片资源
- icons/ # SVG图标资源
- fonts/ # Raleway字体资源
- Flutter SDK 3.0或更高版本
- Dart SDK 3.0或更高版本
- 克隆仓库
git clone https://github.com/jianguo888/flutter_bloc_super.git或
git clone https://gitcode.com/nutpi/flutter_bloc_super.git- 安装依赖
flutter pub get- 运行应用
flutter runpub global activate fvmfvm listfvm use 3.0.0fvm use 3.0.0 --forceflutter create .针对移动端优化(加载速度快,兼容性好):
flutter build web --web-renderer html标准打包方式:
flutter build web针对PC端优化(视觉效果好):
flutter build web --web-renderer canvaskit使用Nginx部署时,可能需要修改index.html中的base href:
<!-- 修改前 -->
<base href="/">
<!-- 修改后方法1 -->
<base href="">
<!-- 修改后方法2 -->
<base href="http://你的服务器ip:端口/web/">Nginx配置示例:
server {
listen 251;
server_name flutterblog;
location / {
root /root/study/flutter/web/;
index index.html index.htm;
}
}flutter create --platforms=windows,macos,linux .flutter config --enable-<platform>-desktop使用hover工具构建Windows应用:
go get -u github.com/go-flutter-desktop/hover
hover init github.com/my-organization/flutter_bloc_super
hover run本项目已完全支持Dart空安全特性,迁移步骤如下:
- 创建并切换到空安全分支
- 确认Dart版本 ≥ 2.12
- 检查依赖迁移状态:
dart pub outdated --mode=null-safety - 升级依赖:
dart pub upgrade --null-safety - 使用迁移工具或手动迁移代码
- 代码分析:
dart analyze - 运行测试:
flutter test
更多空安全迁移详情:https://dart.cn/null-safety/migration-guide
- 坚果派(NutPi)
- 个人网站:https://www.nutpi.com
- 联系邮箱:[email protected]
- 代码仓库:https://gitcode.com/nutpi
欢迎关注我的公众号获取更多Flutter开发资源和教程:
本项目基于Apache License 2.0许可证开源 - 详见LICENSE文件
