FocusBloom
FocusBloom是一款Kotlin多平台应用,通过专注工作时间段和短暂休息来帮助用户提高生产力和时间管理技能。
🛠️ 开发中 🛠️
请注意,该项目仍在开发中,某些功能可能无法按预期工作。
如果您发现任何错误或有任何建议,欢迎提出问题或提交拉取请求。
平台
✅ | ✅ | ✅ | 计划中 |
截图
Android
iOS
桌面
架构
该应用在Android、iOS和桌面之间共享。共享代码使用Kotlin编写,UI使用Compose Multiplatform构建。共享代码使用Kotlin编写,通过Kotlin/JVM编译为Android和桌面的JVM字节码,通过Kotlin/Native编译为iOS的原生二进制文件。
模块
%%{
init: {
'theme': 'neutral'
}
}%%
graph LR
:desktop --> :shared
:android --> :shared
- shared:
- 包含所有平台之间共享的代码
- android:
- 包含Android应用
- ios:
- 包含iOS应用
- desktop:
- 包含桌面应用
使用技术
- Kotlin Multiplatform - Kotlin多平台技术旨在简化跨平台项目的开发。
- Compose Multiplatform - 一个现代化的Kotlin UI框架,使构建高性能和漂亮的用户界面变得简单和愉快。
- SQLDelight - SQLDelight是由Cash App(前Square, Inc.)开发的开源库,用于在基于Kotlin的Android和多平台应用程序中处理SQL数据库。
- Multiplatform Settings - 一个用于保存简单键值数据的Kotlin多平台库。
- Koin - 实用的Kotlin和Kotlin多平台依赖注入框架。
- Voyager - 一个多平台导航库。
- Kotlinx-datetime - KotlinX多平台日期/时间库。
- Kotlinx-serilization - Kotlin多平台/多格式序列化。
- Koala plot - Koala Plot是一个基于Compose Multiplatform的用Kotlin编写的图表和绘图库。
- Compose Components Resources - Compose Multiplatform的资源。
- Material3 Window Size Multiplatform - Compose Multiplatform的Material 3窗口大小类。
- Spotless - 一个代码格式化工具,有助于保持代码库整洁。
- Github Actions - 一个帮助自动化工作流程的CI/CD工具。
- Renovate - 一个开源软件工具,旨在帮助自动化软件项目中依赖项的更新过程。
运行项目
Android
在Android设备/模拟器上运行应用程序:
- 在Android Studio中打开项目并运行导入的Android运行配置
桌面
运行桌面应用程序:./gradlew :desktop:run
iOS
在iPhone设备/模拟器上运行应用程序:
- 在Xcode中打开
ios/iosApp.xcworkspace
并运行标准配置 - 或者使用Android Studio的Kotlin Multiplatform Mobile插件
许可证
Copyright 2023 JoelKanyi
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.