春节自学了 SwiftUI 7 天,今天终于上架了第一款 iOS APP,分享一下过程

2022-02-16 11:32:46 +08:00
 graetdk
开发这个 APP 的起因是去年有一段时间我时不时会得口腔溃疡,我想记录一下,我口腔溃疡的发作频率和每次持续的时间,一开始是用备忘录,但记录起来很麻烦,所以我有了想做这样一个记录 APP 的想法

坦白说我 17 年就准备学一下 iOS 开发,但是拖延了,19 年再次想学,甚至都买了苹果开发者资格,但。。还是拖延了,今年是第三次,这次我选了春节,这样时间比较充裕,每天差不多 3-4 个小时,通过苹果官方的教程和斯坦福 cs193p 公开课(白胡子大爷讲的那个),基本了解了 swiftUI 和 MVVM 的思维,总的来说,对我来说是很大的挑战,因为我之前的经验偏后端,很多东西完全是新的

春节结束之后我每天继续花 2-3 个小时写这个 APP ,因为太菜,踩了很多坑,真正写 UI 和逻辑的时间其实不多,大量的时间花在踩坑和找解决方案上面了,但这个过程也很有乐趣,以至于我缩减了很多在大表哥 OL 里玩德州扑克的时间

最终的 APP 是这样:





你可以设置一些追踪项,例如口腔溃疡,喝咖啡,流鼻血,有心动的感觉等等等等,然后在其发生的时候很快记录一下,此后就可以通过一个 GitHub commit log 风格的图表看到其发生频率和趋势,也能看到你的历史记录

整个 APP 不向除了苹果官方之外的任何服务器发送数据,我没有后端服务器,也没有使用任何第三方统计,广告代码什么的,记录数据也只保留在你的本地和 iCloud 文稿,并且支持导出导入,总之安全隐私应该没得说。


作为我的第一个 iOS 作品,不得不承认,还有很多因为我技术不足而未完成的细节,但我之后会继续慢慢打磨,争取做成一个精致的小工具


APP 名字叫 Becord ,直接在 App Store 搜可能搜不到,可以搜 Becord 元记录,也可以直接通过链接获取: https://apps.apple.com/cn/app/becord/id1608773156


另外附上我学习的资源:
Apple 官方开发者教程: https://developer.apple.com/tutorials/app-dev-training/getting-started-with-scrumdinger
斯坦福公开课: https://cs193p.sites.stanford.edu/
16419 次点击
所在节点    分享创造
122 条回复
Leonard
2022-02-16 11:34:34 +08:00
新学的就做了 app 上架,挺牛逼的,不管怎样支持一下
crayygy
2022-02-16 11:34:48 +08:00
厉害啊,自学七天就能出成果,非常有执行力了
levon
2022-02-16 11:37:01 +08:00
orzz
2022-02-16 11:37:06 +08:00
厉害了,看来是有基础啊 老铁
rimutuyuan
2022-02-16 11:39:21 +08:00
界面设计很好看,前端开发吗
graetdk
2022-02-16 11:40:16 +08:00
@orzz 之前主要有写后端的经验,但我代码水准其实比较菜,swiftUI 整体重塑了我很多基础的概念,我觉得这个还挺重要的
graetdk
2022-02-16 11:40:55 +08:00
@rimutuyuan 说来你可能不信,完全是苹果原生的组件,这也是编译出来只有 2M 大小的原因
Pogbag
2022-02-16 11:44:30 +08:00
下载支持了 UI 不错
qq316107934
2022-02-16 11:46:25 +08:00
楼主可以分享下使用的 SwiftUI 的学习教程吗? 我使用官方教程学习发现学不到大部分控件和排版的用法,只能跟着官方代码一步一步走。
Leonard
2022-02-16 11:48:36 +08:00
@qq316107934 #9 楼主最后发的那个斯坦福公开课 CS193P 就挺好的,比官方教程好
graetdk
2022-02-16 11:49:25 +08:00
@qq316107934 一步步走就能学到很多了,我不知道你看的官方教程是哪个,我知道是有两个,一个相册的,一个是我贴的 Scrum 的,后者能学到更多,按教程最终做出来的是完全够上架标准的一个 APP 了
Varsion13
2022-02-16 11:51:59 +08:00
棒诶
uCharles
2022-02-16 11:53:24 +08:00
口腔溃疡就买意可贴 ,第二天就好了
graetdk
2022-02-16 11:53:25 +08:00
@Leonard CS193P 没得说,但是对我这种没经验的人来说,有点点吃力,先刷一下官方的再看就会好不少,个人感觉
graetdk
2022-02-16 11:54:12 +08:00
@sugz 那个靠激素,据说用多了会不管用,我只有比较严重的时候会用
qq316107934
2022-02-16 11:54:32 +08:00
@Leonard @graetdk 抱歉,没看到 post 最后一行。感谢。
我就是按照 Scrumdinger 走的,学到一半发现各种排版方式都是只能按照官方走,自己排出来就很丑,也可能是我理解不到位哈哈,之前写过 Vue 一类的单页面前端,但是排版还是不太一样。
VoyagerOne
2022-02-16 11:57:25 +08:00
刚好需要这种记录时间间隔的软件,试试看,好用就订阅一下
moohng
2022-02-16 12:00:51 +08:00
你这个 UI 好漂亮,是自己设计的吗?我是前端开发,每次想做一个什么东西的时候,都卡在了 UI 上,然后就进行不下去了
graetdk
2022-02-16 12:02:21 +08:00
@moohng 是的,但是用的都是 iOS 的原生组件,我也是慢慢调的,觉得好看就保留,不好看就换一个这样
youthfire
2022-02-16 12:14:01 +08:00
很棒的分享,一直也想尝试,然后又独守在 Python 上没有敢踏出一步

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

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

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

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

© 2021 V2EX