时间:2016-10-19
作者简介:韩重赞,独立开发者。零基础学习开发,用 4 个月的时间制作出「0528」「恋人清单」「开垦世界」这 3 款应用。其中,「恋人清单」曾被 App Store 首页推荐。
前段时间,我在 AppSo(微信号 appsolution) 分享了自己独立开发的一款游戏——「开垦世界」。
在文章留言中,发现有很多人惊讶我为何能 4 个月可以做出 3 款不错的 app。除此之外,还收到许多关于「零基础学开发经验分享」的请求。
在被大家的学习热情感动之余,我写了这篇文章来分享我的开发学习经验。
入门前你需要知道这些在分享之前,我列出了学开发的一些先决条件,估计也是很多人想问的问题:
Q1:真是零基础学开发,而不是零基础学代码?
很多人认为,零基础学代码,很可能是之前有学过或做过其他领域的开发,如 PC 端开发、后台开发,现在来重新学习移动端开发。
如果你之前没接触开发,也没关系。
本文是针对的是零基础,完全无开发经验的人写的。
Q2: 我现在的专业/职业,跟程序员没任何关系会有影响么?
说说我自己吧,我的专业是工业设计,职业是 UI 设计转产品。
你说和程序员有关系么?好像有那么点,至少我懂得什么东西实现不了,什么东西难实现,什么东西容易实现。
而你可能是运营专员,可能是银行柜员,也可能是卖菜的。
学代码这事,打个比方就是我是一个用过冰箱的,你是一个没用过冰箱的,现在都要去造一个冰箱。不管是那种情况,我们彼此之前的路途相差并不远。
Q3: 英文基础不好学得来代码么?
还是说我自己,我高中英语常常全班倒数,大学英语没超过 65 分,英语四级刚过及格线,六级呵呵。
所以你觉得呢?
Q4: 数学基础重要么?
我高中时数学算好的,大学因为是工业设计,只上过一学期的高数。
其实在大部分情况下,学代码只要有初中级别的数学知识就好了。
Q5: 学代码是更像学英语还是学数学?
这个也是我没学代码前,一直萦绕在心头的问题。
现在我的感觉是,一开始你会觉得像在学英语,后来会觉得像在学数学。写代码很多情况有点类似于做数学证明题。
Q6: 需要哪些硬件设备?
学 iOS 开发,一台 Mac 和一部 iPhone 真的是硬性条件,没办法(啥,你说黑苹果配 iPod touch?我觉得认真点还是算了吧)。
学安卓要求会低一点,一台普通 PC 和一部 Android 机就可。
Q7: 需要会科学上网,会用 Google 么?
我家里没搭梯子,一直用的国内某搜索引擎。
如果你喜欢搭梯子和看英文文档,也是极好的。不喜欢也没什么可耻的,能找到知识,学到知识,会用知识才是本质。
Q8:做 iOS 是学 Swift 好呢,还是 Object-C?
有很多人说,Swift 强势来袭,没必要学 OC 了。
我也在工作的时候曾花了几个晚上,学过一点 Swift。不得不说,Swift 的程序逻辑真的很人性化,很简洁,很优雅。但是,现在学习的话为时尚早,不论是教学视频、demo 例子,还是疑难解答都少的可怜。很多时候,你想要一个效果都找不到资源来做。
而 OC 的话,已经非常成熟,从小白到高手之间的所有资源,网上都找得到。
Q9: 需要看什么书,有什么教学网站推荐,甚至是相关学习 app?
最后这部分,估计是大部分人最想知道的。
书籍:
初学者可以先看看《Objective-C 基础教程 第 2 版》这本书,我当时看的是电子版,上下班时在地铁上用手机看。看了几天,大概到书一半内容的时候就云里雾里,完全看不下去了。我尝试过从头开始看,还是不行。
但是没关系,这很正常,你只要对 OC 这门语言有一定印象就行。就像一个冰箱,你知道它大概多大、多重,有什么形状等信息就好了。
教学网站:
我只看过极客学院和慕课网的,里面的教学视频良莠不齐。
我看过几个 OC 入门系列。每个视频的时间都不是很长,大概 10 分钟到 30 分钟,照着里面的步骤,依样画葫芦做下来就好了。
一开始很简单,后来的比较难,学完一遍就忘了,自己完全不知道怎么写。
但是没关系,这也很正常。你只要对 Xcode 这个工具有一定的印象就行了。就像一个冰箱,你知道它需要用电,可以冷藏,可以冷冻啥的这些信息就好了。
论坛和资源:
GitHub 是程序员们的乐园,但小白看一下就好了,你可能很久以后才会真正用到;
CocoaChina 是不错的论坛,小白也可以看看,以后有问题可以去这里;
Code4App 上有很多 demo 例子,入门之后做一些好的效果,可以去这里看看。
但一定要切记,真正动手做东西才是成长最快的方式,看书、看视频、逛论坛都只是辅助而已。