网站首页 > 苹果游戏> 文章内容

如何零基础学开发一个月做出被苹果推荐的 App?

※发布时间:2018-9-1 7:19:23   ※发布作者:habao   ※出自何处: 

  作者简介:韩重赞,开发者。零基础学习开发,用 4 个月的时间制作出「0528」「恋人清单」「开垦世界」这 3 款应用。其中,「恋人清单」曾被 App Store 首页推荐。

  前段时间,我在 AppSo(微信号 appsolution) 分享了自己开发的一款游戏——「开垦世界」。

  在文章留言中,发现有很多人惊讶我为何能 4 个月可以做出 3 款不错的 app。除此之外,还收到许多关于「零基础学开发经验分享」的请求。

  很多人认为,零基础学代码,很可能是之前有学过或做过其他领域的开发,如 PC 端开发、后台开发,现在来重新学习移动端开发。

  你说和程序员有关系么?好像有那么点,至少我懂得什么东西实现不了,什么东西难实现,什么东西容易实现。

  学代码这事,打个比方就是我是一个用过冰箱的,你是一个没用过冰箱的,现在都要去造一个冰箱。不管是那种情况,我们彼此之前的途相差并不远。

  还是说我自己,我高中英语常常全班倒数,大学英语没超过 65 分,英语四级刚过及格线,六级呵呵。

  现在我的感觉是,一开始你会觉得像在学英语,后来会觉得像在学数学。写代码很多情况有点类似于做数学证明题。

  学 iOS 开发,一台 Mac 和一部 iPhone 真的是硬性条件,没办法(啥,你说黑苹果配 iPod touch?我觉得认真点还是算了吧)。

  如果你喜欢搭梯子和看英文文档,也是极好的。不喜欢也没什么的,能找到知识,学到知识,会用知识才是本质。

  我也在工作的时候曾花了几个晚上,学过一点 Swift。不得不说,Swift 的程序逻辑真的很人性化,很简洁,很优雅。但是,现在学习的话为时尚早,不论是教学视频、demo 例子,还是疑难解答都少的可怜。很多时候,你想要一个效果都找不到资源来做。

  初学者可以先看看《Objective-C 基础教程 第 2 版》这本书,我当时看的是电子版,上下班时在地铁上用手机看。看了几天,大概到书一半内容的时候就云里雾里,完全看不下去了。我尝试过从头开始看,还是不行。

  但是没关系,这很正常,你只要对 OC 这门语言有一定印象就行。就像一个冰箱,你知道它大概多大、多重,有什么形状等信息就好了。

  我看过几个 OC 入门系列。每个视频的时间都不是很长,大概 10 分钟到 30 分钟,照着里面的步骤,依样画葫芦做下来就好了。

  但是没关系,这也很正常。你只要对 Xcode 这个工具有一定的印象就行了。就像一个冰箱,你知道它需要用电,可以冷藏,可以冷冻啥的这些信息就好了。

  注:下面的内容会涉及到一些 iOS 的开发术语,如果你没有接触过 iOS 开发,可能会看不懂,我尽量用最简单的话来说明。

  经验一:不要选择一个超出能力范围太大的 app 来做,先做一个技术含量最低的产品练练手,增长自信心。

  当时,虽然自己在过年前后看过一本入门的书和一些教学视频。但小半年下来,我已经忘得一干二净,甚至连 Xcode 的打开新建流程,还是找了之前的网页重新练了一遍。

  我又急于做一个成品出来,这个成品不能是烂大街的计算器、天气预报这类,没有发挥余地的 app。所以,这个成品必须对技术要求很低,可以用其他比如创意或设计来弥补。

  看着自己手机里上百个 app,突然,我看到了一款符合目标的文字冒险游戏——Lifeline(生命线)。

  如果剔除掉 Lifeline 的一切辅助功能,如推送、模式转换、语言更改等,它的核心技术点其实很简单,就是一个显示文字的视图和两个增加文字的按钮。

  所以,我只要实现「点击一个按钮,让视图加一行字」这个功能,基本上就可以做出一款像 Lifeline 一样的 app 了。

  (这是我当时真实的想法,后来发现核心技术远远不止这些,只能说幸亏当时这么单纯,不然就不可能一步步做下去了。)

  经验二:一切以用户体验为中心,以目标产品为大方向。一步步从易到难解决问题,各个击破。于技术研究或设计细节只会误入。

  打开 Xcode,根据网上教程往 Storyboard(可以往里面拖各种控件的可视化工具,对新手很友好)上拖了一个文本视图和一个按钮。

  我先在这个文本视图里打上一行字,如「苟利国家以」。接着要做的事就是,点这个按钮让文本视图增加第二行字「岂因祸福避趋之」。

  于是,我在某搜索引擎上搜索「iOS 如何点击按钮触发一个事件」,点开了几个搜索结果,找到一个看起来挺靠谱的教程,就照着做。同理,我又把加文字的功能学会了。

  很快在这个视图里,就出现了两行字「苟利国家以」、「岂因祸福避趋之」。我每次点一下按钮,「岂因祸福避趋之」就会出现。

  但是,我发现了一个问题:每行字挨得太近了。我很聪明地在「岂因祸福避趋之」前面加了两个回车符号,看起来就好多了。

  在欣喜之余,我又发现一个问题:当我按钮点得多了,新增的「岂因祸福避趋之」会超出文本视图区域。难道让用户每次点一下按钮,然后手动滑上去么(太蠢了)?

  我回头看了一看 Lifeline,发现他会把新增的文字顶上来,这样,就可以看到最下面的那句话了。

  经验三:做好 demo、设计稿、其他素材的准备,让你在学习开发的过程中没有后顾之忧,有万事俱备只欠东风之感。

  就这样,我根据心里想的产品原型方向,一步步完善这个 demo。每当我遇到一个问题,就去找资料搜教程。解决完之后无比兴奋,但很快又会陷入新的难题当中。

  在如此循环 N 次之后,终于完成了一款小明上学被车撞的超简单文字冒险游戏。在有了这样一个 demo 的基础上,我相信,要做出一个像 Lifeline 一样的游戏只是时间问题了。

  所以,我开始放心地设计 UI 和编写故事,花了大约 4 天时间,经历了反复修改设计稿和小说情节的痛苦之后,一套 UI 和一纸故事文档已准备完毕。

  经验四:一个好的老师是成功的一半,但不要一味的靠别人指点来解决问题,做伸手党只会让你毫无进步。

  在此期间,我也数次遇到寻遍各种资料,也找不到解决方法的情况。但幸运的是,我的一个程序员朋友每次都能出手解决我的问题,并细心告知我其中的原理。

  就像七龙珠里的设定一样,当赛亚人濒死时如果有幸(比如吃仙豆),就会成长很多。如果没有这位朋友,我可能已经死了不知多少回了。

  在这篇文章中,我回顾了自己从零开始学开发,以及第一次开发产品的所有经验。也希望自己的经验,能对想要零基础学开发的朋友提供帮助。乔四玩死过的女人

相关阅读
  • 没有资料