iOS Developer Roadmap

Start your journey today!

Where Do I Start?

Becoming an iOS developer is a lot of fun and a valuable skill in today's market. But there's a catch: It isn't as easy as it looks.

Even experienced programmers are challenged by developing apps for a mobile device. And when you're just starting out, you're faced with learning a bunch of new things: Xcode and the iOS developer tools, the Objective-C programming language, the Cocoa Touch frameworks, and various other technologies in the iOS SDK. If you try to learn them all at once, it can be quite overwhelming.

So where do you start on the path to learning how to create iOS apps? Well, that depends. There's no single how-to article, book, screencast, or training course that suits everyone. You'll need to take honest stock of your current skills and choose the appropriate resources. Here are some pointers to help you get started:

Not a Programmer? Creating iOS apps from scratch may look easy, but it can be deceptively challenging even for experienced programmers. Many people underestimate what's involved. If you're not a programmer, but you have an idea for an iOS app, you'll likely get your idea to market quicker by working with an experienced iOS developer.

Basic Programming

Object-Oriented Programming is a style of computer programming that uses concepts such as classes, objects, methods, and inheritance. Object-oriented programs also use more traditional programming concepts such as variables, loops, conditional statements, and so on.

Objective-C is the object-oriented programming language that you use to create iOS apps. It's similar to other programming languages in many ways, but also significantly different in other ways.

#1 If you're new to programming in general, we recommend working through the following book:

Beginning Mac Programming: Develop with Objective-C and Cocoa

This book is intended for folks who have little or no previous experience programming. It
introduces you to the principles of object-oriented programming, Objective-C, and the Cocoa
frameworks in clear, easy-to-understand lessons.

Get Comfortable with the Developer Tools

The iOS SDK is a set of Objective-C frameworks (libraries) and tools
that allow you to create apps for iPhone, iPod Touch, and iPad devices. It also includes an
iOS Simulator so you can run your apps on your Mac during development.

Xcode is the IDE used for Mac and iOS programming. It was
created by Apple, and included in the iOS SDK.

A Mac is the instantly-recognizable computer that you now have
an excuse to buy! Seriously, the whole toolchain is Mac-only, and you need
a Mac that has an Intel processor to create iOS apps.

#2 Download Xcode and the iOS SDK:

  • To develop your iOS app, you'll need to
    purchase Xcode
    from the Mac App Store ($4.99). The iOS SDK is included in Xcode.
  • Once you have an app that you want to test on a device and
    distribute on the App Store, you need to apply to the
    iOS Developer Program
    . The program costs $99/year for
    individuals and $299/year for in-house enterprise apps.
    Program members can download Xcode for free.

#3 Xcode can
look intimidating at first. Before you dive into coding, we
recommend watching the following free video tutorials:

Then check out our full series of free Xcode 4 video tutorials.

Learn Objective-C and Cocoa

Objective-C is an object-oriented programming language used
primarily to develop iOS and Mac apps. However, it's a
general purpose programming language. To build sophisticated apps,
you'll need some libraries that do the heavy lifting for you.

Cocoa is a set of Objective-C frameworks (libraries) created by
Apple that enable you to develop apps for the Mac. Cocoa Touch is
based on Cocoa, but is used specifically for developing mobile
apps that look and feel like the familiar apps on your
iPhone or iPod Touch. Cocoa Touch provides all the core user interface
components you'll need to develop graphical, event-based iOS apps.

#4 If you have a programming
background, but you're new to the Objective-C language, we
recommend watching the following video tutorial:

Coding in Objective-C 2.0


This three-part video series will give you an overview of all the major
features of the Objective-C language and the core concepts of
object-oriented programming. You'll also learn how to manage memory,
which is especially important on iOS devices!

#5 Then, once you've had a look at
Objective-C, you're ready for some Cocoa. We recommend working through
the following book:

Cocoa Programming: A
Quick-Start Guide for Developers



This book will give you a better understanding of Cocoa fundamentals. The iOS SDK uses many
of the same concepts, and a good working knowledge of Cocoa will serve you well. Work through
the fun exercises to get hands-on experience with the tools, language syntax, and basic Cocoa
concepts.

