春节花了7天学习 SwiftUI 后,我上架了人生第一款 iOS APP,并获得了AppStore编辑推荐
大概 2020 年中旬的时候,我有那么几个月,时不时就会长口腔溃疡,我上网搜了一下,发现有口腔癌这种东西,这搞得我有点提心吊胆,于是萌生了学习 iOS 开发的想法。
这里面的思考是这样,我希望记录我每次长口腔溃疡的发生,以及每一次持续的时间,这样一段时间后,我就知道其频率是否异于常人,是否真的有可能是口腔癌,需不需要去医院看,但是我发现市场上并没有这样的记录工具。
一些虽然能部分满足需求,但过于复杂,试图培养我的「习惯」,甚至还带有记账和日记,另一些虽然功能上类似,但却是记录喝水,排便,甚至性生活的,并不支持我的这种记录,最后我只能使用系统备忘录以非常繁琐的方式去记录,当时我认为,我应当做这样一个App,来更好,更方便的做这种记录。
我花了一些时间,试图判断我应该学习 Object-C,SwiftUI,ReactNative,还是 Flutter,这几个语言都各有优劣,我实在难以抉择,最后选择了放弃。
2021 年我时不时也会涌现出要开发一个自己的 App 的想法,但那个时候我不再长口腔溃疡了,而杂事亦多,所以总是不断拖延,直到今年春节,我下定决心,要在春节期间好好学习一下iOS,并开发出我的第一个App。
在语言上,我不再拖泥带水,拍脑袋选了 SwiftUI,此前的尝试虽一事无成,但好歹让我筛选出一些好的教程,斯坦福的公开课 cs193p 素有好评,2021年更新了 swiftUI 版本,可以说是最佳的入门教程,于此同时,我还找到了苹果官方出的 swiftUI 教程,这个教程图文代码并茂,手把手教你写一个足够上架标准的优质 App。
我大概罗列了一个 7 天的学习计划,每天 5 个小时——看两节公开课,同时根据苹果官方教程写两个小节,这个安排是有盈余的,我早上大概九点半起床,早上花 2 个小时,然后去超市买菜,再回家吃饭,到下午6点就足够了,晚上的时间我都预留给了荒野大镖客2,那段时间我挺爱在里面打德州。
第三天的时候我发现时间不够用了,因为我开始写自己的App,对新语言的热情极度高涨,以至于我完全砍掉了玩荒野大镖客的时间,从白天到夜晚,我都枯坐在电脑前,像探索一个神奇又隐秘的世界,一点点摸清 swiftUI 的面貌。
我的这个 App,灵感依然来自 2 年前的那些口腔溃疡,我将它称之为「元记录」工具,因为你可以用来记录任何时不时会发生,同时又让你在意的事情,而不仅仅是喝水,拉屎,大姨妈,取名字是很头疼的一件事,我想的很多好名字都被人用了,最后我决定叫它 Becord
每次喝咖啡,每次熬夜,每次极度开心极度难过,又或者是每次产生心动的感觉,每次感冒,每次流鼻血,每次长痘,以及每次口腔溃疡,你都可以快速方便的一点就记录,然后在某个时刻,以一种新的视角看到它们发生的频率以及趋势,从而能够,或者我希望能够,去做一些改善,调整和优化。
春节过完之后,我继续每天花几个小时完成我的 App,其实我公开课还没有看完,我只看了大约一半,但这足够完成一个不复杂的 App 了,一些教程和公开课之外的东西,例如内购,iCloud 使用,多语言等,则是通过网上的其他博文和视频学习的,我发现目前中文世界里的 swiftUI 资料极少,一手资料目前几乎都是英文的,还有部分是日文,但即便是日文,借助Google翻译,其实也很好看懂。
2月14日,我觉得差不多了,于是向苹果商店提交了第一个版本,这个版本只有 1.7 M,对习惯了几十几百M App 的我来说,这个体积让我有一点震惊,同时我对那些体积巨大的 App 更难以理解了,它们到底放了多少东西进去?
很快苹果商店有了反馈,我的提交被驳回了,原因是对内购的描述不够清晰,我查阅了官方指引,并按照它的要求重新优化了页面,然后再次提交,2月16日,审核通过,我的第一款 App 上架了。
我是从初三的那个暑假开始学习写代码的,那已经是 13 年前的事了,我做过一些 Windows 桌面程序,小外挂,甚至试图(但未成功)做过 RPG 游戏,网站则更是数不清了,但移动客户端,这是头一次,曾经很长时间,新做出来一个什么东西,已经不会给我带来强烈的成就感了,但这一次,这种感觉又回来了,它似乎在我耳边说,你还能继续写代码,你还能创造出新的东西。
作为一名创业者,我其实很早前就没有必要非要自己去写什么代码了,这样做甚至违背了创业圈的一些共识,我们公司也有专职的 iOS 开发同学,但我确实是忍不住,我忍不住去探索新的语言,框架,思维,并自己亲手创造出一些东西,这是我难以割舍的爱好,也是我生活的最重要的乐趣来源。
2月18日早上,一个朋友发了一张截图给我,在这张图里,Becord 上了编辑精选的推荐,我后来了解到,这个位置其实给 App 带来的曝光非常有限,但我依然大受鼓励,并接连更新了一些新功能。
直到现在,我其实依然很菜,由于开工之后的杂乱的工作,我也还没能看完所有的 cs193p 公开课,但毫无疑问,我用 7 天时间,半只脚踏入了一个对我来说崭新又有趣的世界,我脑子不算多灵光,假如我可以,那么我认为绝大部分人应该也可以做到,需要的可能只是一段整块的时间,一点热情以及好奇心。
虽然这么说有点虚伪,但是我真不指望能这样的小产品能赚多少钱,我更希望我能财富自由之后再来写这些App,这样会显得更有说服力,我也更能投入,但没有办法,财富自由是一件遥远而渺茫的事情,而创作则是现在就可以开始的,那么,就从现在开始吧。
如果你搜Becord,可能搜不到结果,因为App Store会以为你搜的是Record,所以你可以搜索 Becrod元记录,或者点击这个链接获取