每位iOS开发人员必须要知道的内容
一段时间以来,为iOS开发应用程序一直是一个不断增长的行业。iPhone和iPad的通用性和普及性给了许多开发者一个机会,让他们把自己的疯狂想法带到生活中。在最初的淘金热中和一段时间后,真正的资金被用来制作技术简单的应用程序,这些应用可能会吸引小众的受众,或者仅仅是为了好玩。独立开发者们正在尝试各种各样的应用程序,各行各业的企业家都需要程序员,让他们的下一件大事得以实现。
随着应用程序商店的竞争越来越激烈,对设备的最初迷恋开始消退,越来越多的利润丰厚的iOS开发工作来自需要移动设备的大企业。对于一个有抱负的iOS开发人员来说,现在的结果是,你的第一个重要的iOS工作很可能会通过一个更传统的渠道——招聘人员,直接在大公司,数字代理公司等。毫无疑问,这带来了好处——首先是稳定的薪水——尽管面试和审查过程可能比几年前更加严格。
对于iOS开发人员来说,这是一个非常独特的问题,因为这个问题涉及的范围非常广。由于iPhone可以用于各种各样的事情,所以通常很难知道哪一种技能是最重要的。我应该在Core Data之前学习Core Audio吗?如果我想了解动画,我应该选择哪些选项呢?没有一个人能解决所有的问题,那么在哪里花费有限的时间呢?
在本文中,我概述iOS开发人员应该关注的优先级菜单,以便您可以放心地进入面试。
注意:在任何人就此列表中的项目的布局或省略事项抱怨之前,请记住这是理论工作的理论工作。实际需要的技能可能会有所不同似地。我们故意用广泛的笔刷绘画,但希望能覆盖所有重要领域,而不仅仅是最低限度。另外,为了保持平衡,我主要提供了Apple文档的链接 - 但是您可能会发现,通过代码学校的指导或通过无数的在线教程来学习这些材料要容易得多。Treehouse当然在和中都提供了强大的iOS轨迹。
必须拥有
这些是你应该有实际操作经验的主题,并且适合谈论和实施。这种亲身实践的工作不需要付出劳动,你也不需要背诵从记忆中获得的文件,但是你至少应该在下列话题中保持流畅。
Xcode和界面生成器
建筑设备
分发应用程序(最好用于App Store上的应用程序)
Swift或Objective-C的流利程度
Cocoa Touch
Ulkit
自动布局
了解MVC
在Xcode中调试
仪器
Xib's,Storyboards,Segues和相关的演示/过渡
核心数据
TableViews
CollectionViews
解析JSON
通知,授权,关键价值观察
REST和/或SOAP
Git,Subversion或其他版本控制
对清洁编码原则的理解
理解SOLID
线程和并发
单元测试,XCTest(不是专家,但有一些经验)
已经为iPhone和iPad构建,理想情况下在一个通用的应用程序
值得拥有的
所有这些主题和框架在每个项目中都不会被期望,但是很可能会有一些。了解他们所使用的东西,他们生活在iOS的环境中,在可能的情况下,有实际操作经验,会让招聘经理知道你已经超出了最低限度。
如果Swift是你的主要语言,至少有一些Objective-C的知识
如果Obj-C是你的主要语言,至少有一些Swift的知识
弧形的非圆弧的做法熟悉
在应用程序内购买
至少有几个
核心运动
核心音频
核心动画
石英芯
游戏中心
CloudKit和iCloud
StackViews
推送通知
本地通知
核心位置
MapKit
MessageUI
超越
下面项目绝可以帮助你将你与其他候选人区分开来,并在面试和招聘信息中脱颖而出。如果他们是你已经拥有的技能,值得一提,或者如果你对他们感兴趣,那么花点时间弄脏你的手是值得的。
MAC开发
WatchKit
SpriteKit
GameKit
Android开发
Xamarin
PhoneGap
CorePlot
HTML
SQL
请记住,招聘经理知道你不能解决他们所有的问题,并在第一天解决所有的错误。没有开发者可以; 尤其不是一个相对的新手。他们更关心的是你拥有批判性思维能力来解决问题,并且对你的极限有足够的认知,但却渴望扩展他们。你可能会成为一个非常昂贵的代码库或品牌的保管人,他们需要能够相信您会谨慎小心地对待它。
End
最后,我发现大部分的开发者会保护他们的工作空间和环境 - 不是在地域性,不是气候方面。团队动态的感觉非常真实,特别是在高度协作的团队中。你未来的队友关心你的技能,但他们也非常关心你和一个好的队友一起工作的愉快。不要忘记在匆忙中展示你的个性,以展示你所知道的。
那么现在去得到它们吧。