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开发无外乎平时的积累与总结.下 ...
随机推荐
- 手把手教你汇编 Debug
关于汇编的第一篇文章: 爱了爱了,这篇寄存器讲的有点意思 Hello大家好,我是程序员cxuan!我们上篇文章了解了一下基本的寄存器,这篇文章我们来进行实际操作一下. 原文链接:手把手教你汇编 Deb ...
- [loj2469]最小方差生成树
2018年论文题 约定:令点集$V=[1,n]$.边集$E=[1,m]$,记$m$条边依次为$e_{i}=(x_{i},y_{i},c_{i})$(其中$1\le i\le m$),将其按照$c_{i ...
- idea 的git代码回退回某个版本
intellij idea 的git代码回退回滚 找到Reset HEAD 填写提交码,注意这里要选择"hard" 使用命令行强制提交代码 git push -f
- 推荐几款谷歌浏览器(chrome)超实用的插件
1.github加速器 在谷歌应用商店搜索"Github加速器",安装即可. 说明:在国内访问github有时候非常慢,是让人非常头疼的一件事,安装这个插件后 大大加快github ...
- 【AWS】使用X-Ray做AWS云上全链路追踪监控系统
功能 AWS X-Ray 是一项服务,收集应用程序所请求的相关数据,并提供用于查看.筛选和获取数据洞察力的工具,以确定问题和发现优化的机会. 对于任何被跟踪的对您应用程序的请求,不仅可以查看请求和响应 ...
- MySQL的B+树索引和hash索引的区别
简述一下索引: 索引是数据库表中一列或多列的值进行排序的一种数据结构:索引分为聚集索引和非聚集索引,聚集索引查询类似书的目录,快速定位查找的数据,非聚集索引查询一般需要再次回表查询一次,如果不使用索引 ...
- Codeforces 710F - String Set Queries(AC 自动机)
题面传送门 题意:强制在线的 AC 自动机. \(n,\sum|s|\leq 3\times 10^5\) 如果不是强制在线那此题就是道 sb 题,加了强制在线就不那么 sb 了. 这里介绍两种做法: ...
- Pólya 定理学习笔记
在介绍\(Polya\) 定理前,先来介绍一下群论(大概了解一下就好): 群是满足下列要求的集合: 封闭性:即有一个操作使对于这个集合中每个元素操作完都使这个集合中的元素 结合律:即对于上面那个操作有 ...
- Matlab流体后处理中的奇淫巧术总结
Matlab流体后处理中的奇淫巧术总结 主要参考\demos\volvec.m示例 1.等值面绘制 %% Isosurface of MRI Data cla load mri D = squeeze ...
- python爬虫采集
python爬虫采集 最近有个项目需要采集一些网站网页,以前都是用php来做,但现在十分流行用python做采集,研究了一些做一下记录. 采集数据的根本是要获取一个网页的内容,再根据内容筛选出需要的数 ...