想在移动开发大餐中分一杯羹,体验最火最炫的技术?小伙子,很有眼光嘛
毫无疑问,移动开发在目前和未来几年内都会盛极一时。无数开发职位虚位以待。各大公司都在寻找各种层次的程序员——新手级、入门级、中级、老手、专家。 本文是写给新手们的——我会帮你们找到第一份iOS开发工作。
“我干嘛听你的?”
你可能会这么说。是个问题——如果是菜鸟乱给建议,那倒是不听最好。
我也不是什么大神,甚至也不算是特别有经验的iOS开发者——但我足够了解市场,因此可以对你有些帮助。
最 初我是一个独立开发者,拥有几个收入不高(但也足够让我实现温饱而专心做开发)的应用。之后,我作为初级iOS开发者加入了一家公司,终于能全心全意做应 用、甭担心明天吃啥这种问题了。如果我愿意,我完全可以找个公司打工衣食无忧(但可能这并不适合我——我的身体里流着创业的血液)。
现在,少说多做——如何才能成为一名iOS开发者呢?
1.买一个Mac(如果没iPhone的话,还得卖个肾)。
iOS开发需要Mac。
好吧,其实也能退而求其次(比如hackintosh,或Mac In Cloud),但听我苦口婆心一言——对于iOS开发者来说,Mac会是你的主要武器。一般情况下,你无需放血去买最新、最快、最贵的设备,但好歹得有个叫Mac的东西。当然,如果你是小土豪,想买个好一点的入门设备,那不妨考虑一下Mac Mini——它可能是性价比最高的一款。如果你和我一样追求便携性,那就买Air——特别是它的大屏版。我们也不是非得买新品不可,从eBay上搞个二手货也是棒棒的。
2.安装Xcode。
现在,当你有了闪闪发亮的全新(好的二手货也跟新的差不多)Mac之后,下一步就是安装[Xcode]了,它可是对iOS开发者而言最重要的软件。Xcode是开发iOS应用的IDE(集成开发环境)。它是免费的,你可以直接从Mac App Store下载。现在就去下,别磨叽!
你会在Xcode中写代码、编辑、在storyboard中“画”出应用、进行单元测试,等等。你也需要用Xcode来上传应用到App Store。你得尽可能地熟悉它,因为它是每个iOS开发者最重要的软件。
3.学习编程基础(可能是最难的一点)。
现在我们可能到最难的一步了——你需要直接开始编程。如果你有一定的编程基础,那就可以在Objective-C(难一些)和Swift(简单一些)当中挑一个,大概也没那么纠结——它们基本上是标准的面向对象编程语言。但是如果你一行代码都没写过,那也别慌——这有两个纯新手的福利资源:
Ry’s Objective-C tutorial?——适合“恋旧”的Objective-C爱好者。你不用把Obejective-C学得多精(Swift才是未来大势<或者已经是当下大势了>),但最好能了解其基础知识,并可以读懂用它写出来的代码。
Swift language guide,由苹果官方提供——这是最好的Swift参考和学习资料。苹果出品,必属精品。
当然,你不必深入理解所有东西——等你更有经验了再谈这些。但是你必须好好理解变量、指针、类、数据类型和循环这些概念。这样,你以后的学习才能水到渠成。
4.跟着教程,依样画葫芦
从这一步开始,你终于要做点有用的东西了。看看这些网站:
AppCoda——对初学者而言可能是最好的起点。你可以找到大量不同的教程,它们都有非常详细的说明。一定要都看下来!
Ray Wenderlich——另一个有用的网站,它拥有海量的iOS开发教程数据库。一步一步从中学习吧。
但不要局限在这些网站和教程上!继续前进,开发一个计算器应用。然后是天气应用。再有就是汇率换算应用。音乐应用。明白了吗?只要能找到相关教程,就把它们都做出来。
推荐阅读:
27 places to learn iOS development.Best ones.:不仅为初学者而写。
一直跟着教程学做应用,直到你觉得自己运用Xcode和编程语言(你所选的Objective-C或Swift)都很熟练了。这时候,我们继续前进——
5.着手开发自己的应用
OK,我们越来越进入状态了。现在,你要开始开发自己的应用,它将成为你日后面试的法宝。
别害怕!又不是让你开发Facebook。咱得从初级职位开始,没错吧?在初级职位上,你可以从同事身上大量学习知识。好高骛远没用,你不可能一下子成为有五年经验的专家。
因此,你应该保持内心平静,思考一下目前自己最擅长的iOS开发领域是什么。
或许你开发过一个网络相关的应用?或许你研究过UIKit,并且很擅长做复杂的用户界面?再或者你开发过一个音乐播放器应用,喜欢iOS的音频?你得利用好自己的兴趣和知识,以此为开发应用的基础。要写出整洁、有风格、运行良好的代码。
6.在此期间,希望你能同时尽量多学一点软件开发的综合知识。
你正在阅读本文,这多少说明了你近期不打算去大学修习计算机。好消息是!你根本不必去!
你可以在家打开电脑,学很多关于计算机科学、编程、软件工程之类的课程。
当然,这跟学位还是没法比的,不过单就iOS开发而言却已经足够了。看到上面的图片了吗?读读上面的文字。我不会把链接拱手奉上——信息搜索是开发者最重要的技能之一。开始训练。Google是你的良师益友。
7.完成应用。
你专心于学习和开发应用,这样过去了几天、几个星期、几个月……亲,你该有一款自己像样的应用了。应用就是你的简历——你必须全力以赴。甚至说,鞠躬尽瘁。公司会希望从你的应用中看到什么呢?这里有一些建议:
运行良好的应用
整洁的代码
代码结构——小巧的类、合适的变量命名、Xcode中良好的文件分组,等等
对storyboard的使用(如果你既能用storyboard又能徒手编程写用户界面的话,那就碉堡了)
对CocoaPods的使用
一些简单的单元测试
对第三方库的使用(例如GitHub上的一些开源项目——这将是一大加分项,因为实际工作中这非常有用)
顺便,如果你正在寻找一些炫酷的iOS开源库的话,不妨看我另一篇文章:
27 iOS open source libraries to skyrocket your development.:绝对值得一读。真真儿的。
当然,一切都取决于你想找什么样的工作和什么样的公司,但总体而言,学好上述话,走遍天下都不怕。
OK,现在你有了自己狂拽炫酷的应用。下一步——
8.在App Store发布应用
呃,我得说清楚——这一步不是必须的,因为它需要一个开发者账号,而这个账号呢,每年有99美元的费用,这很有可能会搞得你入不敷出。
发布还是不发布,这是一个问题……它由你说了算。不过,若能成功发布,很多公司都会把它看做是一个大大的加分项。
在App Store有自己的应用意味着你熟悉应用发布流程,熟悉苹果对于应用的限制(还真不少),熟悉应用本身之外的发布所需事项(如应用描述、关键词、屏幕截图、宣传视频等等)。
你可以选择跳过这一步,但我强烈推荐你能试一下(我的第一份工作应该就是靠我在App Store的应用找到的)。
9.把应用上传到GitHub。
GitHub是一个社交平台,其主要功能就是源码分享(与之类似但不如GitHub火还有另一个平台是,Bitbucket)。
你可以在此上传源码(可设置为公开或私人),可以在此浏览其他人的代码,还可以为开源项目出一份力。GitHub应用广泛,即使你一直都是独立开发,那也可以从中获益许多——你可以更好地组织代码,并可以获得可能是最好的备份。
但你为什么要上传应用呢?很简单,把源码给你的面试官看。
别再用邮件发代码了,长点心吧,这又不是90年代。
10.联系你中意的公司!
圆梦时刻到——现在,你已经准备好接受第一份iOS开发工作了!可能是从实习生或初级岗位开始,这都不重要——重要的是,你现在有能力找到第一份工作了,万事开头难嘛,以后就顺利了。
所以,准备好你的简历,找到你所向往的公司,然后就与他们一起开发应用吧!
现在你已经有了一定的开发技能了。在进入岗位之前,你可能会希望试试当独立开发者的滋味,却又不知道该去做什么样的应用。需要灵感吗?那就看看每周最佳iOS应用和游戏报告,这是我一手策划的——那里有各种各样的好应用,iOS开发者们一定想去做!
或许你在App Store中有一个很酷的应用?我每周都自己策划iOS Apps Weekly,所以给我发送Twitter私信,也许你的应用就是下一轮的App of The Week!
如果你喜欢这篇文章并想读更多,请点击下面的推荐按钮——这会激励我分享更多的东西(我脑子里的想法可是取之不尽!)你也可以在Twitter上关注我,我会经常发一些关于iOS开发的东西。谢谢!
Pawe
Bia ecki (@pawel_bialecki) | Twitter:Pawe Bia ecki(@pawel_bialecki)最新的推特。iOS开发者,电吉他手……
推荐阅读:
52 people every iOS developer should follow on Twitter.:他们不仅仅是程序员。