从放弃到学会iOS应用开发,他是这么做到的!

我的极刻 2021-02-01

ios开发苹果应用开发

3812 字丨阅读本文需 16 分钟

心中有无数好点子,但因为不会编程无法实现?确实,这是许多小伙伴心中最大的遗憾。明明想要做一款满足自己需求的工具,但一打开编程教学,就一头雾水。

“这是个啥?为什么不能这么做?那又是个啥?”这样的灵魂三问,在小黑学习Python的时候频频出现,而当小黑决定上网查看教程的时候,却发现要么课程昂贵,要么不那么易懂。这些因素,都直接导致了小黑最终放弃编程的学习。

大麦是一位刚刚通过自学完成了人生中第一个iOS应用的开发的新晋开发者。在他的眼中,只要找对了学习的工具和方法,并且抱有对自己的灵感有长期、坚持的热情,学会应用的开发并不是一件太难的事情。

今天,小黑邀请到了iOS应用如期而至的开发者大麦,通过他的经历,来了解一下他在自学应用开发的路上,是如何从入门到放弃,再从放弃重新开始学习,并成功开发出一款iOS应用的吧。

如期而至是一款什么样的应用

虽说如期而至才刚刚发布不久,但在App Store中,它已经获得了不少好评。在众多的好评中,有一条吸引了小黑的注意:

确实,和这位用户一样,小黑也有不少个人习惯因为找不到一款优秀的工具应用,只能用笔记本或是其他应用代替,并常常萌发出自己做一个应用的想法。

当然,有了学Python半途而废的前车之鉴,这一想法也只是停留在想法层面,直到在和大麦聊过之后,才又有了重新入门的勇气。

这是一款专注于记录商品保质期、事情截止日期的应用,在App Store上可以免费下载,解锁完整功能则需要一次性付费12元。

如期而至的界面设计非常简洁,小黑大致算了一下,除去启动界面外,整个应用只有四个界面,默认配色采用了白色与钢蓝色的搭配,显得质感十足。

应用的首页中,就为我们展示了应用的所有内容:物品信息、增加新内容,历史物品以及设置。

点击物品显示详细信息、点击“+”增加新物品,这些基本功能小黑就不赘述了,大家可以自行体验。

总的来说,这款应用的功能虽然简单,“确实”是一款新手开发的iOS应用,但该考虑到的细节却一个都不少。

▲ 物品保质期的详细信息

在我们填写完商品的生产日期和有效期后,应用会自动为我们计算出使用截止日,不仅适合用来记录保质期,连会员的有效期、物品的保修期也都可以用它来记录。

说到这里,有数鸟App的开发者Bourne兄是不是瞬间瑟瑟发抖了呢?

功能上的完整度,其实是每个应用开发者都必须考虑到的基础,如期而至这款应用真正让小黑感到惊讶的,是它实现了非常流畅的应用动画,小黑随便选择了两个为大家展示一下。

从上面这两个动图可以看出,如期而至中的动画效果都比较顺畅,页面的回弹也给人以舒适的观感。

在小黑对应用制作的有限了解中,虽然动画效果的制作并不困难,但对它进行不断调试直到获得最佳观感的过程,却是非常耗时的,从中我们不难看出大麦在细节方面的用心。

从小白到入门,开发iOS应用要怎么上手?

在大麦分享他的心得之前,小黑觉得有必要先介绍一下苹果推出的Swift编程语言。在小黑对Swift进行了简单的了解之后,对编程又有了全新的认识。

Swift这一编程语言拥有语法简洁的特点,使阅读与维护变得更加简单。对初学者来说,更重要的一点是它拥有使用前自行检查的能力,让用户得以提前规避可能出现的部分BUG。

▲ Swift编程语言更直观、更简洁、更安全

而2019年SwiftUI的问世,更是让编程变得简单易学。

▲ SwiftUI有了最近热门的“低代码”开发的影子

当然,这些能力都不是让Swift编程语言强大的关键因素,真正的关键因素还要归结于它在儿童编程教学上做出的巨大努力。

小黑之前曾经在文章《把爱奇艺变回生产力,你只需要这个工具》中提到过苹果针对儿童和成人推出的两项不同的编程学习指南:《人人能编程》系列和《使用Swift开发》系列。

