Skip to content

betaksu/legado_flutter

Repository files navigation

Legado Flutter

基于开源阅读应用 Legado 的 Flutter + Rust 重构版本

License: MIT Flutter Version Rust Edition


📖 项目简介

Legado Flutter 是对原 Android 应用 Legado(开源阅读)的完全重构,采用 Flutter + Rust 技术栈实现跨平台支持。

为什么重构?

  • 跨平台:原版仅支持 Android,重构后支持 Android、iOS、Windows、macOS、Linux
  • 性能提升:Rust 核心引擎提供更高性能和更好内存安全性
  • 可维护性:清晰的模块划分和现代化的技术栈
  • 功能对等:保持与原版功能对等,同时扩展新特性

技术架构

┌─────────────────────────────────────────┐
│           Flutter UI Layer               │
│    (书架/阅读器/搜索/书源管理/设置)        │
└──────────────────┬──────────────────────┘
                   │
         flutter_rust_bridge (FFI)
                   │
┌──────────────────▼──────────────────────┐
│          Rust Core Engine                │
│                                          │
│  ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│  │ core-net │ │core-     │ │core-    │ │
│  │ 网络引擎  │ │parser    │ │storage  │ │
│  │          │ │ 格式解析  │ │ SQLite  │ │
│  └──────────┘ └──────────┘ └─────────┘ │
│                │                        │
│         ┌──────▼──────┐                 │
│         │ core-source │                 │
│         │ 书源规则引擎 │                 │
│         └─────────────┘                 │
└──────────────────────────────────────────┘

详见 架构设计文档


🚀 快速开始

前置要求

  • Flutter: >=3.0.0 (安装指南)
  • Rust: edition 2024 (安装指南)
  • flutter_rust_bridge_codegen: ^2.0.0
    cargo install flutter_rust_bridge_codegen

构建步骤

1. 克隆项目

git clone https://github.com/yourusername/legado_flutter.git
cd legado_flutter

2. 初始化 Rust 核心

cd core
cargo build --release

3. 生成 FFI 绑定

cd bridge
flutter_rust_bridge_codegen generate

4. 安装 Flutter 依赖

cd flutter_app
flutter pub get

5. 运行应用

# Android
flutter run

# iOS (需要 macOS)
flutter run -d ios

# 桌面平台
flutter run -d windows  # 或 macos / linux

📂 项目结构

legado_flutter/
├── core/                   # Rust 核心引擎 (workspace)
│   ├── core-net/          # 网络引擎 (HTTP/Cookie/代理)
│   ├── core-parser/       # 格式解析 (TXT/EPUB/UMD)
│   ├── core-storage/      # 存储引擎 (SQLite)
│   └── core-source/       # 书源规则引擎 (核心)
├── flutter_app/           # Flutter 应用
│   ├── lib/
│   │   ├── app/          # 应用配置
│   │   ├── features/     # 功能模块 (书架/阅读器/搜索等)
│   │   ├── models/       # 数据模型
│   │   ├── services/     # 服务层 (状态管理)
│   │   └── widgets/      # 通用组件
│   └── pubspec.yaml
├── bridge/                # Flutter-Rust 桥接层
│   └── src/lib.rs
├── docs/                  # 项目文档
│   ├── ARCHITECTURE.md   # 架构设计
│   └── ROADMAP.md        # 开发路线图
└── README.md

🎯 开发路线图

阶段 状态 描述
Phase 0 ✅ 进行中 基础设施搭建
Phase 1 📋 待开始 Rust 核心引擎
Phase 2 📋 待开始 Flutter UI 框架
Phase 3 📋 待开始 功能整合与桥接
Phase 4 📋 待开始 高级服务移植
Phase 5 📋 待开始 平台适配与发布

详细路线图见 ROADMAP.md


🤝 贡献指南

欢迎贡献!请参考以下流程:

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

贡献方向

  • 🐛 报告 Bug
  • 💡 提出新功能建议
  • 📝 完善文档
  • 💻 提交代码(Rust/Flutter/文档)
  • 🧪 编写测试用例

📄 开源协议

本项目采用 MIT 协议 - 详见 LICENSE

原 Legado 项目采用 AGPL-3.0,本重构项目采用 MIT 以便更广泛的使用。


🙏 致谢


📧 联系方式


注意: 本项目与原 Legado 无官方关联,是由社区驱动的重构项目。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors