FocusBloom:跨平台专注计时应用
基于 Kotlin Multiplatform 与 Compose Multiplatform 的专注计时应用,通过专注时段与短暂休息帮助提升效率与时间管理。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v1.0.5
- 平台
- Android、iOS
详细介绍
项目简介
FocusBloom 是一个 Kotlin Multiplatform 应用,通过专注工作时段与短暂休息的方式,帮助用户提升专注力与时间管理能力。
应用的界面与逻辑在 Android、iOS 和桌面端之间共享:共享代码使用 Kotlin 编写,UI 使用 Compose Multiplatform 构建;Kotlin 代码在 Android 与桌面端编译为 JVM 字节码,在 iOS 端通过 Kotlin/Native 编译为原生二进制。
项目目前仍处于开发阶段(README 标注 WIP),部分功能可能与预期不完全一致。
主要功能
- 专注与休息计时:以「专注工作间隔 + 短暂休息」的方式组织工作节奏,帮助用户管理时间。
- 多平台一致体验:Android、iOS、桌面端共用同一套 Kotlin 代码与 Compose Multiplatform UI,README 中同时展示了三个平台的界面截图。
- 任务入口:新版本中优化了桌面端新用户「添加第一个任务」的入口,使其更醒目易用。
- 本地数据存储:使用 SQLDelight 处理本地 SQL 数据库,使用 Multiplatform Settings 保存简单的键值配置数据。
- 图表展示:项目依赖 Koala Plot(基于 Compose Multiplatform 的图表库)用于数据可视化。
技术栈
Kotlin Multiplatform、Compose Multiplatform、SQLDelight、Multiplatform Settings、Koin(依赖注入)、Type Safe Compose Navigation、AndroidX ViewModel、Kotlinx-datetime、Kotlinx-serialization、Koala Plot、Material3 Window Size Class,以及 Spotless、GitHub Actions、Renovate 等工程化工具。
模块结构
shared:各平台共享的代码android:Android 应用ios:iOS 应用desktop:桌面应用
其中 :android 与 :desktop 模块依赖 :shared 模块。
安装与使用
项目需从源码构建运行。
桌面端
./gradlew :desktop:run
Android
在 Android Studio 中打开项目,运行导入的 Android run configuration(真机或模拟器均可)。
iOS
在 Xcode 中打开 ios/iosApp.xcworkspace 并以标准配置运行;也可以使用 Android Studio 的 Kotlin Multiplatform Mobile 插件。
注意事项
- 项目仍在开发中,部分功能可能无法正常工作。
- 如遇到 bug 或有建议,可以提交 issue 或 pull request。
- 项目采用 Apache License 2.0 开源许可。
界面预览
Android:
<img src="https://raw.githubusercontent.com/joelkanyi/FocusBloom/main/art/android_screen1.jpeg" width="250"/> <img src="https://raw.githubusercontent.com/joelkanyi/FocusBloom/main/art/android_screen2.jpeg" width="250"/> <img src="https://raw.githubusercontent.com/joelkanyi/FocusBloom/main/art/android_screen3.jpeg" width="250"/>
iOS:
<img src="https://raw.githubusercontent.com/joelkanyi/FocusBloom/main/art/ios_screen1.png" width="250"/> <img src="https://raw.githubusercontent.com/joelkanyi/FocusBloom/main/art/ios_screen2.png" width="250"/> <img src="https://raw.githubusercontent.com/joelkanyi/FocusBloom/main/art/ios_screen3.png" width="250"/>
桌面端:
<img src="https://raw.githubusercontent.com/joelkanyi/FocusBloom/main/art/dsk_screen1.png"/>
<img src="https://raw.githubusercontent.com/joelkanyi/FocusBloom/main/art/dsk_screen2.png"/>
<img src="https://raw.githubusercontent.com/joelkanyi/FocusBloom/main/art/dsk_screen3.png"/>
本作品整理自 GitHub 开源项目 joelkanyi/FocusBloom,原作者 @joelkanyi。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.0.5当前版本
主要升级 GitHub Actions 相关 action 与协程依赖,并优化桌面端新用户体验,让「添加第一个任务」入口更显眼易用。
评论