▲ 苹果推出的《使用Swift开发》

在小黑的印象中,这应该是极少数由编程语言官方所提供的涵盖了儿童到成年全年龄段的编程指导教材,其中的内容都按照不同年龄的层次做了不同的改动。

特别是针对儿童的编程入门,我们可以通过边游戏边学习的方式进行,非常适合亲子之间寓教于乐。


而在编程进阶领域,苹果官网还提供了示例代码库供开发人员参考、提高,还有斯坦福大学和普利茅斯大学的相关编程课程可供观看。

▲ 斯坦福大学提供的Swift编程语言学习课程

只不过对中国观众来说,这些课程和资料都有一个比较大的遗憾之处,就是仅提供了英文资源,并且视频是在YouTube上播放的,国内用户很难正常观看。

虽然有这种种限制,但我们依然可以看到苹果公司在提高公众教育方面做的努力。

开发者访谈:从放弃到掌握,需要几个步骤?

当同样对开发应用有浓厚兴趣,并同样有放弃经历的小黑遇到大麦时,脑海中积存的问题一股脑地就倒给了他,而大麦也对这些问题做了非常详细的回答。那么,就让我们来看看,对自己的学习经历,大麦是怎么说的吧。

Q:在采访的开始,先请您简单的介绍一下自己和如期而至这款应用吧。

A:大家好,我是大麦(微博@叽里呱啦大麦),是一个混了7年的视频工具人,半路出家的果粉。15年开始用了iPhone之后被苹果的应用生态深深吸引,发现手机能通过一款应用去帮助人们改变生活状态,这是多么奇妙的事情,便有了想自己开发应用来实现手机更多价值的想法。去年花了一年的业余时间自学了SwiftUI,开发了「如期而至」这款可以用来记录事物过期时间的APP,功能是对生活中容易忘记日期的物品进行记录和管理。

Q:是什么原因促使您开发这款应用的呢?

A:主要原因就是我和女朋友都比较爱囤货,家里东西太多,有时候整理完还是会忘记东西放在哪里,等下次翻出来看到的时候,大概率就是已经过期了。所以那个时候就很想做这么一款可以记录我家这些容易被忘记的东西,能直观看到每个物品还有多久过期,或者在快到期前进行提醒,也不是说记录之后就非要在保质期里逼迫自己吃完/用完。而且有了提醒的话,即使到期了我能发现然后及时丢弃,不至于误食等情况发生。

Q:在开发过程中,您遇到的最大的困难是什么,您是如何解决这些困难的?

A:最大的困难我觉得就是目前SwiftUI的教程和案例不多,很多功能实现方法不会有现成的解决方案,需要自己摸着石头过河去探索。另外一个就是自己的编程基础不扎实,在遇到稍微难一点的后端问题时很容易就翻车了。一般遇到这些阻断开发的问题之后,即使用尽脑力去思考也很难立刻得出结果,我的解决方式就是让自己放空1、2天,回头再来看这些难题就会很容易迎刃而解。虽然不知道原理是什么,但真的是屡试不爽。

Q:开发过程中,发生过哪些令你印象深刻的事情?

A:比较深刻的是,我是去年学开发之后才有认真看WWDC大会的分享课程。去年WWDC因为疫情原因变成了录拍的方式,苹果的工程师们不用再对着PPT进行演讲,所以很多课程看起来更有意思,诸如此类的官方视频,苹果并不会去限制每个演讲工程师的个性表达,在不同课程视频里,我们可以看到染发纹身,一边吃汉堡写代码,一边泡茶泡咖啡等等,各种形形色色的工程师纷纷登场。所有这些看起来不合宜的表现,反而让我产生一种亲切感,或许它所想表达的,就是每个编程IT工程师都是有自己独立人格的,并不是大多数人总以为的格子衬衫与肥宅大佬。这也让给我深深感受到了,一个公司的企业文化对于产品是有多么大的影响。


Q:在开发如期而至这款App之前,您似乎还有一次学习应用开发的经历,当时放弃的原因主要是什么呢?

