升级打怪
开发Dayfold的开发有一段时间了,目前主要功能都有,还在继续打磨细节。功能如下:
- 创建笔记本,增删改查
- 创建日记,增删改查
- 编辑日记,添加图片、tag、心情、视频
- 查看日记的方式有多种:图片瀑布流、日历行程和地图模式
- 删除日记时,支持一些简单的手势功能;
- 支持iCloud Sync(开发中)
- 支持Memories(开发中)
- 支持切换Theme,有三种配色
- 支持Notifications(开发中)
- 支持Privacy & Face ID(基本完成,后续需要做差异化)
- 支持Hidden Notebook(开发中)
- 支持数据统计
- 支持回收站
- 支持markdown语法(还不完善)
陆陆续续开发有5个多月,期间有蛮多收获。
为什么选择Swift
在IT行业干了10多年,专职于前端领域,对于后端编程语言基本没兴趣,不喜欢与枯燥的数据库和麻木不仁的CURD打交道,不是看不起或者有偏见,纯属喜好。
就行业发展态势、职业发展天花板和就业形势来说,做后端要活得更久一点。
但是,对于漂亮的UI和感性的交互,深深为之着迷,不愿自拔。
Swift 语言发展也有一段时间,相信在苹果的带领下,完全取代Object C不是问题。就目前来,iOS 生态中已经有很多优秀的 Swift 应用。
vibe coding 是什么
vibe coding,又被称为氛围编程。简单来说,是一种依赖AI的编程方式。不需要开发者有特别厉害的代码能力和编程技巧,只需要一点编程思维和产品设计能力即可。
vide coding 的过程,自己既是开发、产品、测试,也是用户。需要自己写产品需求和开发设计文档,也需要自己调试代码和功能测试,总之,个人即团队。
为何开发笔记应用
其实一开始,我也不知道开发什么。只是觉得vibe coding的时代需要做些有趣的事情,才不会留下遗憾。
事实上,我用过多款笔记应用:Evernote / OneNote / DayOne / Obsidian,包括代码编辑器 notepad ++ / Sublime / VS Code 都可以做笔记。差点忘了,还有 iPhone 中的备忘录,以及最新出现的无边记。
但是它们这些产品给我的感觉,不是笔记。而是记录、草稿,或者是资料库,没有一点笔记该有的样子。首先应该有笔记本,然后才有一页一页的笔记,每一页都有自己珍惜的文字和记忆,这些虽然算不上财富,但也是非常私密且有纪念意义的、不可取代的珍藏。
因此,我想做一款有质感、轻松记录和值得回忆,阅读后能会心一笑的笔记应用。
开发遇到的那些事
首先我要感谢以下这些优秀的应用:
- Hardcover
- DayOne
- 苹果备忘录
Hardcover,UI设计非常精致,整体风格别具一格。
DayOne,属于全能型,面面俱到,功能非常丰富。
苹果备忘录,非常简洁,有很多灵动的交互。
Dayfold 这个名称来自ChatGPT,翻译成中文“Dayfold(折叠一天)”。
由于应用开头是字母D,通过Google AI Studio生成icon,然后再追加了扁平化设计,变成了现在的样子。
Dayfold 的主页和侧边栏设计参考 Hardcover,精美的封面设计,让人看了爱不释手,侧边栏功能,清爽易用。
Privacy & Face ID 和回收站功能,参考 DayOne,简洁实用。
日记编辑器 大部分参考苹果备忘录,功能丰富,但不混乱。
在网络上找到以下资料和代码库:
- How to create this floating toolbar? : r/iOSProgramming
- DaniilL12321/customToolbar_iOS26: custom animated toolbar with new liquid glass design iOS 26
还有视频,
数据统计的功能,本来想简单做做,但看了 DayOne 的UI设计后,决心重新设计,
借鉴了 GitHub 的 Contribution Graph。
然后在Stitch中生成,
最终效果如下,
另外还参考了2个开源项目:
- Sharing My Contribution Graph Library, ContriBoot! : r/SwiftUI
- mazefest/ContriBoot: ContriBoot is a SwiftUI library that makes it simple and fast to create a year-style contribution chart, like the ones you see on GitHub.
- jacklv-coder/HeatmapKit: A SwiftUI calendar heatmap and contribution graph component.
情绪波(Emotion Wave)
一种模仿 GitHub 提交记录图(Contribution Graph)的视觉化情绪追踪工具。它通过不同深浅的颜色方块来代表你每天的心情指数,让你在年终或月底时,能够像程序员看代码提交量一样,一目了然地回顾自己全年的心理健康轨迹。
设计如下,
- 12 个情绪及 Energy 数值
- 0~100 能量体系
- Emotion Wave 曲线设计
- Emoji 节点设计
- 情绪分类
最开始,是参考五线谱,但觉得太复杂,改为了波浪线……
采用12个情绪也是有原因的,参考了音乐里面的“十二平均律”。
另外借鉴了:
总之,Dayfold 能顺利开发,离不开整个AI生态系统、丰富的笔记类应用市场、个人实施能力和审美。