#6 Join a CocoaHeads group:

CocoaHeads is a group devoted to discussion of Apple
Computer's Cocoa Framework for programming on Mac OS X and iOS. CocoaHeads groups meet in a
number of locations, worldwide! If you can't find a CocoaHeads group near you, consider
starting a new group.

Create Your iOS App

Putting it all together for the first time is exciting. Here's where all your
foundational work really pays off. When you're comfortable with the language, libraries, and
tools, you can start turning your idea into reality.

#7 Consider learning in one of our acclaimed hands-on
training courses:

  • Attend a public
    course
    and learn all
    the major features of the iOS SDK so you can develop mobile
    apps like the pros.
  • Schedule an on-site
    course
    to quickly get your team up to speed on iOS development.
    On-site courses are ideal for teams of 8 or more developers.

You'll learn how to create iOS apps directly from two experienced developers offering
expert guidance and instruction.

#8 If you like to tinker, experiment with Apple's sample iPhone apps:

Apple has provided a number of sample
iOS apps
. Download the source code, run it in the iOS
Simulator, and then start experimenting. Reading through the code is a
great way to cement what you've learned about Objective-C and Cocoa. And
you can use the code and design from these samples to inspire your own
development.

#9 Many books about iOS
development are now available. Here are a couple
recommendations:

iOS SDK Development


This Pragmatic guide takes you through the tools and APIs that you can use to create your own
software for the iPhone, iPad and iPod Touch. Packed with useful examples, this book will
give you both the big-picture concepts and the everyday "gotcha" details that
developers need to make the most of the iOS platform.

Beginning iPhone Development: Exploring the iPhone SDK


This book starts with the basics, and walks you through how to build
your first iPhone app step by step. From there, you learn other
aspects of the iPhone SDK to apply to your apps.

#10 Subscribe to a mailing list or forum:

The Apple
Developer Forums
is a great place to ask fellow iPhone developers
questions, and put your knowledge to the test by answering
questions.

Make Your App Shine!

Take it to the next level by creating more advanced features that
make your app unique and polished.

Core Data is a set of design tools and APIs for persisting data in iPhone apps.

Core Animation adds that "wow!" factor to your iPhone
app. It's not just cool, it also improves the user experience to
set your app apart from the crowd.

#11 Don't start from scratch. This book gives you time-saving recipes you can slip right into your app to get more
done with less code:

iOS Recipes


This book walks you through clean, reusable solutions to a wide variety of problems and
patterns common to iOS development with Cocoa Touch and Objective-C. With these recipes in
your arsenal, your next apps will be more polished and more maintainable than ever.

#12 Persist data and allow fast searching of your data on the iOS device with Core Data. This book shows you how:

Core Data: Apple's API for Persisting Data under Mac OS X


This book takes you from beginning with Core Data through to expert
level configurations that you will not find anywhere else.

#13 Add stunning animation and effects to your app. This
book shows you how:

Core Animation for Mac OS X and the iPhone


This comprehensive guide will get you up to speed quickly and take you
into the depths of Core Animation.

#14 Attend WWDC:

The Apple Worldwide
Developers Conference (WWDC)
is the annual big event for
learning the latest and greatest in iOS and Mac OS X development.
It may seem a little spendy, but it's always well worth it if you're
trying to make iOS development your livelihood.

We hope you have a lot of fun! We continually release new iOS resources, so please subscribe to our blog.

IOS学习路径的更多相关文章

  1. iOS学习资料

    1. UI整理 http://www.cocoachina.com/ios/20151110/14067.html. 2. iOS学习路径 http://www.cocoachina.com/ios/ ...

  2. iOS一些推荐的学习路径发展

    iOS论坛里有朋友要求回答帖子,帖子的标题是: 想学IOS开发高阶一点的东西,从何開始,然后我吧啦吧啦回答写了非常多.既然敲了那么多字,我就把我写的回复也贴到博客里来分享.希望能对大家有帮助.欢迎大家 ...

  3. iOS开发学习路径的一些建议

    结合自己情况聊下iOS学习建议,这里不讲大道理,说说具体怎么做.欢迎大家拍砖. 1.第一点要求 ,能比较顺畅的阅读官方的文档 如果你连官方的文档读起来都非常困难,那你还谈什么提高和进阶,咱们学习iOS ...

  4. 【原】iOS学习47之第三方-FMDB

    将 CocoaPods 安装后,按照 CocoaPods 的使用说明就可以将 FMDB 第三方集成到工程中,具体请看博客iOS学习46之第三方CocoaPods的安装和使用(通用方法) 1. FMDB ...

  5. 黑苹果-IOS学习的开始

    深知安装黑苹果的不易,在这里写一下关于我的Thinkpad E430c安装黑苹果教程(Mac版本:Yosemite 10.10.4),希望能够帮助有需要的朋友. 首先贴上我的电脑配置报表: ----- ...

  6. iOS 学习资源

    这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...

  7. iOS学习笔记-精华整理

    iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始 ...

  8. iOS学习笔记10-UIView动画

    上次学习了iOS学习笔记09-核心动画CoreAnimation,这次继续学习动画,上次使用的CoreAnimation很多人感觉使用起来很繁琐,有没有更加方便的动画效果实现呢?答案是有的,那就是UI ...

  9. iOS学习笔记总结整理

    来源:http://mobile.51cto.com/iphone-386851_all.htm 学习IOS开发这对于一个初学者来说,是一件非常挠头的事情.其实学习IOS开发无外乎平时的积累与总结.下 ...

随机推荐

  1. 力扣 - 剑指 Offer 52. 两个链表的第一个公共节点

    题目 剑指 Offer 52. 两个链表的第一个公共节点 思路1(栈) 若两个链表相遇,则从它开始相遇的地方到链表末尾应该都是相同的,那么我们可以将两个链表分别放入两个栈中,然后依次循环比较两个栈顶的 ...

  2. [atAGC049E]Increment Decrement

    由于每一个操作的逆操作都存在,可以看作将$a_{i}$全部变为0的代价 先考虑第一个问题,即对于确定的$a_{i}$如何处理 如果仅能用第2种操作,定义点$i$的代价为以$i$为左端点或以$i-1$为 ...

  3. docker创建mongodb并且测试代码

    mongodb docker 安装mongodb-创建用户  docker run -itd --name mongo -p 27017:27017 mongo --auth 进入数据库添加密码   ...

  4. html+css第八篇滑动门和可爱的css精灵

    滑动门: 滑动门并不是一项全新的技术,它是利用背景图像的可层叠性,并允许他们在彼此之上进行滑动,以创造一些特殊的效果. CSS精灵 CSS Sprites在国内很多人叫CSS精灵,是一种网页图片应用处 ...

  5. Python技法1:变长和定长序列拆分

    Python中的任何序列(可迭代的对象)都可以通过赋值操作进行拆分,包括但不限于元组.列表.字符串.文件.迭代器.生成器等. 元组拆分 元组拆分是最为常见的一种拆分,示例如下: p = (4, 5) ...

  6. SpringCloud微服务实战——搭建企业级开发框架(二十七):集成多数据源+Seata分布式事务+读写分离+分库分表

    读写分离:为了确保数据库产品的稳定性,很多数据库拥有双机热备功能.也就是,第一台数据库服务器,是对外提供增删改业务的生产服务器:第二台数据库服务器,主要进行读的操作. 目前有多种方式实现读写分离,一种 ...

  7. [GZOI2017]配对统计

    发现我们可以在\(O(n)\)里很多处理出至多\(2n\)对好对. 然后转化成二维偏序. 然后想怎么做怎么做:排序+BIT,莫队都行.

  8. Pacbio三代基因组组装简介

    参考: 视频PPT来自欧易生物讲座:如何开启一个动植物基因组三代de novo项目?

  9. halt

    halt命令用来关闭正在运行的Linux操作系统.halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统. 语法 halt(选项) 选 ...

  10. APP工程师接入Telink Mesh流程 -3

    加密是为了使网络更加的安全.健壮,若由于login.加密等流程 严重影响了 开发进程,也可以通过 修改SDK 固件 将login.加密 环节取消 1.发送数据.接受数据加密,解密去掉 mesh_sec ...