A:是的,最早有自己开发APP的想法是在2017年了。当时很有兴趣学习iOS开发,然后一开始接触Swift,就是按照一本《从零开始学XXX》的工具书来学习的,基本就会先告诉你学习语法,所以一上来就是比较枯燥的,也很难想到自己做项目时什么时候会用到这些语法,心理上很容易就会被自己打败。再加上后面换了工作,新的环境和忙碌方式也让自己放弃了。

Q:您觉得这次重新开始学习应用开发,是什么让您坚持了下来?

A:一个主要的原因是这次SwiftUI的开发方式很利于设计师去接触编程,在不用有很多编程的基础能力下,就能先绘制出一个简单的APP原形出来,有了这个Demo,就会让自己很有动力去学习接下来的各种功能。然后身边有个大放彩虹屁的人(小黑:这就开始秀恩爱了吗?)也会增加Buff,让成就感来不断激励自己继续做下去。

Q:学习iOS的应用开发,有哪些工具和教程是您最推荐的呢?

A:目前我只能推荐一些SwiftUI方面的。工具的话肯定就是苹果的Xcode进行开发,Figma进行原形绘制,然后AE+bodymovin插件进行一些动画效果制作。教程的话《Design Code》蛮适合新手入门,每期视频内容简明扼要,跟着教程学习设计出来的APP也非常优雅,教程偏前端一些。其余一些SwiftUI的学习资料,目前中文的确实少,有一些不错的英文博客推荐一下:Swift with Majid、The SwiftUI Lab、Hacking with Swift,搭配翻译软件其实学习起来也不难。

Q:您有哪些经验和建议可以分享给想要自学应用开发的朋友们?

A:经验其实倒是说不上,从我自己的经历来说,先给自己定好项目,再根据项目确定自己要学习的内容,需要开发哪个功能再去专门针对性的学习那方面的内容。不宜在基础语法学习上停留太久,早点让自己接触实际的项目开发更加重要。很多时候放弃就是因为我们不知道学完一门编程之后自己能做什么出来,所以我觉得最重要的就是先想好自己要做的项目,把原形做出来,即使是一个很简单的Demo,也会让自己的成就感大增。然后遇到不会的问题,多利用搜索引擎和StackOverflow(一个程序设计领域的网站),会找到很多思路。Q:您对当前版本的如期而至还有哪些不满意的地方呢?

A:从最开始1.0版本的诸多问题,到现在的1.3.2版本,许多不满意的地方已经修复好了,但是也依然还有值得继续改进的地方,比方说还不支持多语言,没适配无障碍摸索,Siri录入、更多的统计图也还没做,还有iPad版。目前最亟待解决的就是通知提醒的发送频率,正在思考用一种比较智能的方式来进行提醒,应该会在下一个版本的时候推出。

▲ 如期而至目前的提醒方式确实不够智能

Q:在2021年,您对如期而至这款应用有哪些期望和规划?也可以说说您自身的规划。

A:「如期而至」的基本内容其实已经做得差不多了,完善好一些功能,再做出iPad、watch版后,应该就会放慢更新脚步,开始尝试第二款APP的开发,希望能在今年推出,欢迎到时候大家多多关注和支持。

虽然大麦为我们分享的只是他在开发iOS应用时的经验,但小黑觉得,这些经验也一样可以供想要学习其他编程语言的小伙伴们参考,毕竟编程语言千千万,能坚持下来的用户走过的路都是相似的。

从对大麦的访谈中,小黑也对应用制作爱好者们有了一个新的认知,他们不是我们印象中不善言辞的群体,而是由形形色色的个体组成的一个群体,比如大麦就是一位非常健谈,并且谦逊的男士。

在采访之后的闲聊中,大麦也对小黑说出了他自己的期待,希望更多有兴趣的用户都能开始学习编程,多做出一些有意思的应用,让这个世界也变得更有意思。

图源:应用内截图、苹果官网截图、网络

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处本网。非本网作品均来自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如您发现有任何侵权内容,请依照下方联系方式进行沟通,我们将第一时间进行处理。

0赞 好资讯,需要你的鼓励
来自:我的极刻
0

参与评论

登录后参与讨论 0/1000

为你推荐

加载中...