字节笔记本

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⚠️ 需验证

项目亮点

  1. 桌面端适配:针对桌面端的大屏幕进行了专门的 UI 适配
  2. 多平台构建配置:包含完整的 Android、iOS、Windows、macOS 构建配置
  3. 代码规范:使用 flutter_lints 进行代码规范检查
  4. 资源管理:规范的资源文件组织结构

适用场景

  • 学习 Flutter 桌面应用开发
  • 了解跨平台应用的响应式布局实现
  • 作为笔记类应用的开发参考
  • 学习 GetX 和 Riverpod 状态管理实践

项目链接

许可证

本项目采用 MIT 许可证开源。

分享: