IOS学习路径
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:
- If this is your first adventure with programming in general, start by learning basic programming.
- If you're already an experienced programmer, but you're new to programming on the Mac, start by learning the developer tools and Objective-C and Cocoa.
- If you're comfortable with programming on the Mac, then jump right into creating your iOS app.
- Finally, if you've already created a basic iOS app, then it's time to make it shine!
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:

- Xcode 4 Project Setup (6 minutes, QuickTime)
- Xcode 4 Interface Overview (14 minutes, QuickTime)
- Using Interface Builder in Xcode 4 (15 minutes, QuickTime)
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学习路径的更多相关文章
- iOS学习资料
1. UI整理 http://www.cocoachina.com/ios/20151110/14067.html. 2. iOS学习路径 http://www.cocoachina.com/ios/ ...
- iOS一些推荐的学习路径发展
iOS论坛里有朋友要求回答帖子,帖子的标题是: 想学IOS开发高阶一点的东西,从何開始,然后我吧啦吧啦回答写了非常多.既然敲了那么多字,我就把我写的回复也贴到博客里来分享.希望能对大家有帮助.欢迎大家 ...
- iOS开发学习路径的一些建议
结合自己情况聊下iOS学习建议,这里不讲大道理,说说具体怎么做.欢迎大家拍砖. 1.第一点要求 ,能比较顺畅的阅读官方的文档 如果你连官方的文档读起来都非常困难,那你还谈什么提高和进阶,咱们学习iOS ...
- 【原】iOS学习47之第三方-FMDB
将 CocoaPods 安装后,按照 CocoaPods 的使用说明就可以将 FMDB 第三方集成到工程中,具体请看博客iOS学习46之第三方CocoaPods的安装和使用(通用方法) 1. FMDB ...
- 黑苹果-IOS学习的开始
深知安装黑苹果的不易,在这里写一下关于我的Thinkpad E430c安装黑苹果教程(Mac版本:Yosemite 10.10.4),希望能够帮助有需要的朋友. 首先贴上我的电脑配置报表: ----- ...
- iOS 学习资源
这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...
- iOS学习笔记-精华整理
iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始 ...
- iOS学习笔记10-UIView动画
上次学习了iOS学习笔记09-核心动画CoreAnimation,这次继续学习动画,上次使用的CoreAnimation很多人感觉使用起来很繁琐,有没有更加方便的动画效果实现呢?答案是有的,那就是UI ...
- iOS学习笔记总结整理
来源:http://mobile.51cto.com/iphone-386851_all.htm 学习IOS开发这对于一个初学者来说,是一件非常挠头的事情.其实学习IOS开发无外乎平时的积累与总结.下 ...
随机推荐
- CTF入门学习4->前端HTML基础
Web安全基础 02 前端开发-HTML基础 浏览器对于上网者来说是一种直观.可视化的呈现.服务器发送数据到客户端,客户端需要处理这些数据,互联网就造就了这种数据语言--HTML. 02-00 概述 ...
- Go语言核心36讲(Go语言实战与应用九)--学习笔记
31 | sync.WaitGroup和sync.Once 我们在前几次讲的互斥锁.条件变量和原子操作都是最基本重要的同步工具.在 Go 语言中,除了通道之外,它们也算是最为常用的并发安全工具了. 说 ...
- InnoDB 索引详解
1.什么是索引 索引是存储引擎用于快速找到记录的一种数据结构. 2.索引有哪些数据结构 顺序查找结构:这种查找效率很低,复杂度为O(n).大数据量的时候查询效率很低. 有序的数据排列:二分查找法又称折 ...
- [zoj3990]Tree Equation
记$dep(T)$为树$T$的深度(根节点深度为0),则有$\begin{cases}dep(A+B)=\max(dep(A),dep(B))\\dep(A\cdot B)=dep(A)+dep(B) ...
- [hdu6715]算术
首先要知道一个式子:$\mu(lcm(i,j))=\mu(i)\cdot \mu(j)\cdot \mu(gcd(i,j))$(分是否为0讨论)令$d=gcd(i,j)$,$n'=\lfloor n/ ...
- [loj3046]语言
定义$S_{i}$表示第$i$条链所包含的点的集合,$(x,y)$合法当且仅当$x\ne y$且$\exists i,\{x,y\}\subseteq S_{i}$(答案即$\frac{合法点对数}{ ...
- [bzoj1853]幸运数字
容易发现幸运数字只有1024个,暴力标记倍数还是会tle的 容斥,即从中任选i个的lcm,复杂度为$o(2^1024)$ 剪枝一:当答案超过1024就不用算了 剪枝二:当某个数是另一个数的倍数时就删掉 ...
- FastJson测试用例
基础测试 package com.ai; import com.ai.test.daily.Student; import com.alibaba.fastjson.JSON; import com. ...
- C/C++ Qt ListWidget 列表框组件应用
ListWidget列表框组件,该组件与TreeWidget有些相似,区别在于TreeWidget可以实现嵌套以及多字段结构,而ListWidget组件则只能实现单字段结构,ListWidget组件常 ...
- Python 3 快速入门 1 —— 数据类型与变量
本文假设你已经有一门面向对象编程语言基础,如Java等,且希望快速了解并使用Python语言.本文对重点语法和数据结构以及用法进行详细说明,同时对一些难以理解的点进行了图解,以便大家快速入门.一些较偏 ...