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. 如何提高C# StringBuilder的性能

    本文探讨使用C# StringBuilder 的最佳实践,用于减少内存分配,提高字符串操作的性能. 在 .NET 中,字符串是不可变的类型.每当你在 .NET 中修改一个字符串对象时,就会在内存中创建 ...

  2. [cf741C]Arpa’s overnight party and Mehrdad’s silent entering

    直接令2i-1和2i的位置不相同,相当于有2n条边,对其进行二分图染色即可(这张图一定不存在奇环). 假设给出的n条关系是A类边,2i-1和2i的边是B类边,可以发现一条路径一定是AB交替(因为A/B ...

  3. Linux——基础命令用法(上)

    一.Linux基础命令 1.Linux命令行的格式 命令行的格式为:用户名+主机名+当前工作目录 输入内容的命令格式为:命令 [-短选项/--长选项] [参数] [root@localhost ~]# ...

  4. MySQL 在线开启&关闭GTID模式

    MySQL 在线开启&关闭GTID模式 目录 MySQL 在线开启&关闭GTID模式 基本概述 在线开启GTID 1. 设置GTID校验ENFORCE_GTID_CONSISTENCY ...

  5. 关于uni-app导航栏中 中间大图标的设置

    在uni-app的开发过程中,想要将位于中间的图标设置更大,通过一般的更改导航栏图标大小方式实现不了.经过查看官方文档可以发现,我们可以通过midbutton来设置中间tabbar的样式. 但前提是, ...

  6. 服务API版本控制设计与实践

    一.前言 笔者曾负责vivo应用商店服务器开发,有幸见证应用商店从百万日活到几千万日活的发展历程.应用商店客户端经历了大大小小上百个版本迭代后,服务端也在架构上完成了单体到服务集群.微服务升级. 下面 ...

  7. python-django-模板标签

    注意:这个控制语句和python的差不多,但是记住必须有endfor 和endif 结尾 模板文件的django格式的注释是不会出现再网页渲染的源代码当中的 使用列子: <!DOCTYPE ht ...

  8. python18协程

    协程是我们自己调度的 进程是系统调度的协程切换很少开销 python3.5之前的实现方法 def yield_test(): """实现协程函数""& ...

  9. 9. Delete Node in a Linked List

    Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...

  10. 入坑不亏!我们最终决定将 70w+ 核心代码全部开源

    作者 | 一啸 来源 | 尔达 Erda 公众号 背景故事 2017 年初,我们基于 DC/OS (mesos + marathon) 开始构建端点自己的 PaaS 平台,核心任务就是解决公司的软件开 ...