字
字节笔记本
2026年2月22日
flutter_desktop_notes_app:Flutter 跨平台桌面笔记应用
本文介绍 flutter_desktop_notes_app,一个基于 Flutter 开发的跨平台桌面笔记应用。该项目展示了如何使用 Flutter 构建适配桌面端的精美应用,支持响应式布局,可同时运行在移动端和桌面端。
项目简介
flutter_desktop_notes_app 是一个开源的 Flutter 桌面笔记应用,由 Ethiel ADIASSA 开发维护。截至目前,该项目在 GitHub 上已获得 71 stars 和 9 个 fork,采用 MIT 许可证开源。
该项目的主要特点是使用 Flutter 的跨平台能力,实现了一套代码同时支持:
- Android(移动)
- iOS(移动)
- Windows(桌面)
- macOS(桌面)
核心特性
- 跨平台支持:一套代码同时支持移动端和桌面端
- 响应式布局:自适应不同屏幕尺寸
- 现代化 UI:采用 Material Design 设计语言
- 状态管理:使用 GetX 和 Riverpod 进行状态管理
- 自定义字体:集成 Google Fonts 字体库
技术栈
| 技术/库 | 用途 |
|---|---|
| Flutter | 跨平台 UI 框架 |
| Dart | 编程语言 |
| GetX | 状态管理与路由 |
| Riverpod | 状态管理 |
| Google Fonts | 自定义字体 |
| HTTP | 网络请求 |
项目结构
text
lib/
├── components/ # UI 组件
├── constants.dart # 常量定义
├── generated/ # 生成的代码
├── layouts/ # 布局组件
├── main.dart # 应用入口
├── models/ # 数据模型
├── pages/ # 页面
├── providers/ # 状态提供者
└── widgets/ # 可复用组件安装指南
前置要求
- Flutter SDK >= 2.12.0
- Dart SDK
- Android Studio / Xcode(用于移动平台)
- Visual Studio(用于 Windows 桌面)
克隆项目
bash
git clone https://github.com/Ethiel97/flutter_desktop_notes_app.git
cd flutter_desktop_notes_app安装依赖
bash
flutter pub get运行应用
bash
# 运行桌面版本(Windows/macOS/Linux)
flutter run -d windows
flutter run -d macos
# 运行移动版本
flutter run -d android
flutter run -d ios代码示例
主应用入口
dart
import 'package:flutter/material.dart';
import 'package:flutter_desktop_notes/providers/app_controller.dart';
import 'package:get/get.dart';
import 'package:google_fonts/google_fonts.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final controller = Get.put(AppController());
@override
Widget build(BuildContext context) => MaterialApp(
title: 'Windows',
theme: ThemeData(
textTheme: GoogleFonts.nunitoSansTextTheme(
Theme.of(context).textTheme,
),
fontFamily: GoogleFonts.nunitoSans().fontFamily,
primarySwatch: Colors.blue,
backgroundColor: backgroundColor,
),
home: const SafeArea(
child: Dashboard(),
),
debugShowCheckedModeBanner: false,
);
}依赖配置
pubspec.yaml 中的主要依赖:
yaml
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.3
riverpod:
get:
flutter_icons_null_safety:
google_fonts:
http:
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^1.0.4平台支持
| 平台 | 支持状态 |
|---|---|
| Android | ✅ 支持 |
| iOS | ✅ 支持 |
| Windows | ✅ 支持 |
| macOS | ✅ 支持 |
| Linux | ⚠️ 需验证 |
项目亮点
- 桌面端适配:针对桌面端的大屏幕进行了专门的 UI 适配
- 多平台构建配置:包含完整的 Android、iOS、Windows、macOS 构建配置
- 代码规范:使用 flutter_lints 进行代码规范检查
- 资源管理:规范的资源文件组织结构
适用场景
- 学习 Flutter 桌面应用开发
- 了解跨平台应用的响应式布局实现
- 作为笔记类应用的开发参考
- 学习 GetX 和 Riverpod 状态管理实践
项目链接
- GitHub 仓库:https://github.com/Ethiel97/flutter_desktop_notes_app
- 作者 Twitter:https://www.twitter.com/enthusiastDev
- 作者网站:https://ethieladiassa.me
许可证
本项目采用 MIT 许可证开源。
分享: