HabitBloom 图标
源码自编译 · 个人自用迭代中iPhone · iPad · Mac
日常习惯与桌面小组件 · 版本 内部演进版 (2026-09-19)

HabitBloom:去掉打卡系统的喧哗,只留下一张每天顺手点亮的习惯卡片。

HabitBloom 是一款用 SwiftUI 与 SwiftData 构建的跨苹果设备习惯记录应用。它用单页网格、月度日历与心情记录取代复杂的连胜惩罚机制,并通过自研的 Cloudflare Workers + Durable Objects 远端快照方案,解决了个人免费签名(Sideload)环境下桌面 Widget 与多端状态无法同步的痛点。

HabitBloom 在 iPhone 与 iPad 上的习惯卡片、日历与统计界面
HabitBloom 真实运行界面:柔和的暖色卡片层级,将今日打卡、月度热力日历与轻量心情记录收束在同一屏。
核心能力与设计边界

HabitBloom 解决什么问题

围绕真实使用中的高频动作设计,把复杂的底层协议与同步机制封装在直观的卡片界面之后。

无压迫感的卡片式每日打卡

打开应用第一眼只展示今天需要完成的习惯卡片与进度环。没有红点轰炸、排行榜或断签焦虑,点一下即可完成记录。

月度日历回看与轻量心情批注

每次打卡可顺手附上当天的心情与简短备注;在月历视图中按天回看时,能看清习惯起伏背后的生活脉络。

突破免费签名限制的桌面 Widget 同步

针对个人免费 Apple ID 无法使用 App Group / CloudKit 的限制,设计了「本地文件降级 + Cloudflare 远端快照」双轨链路,让桌面小组件依然能实时反映打卡进度。

iPhone · iPad · Mac 三端同源体验

基于 SwiftUI 与 SwiftData 单一代码库适配 iOS、iPadOS 分栏与 Mac Catalyst 桌面窗口,多设备通过 WebSocket 与版本快照保持最终一致。

场景 → 结果 → 技术机制

典型使用场景

从日常遇到的具体痛点出发,说明它带来的实际体验改变与底层实现方式。

早晚例行小事的快速确认

痛点:功能繁重的效率软件打开需要先过启动页、切标签、填表单,记录成本比习惯本身还高。
结果:在桌面小组件看到今日剩余习惯,点进卡片一秒完成勾选,立刻回到原本的生活节奏。
机制:SwiftUI 轻量视图层级 + WidgetKit 定时拉取最新聚合快照。

在 iPhone、iPad 与 Mac 之间无缝切换

痛点:白天在 Mac 前工作、晚上用 iPhone 睡前复盘,如果只在单机存储,记录很快就会割裂。
结果:任意设备修改习惯或打卡后,其他在线设备通过 WebSocket 实时收到同步通知并合并本地状态。
机制:Cloudflare Workers + Durable Objects 维护房间级快照与乐观锁版本号。

不想为自用小工具每年交平台税

痛点:Apple Developer Program 每年 99 美元;而不付费的个人免费签名会被剥夺 CloudKit 与跨进程 App Group 权限。
结果:零平台年费即可在自己的多台苹果设备上跑通多端同步与桌面 Widget 展示。
机制:将主应用聚合好的轻量 Widget 快照推送到个人边缘节点,由小组件独立读取。
工作流程与系统规格

三步上手与环境要求

STEP 01

建立低摩擦的习惯卡片

为每个习惯设定图标、色彩与周期,首页自动聚合成清爽的今日待办网格。

刻意克制配置项,避免把时间花在「装修任务管理器」上。

STEP 02

随手记录打卡与当下心情

点击卡片完成今日打卡,可选记录心情状态与一句简短备注。

所有改动优先写入本地 SwiftData,离线状态下同样即时响应。

STEP 03

边缘节点同步到多端与桌面小组件

后台自动将全量快照与 Widget 摘要同步至 Cloudflare Durable Objects。

即使在免费签名环境下,iPhone、iPad、Mac 与桌面小组件也能保持一致。

当前状态
个人自用与持续演进(Xcode 本地签名安装)
支持平台
iOS · iPadOS · macOS (Mac Catalyst)
客户端技术栈
SwiftUI + SwiftData + WidgetKit
同步后端
Cloudflare Workers + Durable Objects + WebSocket
离线能力
本地优先存储,网络恢复后基于版本号自动合并
配套工程手记
已公开完整设计取舍与免费签名突围方案
常见问题与工程深读

常见疑问解答

为什么页面上没有提供 HabitBloom 的直接下载安装包?

因为 HabitBloom 目前使用作者个人的免费 Apple ID 签名运行,未上架 App Store,也未签发可通用的企业/公证分发包。我们坚持只提供真实可用的安装包,不放失效链接或虚假下载按钮。

如果想参考它的免费签名 Widget 同步方案,可以从哪里了解?

可以直接阅读配套工程文章《HabitBloom:把每天的小习惯,放进一张愿意点开的卡片》,文中详细记录了 App Group 受限原因、Cloudflare Workers + Durable Objects 同步协议以及离线冲突处理。

配套工程长文

HabitBloom:把每天的小习惯,放进一张愿意点开的卡片

想了解 HabitBloom 在开发过程中经历的完整架构演进、踩坑排查与协议细节?阅读这篇第一手工程手记。