独立开发周记 #21: Apple 预判了我的预判

2023-07-10 21:55:37 +08:00
 vulgur

2023 ,0703-0709

今年的夏天真是太热了,都想去南方避暑了。好不容易终于等到了一场暴雨,整个城市降温了不少。

据说今年是百年最强厄尔尼诺,但厄尔尼诺对全球温度的影响通常在其形成的第二年展现出来,所以 2024 年会更热……🥵

喜迁新址

周四,极简软件工作室喜迁新址,从卧室到客厅。孩子大了,需要自己单独的卧室,我就被迫从次卧里赶了出来,从此从私密办公变成了开放办公。

过去的 7 年,我的工作台一直都是在次卧里。在一个地方坐久了就调整一下次卧的布局,这么多年调整了七八次。目前桌子上唯一没换过的就是戴尔的 U2412M 显示器和第一代的 Magic Mouse (还是上电池的),这个显示器买了有 10 年了,在北京用了三年,回家后也带了回来。桌子和椅子都换了三轮了,电脑也换了三个,键盘换了十多把。

极简日记 App Store

这周依然在推进 1.7.6 ,导入导出的功能终于优化完成了,也给其他一些细节进行了修修补补。

这其中最耗时耗力的是针对日历的优化。一开始以为是日历的卡顿是加载图片造成的,但是改为了异步加载图片还是卡,后来干脆把加载图片的功能注释掉才发现没有图片了也卡。所以卡顿瓶颈不是在 IO 这里,而是在 UI 上。期间请教了 Bee ,他在自己的 app:瓦尔登中实现了可以横向无限滚动的、没有任何卡顿的列表,他不仅无私分享了他的代码给我,还详细地教我如何使用他封装好的代码。尽管如此,我的日历在他的列表中依然卡顿,而且我需要改动一些我的代码才能在他的代码中正常加载图片。好在最后我也发现了卡顿的真正原因,就是控制日历滑动的位移以及当前月份的几个 State 变量没有协作好导致的。

除了修 bug ,还想着加入一个关于草稿的新功能。原来的草稿是打开编辑页时自动恢复的,但是这样有一定的强制性,万一用户不希望恢复这个草稿而是想直接新建一个日记呢。于是我想着参考即刻 App 重新设计一下整个草稿功能,也就是将未完成的草稿作为一个提示给到用户,让用户选择继续编辑还是删除这个草稿。

但是这里又遇到了纠结点:该如何设计草稿的数据模型?这时有三种选择:

  1. 将日记的草稿作为一个临时生成的 struct 保存到 UserDefaults 里面,但是这样需要让这个 struct 实现Codable协议,而且如果有多个草稿的话,这样的存取也不方便。
  2. 在日记的数据模型上加入一个新的字段,isDraft,好处是不用在草稿和日记做转换,但是这样日记的已保存和未保存这两种状态不能同时出现。
  3. 在 CoreData 中新建一个专门用于存储 Draft 的数据实体,在属性定义上就是日记数据实体的精简版,可以存储多个草稿,也可以相对方便地转换成日记,缺点就是需要写一堆 CRUD 。

思考了一下午,最终还是选择了最麻烦但是未来扩展性更高的第三种方案,争取下周就能写完这部分的功能。

新 App 调研

半个月前我就产生了一个健康方面的新 App 的 idea ,这段时间一直在调研实现相关的技术。

因为需要服务器存储数据和发送通知,想 w2solo 的各位群友请教了国内外这方面的服务,也顺便学习了什么是 SaaS 、PaaS 、BaaS 、FaaS 。

因为需要使用 HealthKit ,向 StressWatch 的开发者之一的 Patrick 请教了许多关于读取健康数据方面的问题。

然而,就在验证了可行性的第二天,我才发现原来 iOS 的健康 App 就已经有了类似的功能🤦,背刺苹果失败😂。

不过简单体验了一下健康 App 的相关功能,感觉还是有些复杂,而且体验和我想象的差很多,感觉仍有一线可做的机会。

买买买

这周又是各种买。

公众号原文

3304 次点击
所在节点    程序员
25 条回复
vulgur
2023-07-11 17:15:40 +08:00
@ureyhiker 漫步者 R1080BT
julyclyde
2023-07-11 17:57:31 +08:00
@xuanbg 电脑放腿上,正常情况下颈椎处于不合适的弯曲程度
21231sv
2023-07-11 18:01:25 +08:00
弱弱的问下,大佬是靠独立开发产品为生,还是有其它收入渠道
vulgur
2023-07-11 18:11:34 +08:00
@21231sv 不是大佬,只靠 App 收入为生
mitong3269
2023-07-14 23:46:57 +08:00
请问这个充电器好用吗,我看评论好多有问题(刷评论的)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/955632

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX