IPHONE学习周期

前言:最近在国外网站看的比较多,有一些东西也是自己在学习过程中一直想总结并分享的。这篇文章觉得比较清楚明了,于是花了2个小时进行了翻译并改编。对于内文涉及到一些网站及书籍均有链接。另外,介绍的书籍其实可以下到原版电子书,等我有空可以再发上来。希望对各位朋友有所帮助。本文由dososo原创翻译并改编。欢迎转载,请指明作者及地址出处。

我该从哪里开始?

在当今,努力成为一个iPhone开发者是充满乐趣的事,也是非常有价值的一项技能。但是有一个问题:这看起来并不是那么容易实现的。甚至那些有经验的程序员在为移动终端开发应用程序的过程中也遇到了很大的挑战。当你准备开始着手去做的时候,你面对的是接连不断的新事物需要学习:Xcode、InterfaceBuilder、CocoaTouch框架(frameworks)、Objective-C编程语言以及在iPhoneSDK所包含的其他技术。如果你尝试同时去学习它们,可能会让你感觉这些东西有点来势汹汹(atadoverwhelming)。

因此如何创建iPhone程序该从哪里开始学习起呢?好的,视实际情况决定吧。从来都没有一篇文章,书籍,视频教程或者培训课程可以做到适合每个人。你需要抱持着诚实的心态根据你现在技能水平来选择合适的资源。这里有一些方向将帮助你开始起步:

一般来说,如果这是你编程的初次的尝试,建议从编程基础开始学起。

如果你已经是一个有经验的程序员,但是你在Mac上才开始,请从开发者工具、Objective-C以及Cocoa开始学起吧。

如果你已经可以非常自如的在Mac上进行编程,请立即进入创造你的iPhone程序。

最后,如果已经创造了一款基础的iPhone程序,那么是时候让它闪亮出场了!

不是一个程序员?或许从零开始的时候创建一个iPhone程序看起来会如此简单,但是这只是假象,对那些已经有经验的程序员来说总是充满了挑战。许多人低估了困难度。如果你不是一个程序员,但是有一个很好的iPhone程序创意,与一些有经验的iPhone开发者一起工作,可能会让你的创意更快的进入市场。一种方式就是通过我们的工作板与好的开发者一起合作。

编程基础(BasicProgramming)

面向对象的编程是一种计算机编程形式,它使用的概念例如类、对象、方法和继承。面向对象的程序也使用了大量的传统面向过程的编程概念如变量、循环、条件语句等等。

Objective-C是面向对象的编程语言,你可以用它来创建iPhone程序。它在很多方面跟其他的编程语言很相似,但是在很多方面又有很多与众不同的特性。

#1一般来说如果你是编程新手,我们推荐以下书籍进行学习:

Mac编程入门:Objective-C和Cocoa开发(BeginningMacProgramming:DevelopwithObjective-CandCocoa)

这本书是为有一点或者干脆没有编程知识的人而准备的。它介绍给你面向对象的编程原理及规则,用通俗易懂的语言介绍Objective-C和Cocoa框架程序,非常易懂的课程。你可以从中了解到使用开发工具该如何开始。

如果你已经自如的使用开发工具

iPhone软件开发包(SDK)是一套免费使用的Objective-C框架(库)和工具,它允许你为iPhone、iPodTouch以及iPad创建应用程序。它也包含了iPhone/iPad模拟器,在你开发的时候可以运行程序在你的Mac上。

Xcode是用在Mac和iPhone的编程开发包,包含在iPhoneSDK里。

InterfaceBuilder是设计和测试iPhone程序用户界面(UI)的可视化工具。你需要和Xcode配合使用。它也包含在iPhoneSDK中。

苹果开发者联盟(ADC)是关于所有Mac和iPhone开发的官方资源支持。

Mac电脑是直接被认可的开发平台,所以你有理由去买一台。认真而严肃的说,所有的工具只能在Mac上使用,你必须有一台Intel处理器的Mac电脑来开发iPhone程序。当然,好消息是一旦你拥有了Mac,所有的开发工具是免费的。

#2下载Xcode,InterfaceBuilder和iPhoneSDK:

你需要注册成为苹果开发联盟的一员或者是iPhone开发者,以便于可以下载最新版本的的SDK。苹果开发者联盟会员是免费的且会有很多益处。如果你不准备成为会员,你可以只注册一个账号。

最新版的SDK可以从http://developer.apple.com/iphone/下载。当然最新版的Xcode和InterfaceBuilder已经包含在SDK中。一次下载满足你所有需要。

一旦你想申请在真机上测试并发布程序在AppStore,你必须向iPhone开发者计划(iPhoneDeveloperProgram)提交申请。个人开发者需要花费$99/年的授权费用,公司机构需要花费$299/年的授权费用。

#3开始接触Xcode和InterfaceBuilder的时候可能会让人觉得有一点困难。在你准备加入编码之前,我们推荐你观看以下的视频教程:

逐步精通Xcode(BecomingProductiveinXcode)

这个视频系列有两部分,教你如何在真正有效的方式下使用Xcode,因此你将花很少的时间用在被挫败的感觉上而将更多的时间用在关注你的应用程序上。

Xcode和InterfaceBuilder入门(GettingStartedwithXcodeandInterfaceBuilder)

免费观看,5部分的22分钟的介绍视频教你如何入门InterfaceBuilder(下载,22分钟)

#4也可观看苹果的免费视频

花一些时间在iPhone开发者中心(iPhoneDevCenter)观看“入门视频”。在这些免费的视频里,苹果的专家会讨论任何关于iPhoneSDK入门知识,创建iPhone程序的工具和技术。都是非常好的资源!

学习Objective-C和Cocoa

Objective-C是Mac和iPhone开发程序的首要使用的面向对象编程语言。不过,这只是一个通用的编程语言。要建立更丰富的程序,你需要一些库文件帮助你做许多重要的事情。

Cocoa是苹果自己创建的一套Objective-C框架(库文件),能够为Mac开发程序。CocoaTouch基于Cocoa,但是只用在开发iPhone或者iPodTouch那些看起来相似应用的特定手机程序上。当你需要开发图形,基于事件的iPhoneoriPad程序时,CocoaTouch提供所有的核心的用户界面部件。

#5如果有编程的背景,但是你初次接触Objective-C语言,我们推荐你观看以下视频教程:

Objective-C编程视频(CodinginObjective-Cscreencasts)

这个视频系列有三部分,给你关于Objective-C主要特性的概述和面向对象编程核心概念。你也可以学习如何管理内存(特别重要在iPhone上!)并且使用Xcode调试器快速判断和解决问题。

#6接着,一旦你已经学习了Objective-C,你就必须对付Cocoa了。我们推荐你学习以下书籍:

Cocoa编程:开发者速查手册(CocoaProgramming:AQuick-StartGuideforDevelopers)

这本让你更好的理解Mac的Cocoa原理和IB开发。iPhoneSDK也使用了很多相同的理论,很好的Cocoa应用知识对你提高大有裨益。通过亲自利用工具的手动体验去进行有趣的练习,去理解语法和基本的Cocoa概念例如目标/工作(target/action)以及委派(delegation)。

#7加入CocaHeads讨论群组:

CocoaHeads是一个专注在苹果电脑MacOSX(包括iPhone)系统上的Cocoa框架编程讨论组。CocoaHeads讨论组可以结识本地,也是全世界的人!如果你不能找到你附近的组,考虑开一个新组吧。

创建你的iPhone应用

第一次将这些全部应用在一起,是令人兴奋的。在这里的基础学习是真正值得的。当你已经自如的领会语言,库文件以及工具,你可以将你的创意变为现实了。

#8如果你喜欢做一个体验者,可以使用苹果的iPhone例子程序做试验。

苹果提供了大量的iPhone例子程序。下载源代码,运行它在你的iPhone模拟器上,开始试验吧。通过阅读代码是一个非常好的方式巩固所学的Objective-C和Cocoa。你也可以使用这些例子代码设计来给自己的开发以灵感。

#9许多关于iPhone开发的书已经随处可得了。这里列出一些推荐。

iPhoneSDK开发(iPhoneSDKDevelopment)

非常实用的指导带你通过工具和API为iPhone和iPodTouch创建自己的软件。大量有用的案例,这本书平台提供“重点”概念和每日“需理解的”细节,最大限度的利用iPhoneOS平台满足开发者需求。

iPhone开发入门:探索iPhoneSDK(BeginningiPhoneDevelopment:ExploringtheiPhoneSDK)

这本书以基础开始,手把手带领你走进如何建立你的第一个程序。在这里,你讲学习到适用你程序的方方面面。

#10订阅邮件列表或者加入论坛

询问iPhone开发者问题,苹果开发者论坛(AppleDeveloperForums)是最好的地方,但是请利用你所学的去回答别人的问题。

#11持续不断的学习iPhone开发各种快捷的小窍门,技巧或者技术能让你立刻运用。

StudioBonusTracks是一个免费的视频,关于实践应用中的窍门和技巧的话题课程。每个视频非常短小精干,只关注于一项技术以便于你能快速的运用到你的程序中。

使你的程序更精彩!

在iPhone开发过程中内存管理是特别重要的部分,因为资源是被约束的。虽然Objective-C2.0有垃圾回收器,但是并不适用于iPhone。因此如果你写iPhone程序,你必须要管理好你的内存。

CoreAnimation是Objective-C语言封装的一套图形渲染,投影及动画的库的集合,会给你的iPhone程序加入令人惊讶的元素。即使它不那么酷,但是也可以改善用户体验,让你在一堆应用中脱颖而出。

CoreData是一套设计工具和API用于iPhone程序的持久性数据存储。

#12在你提交你的程序给AppStore之前,务必概要描述内存使用率并且修正任何性能问题。这个视频教你如何做:

视频章节#2:内存管理(ScreencastEpisode#2:MemoryManagement)

在这一章节,你将学到如何使用工具找到和修正在Objective-C常见的各种各样在内存管理问题。

#13CoreData在iPhone上给数据模型化和持久化提供一种简洁的解决方案:

CoreData:在MacOSX下数据持久化的API(CoreData:Apple’sAPIforPersistingDataunderMacOSX)

这本书带你从CoreData最基础开始直到专家级的配置,你在其他任何地方是找不到的。

#14参加苹果世界开发者大会(WWDC)

苹果世界开发者大会(WWDC)是一年一度的重大事件,从中讲学习和了解到最新的和最伟大的iPhoneOS和MacOSX开发。这好像有一点花费,但是这一切都是值得的如果你将iPhone开发作为你的谋生手段的话。

#15考虑为你的程序使用CoreAnimation添加令人惊奇的动画效果。这本书教你如何做:

MacOSX和iPhone的CoreAnimation应用(CoreAnimationforMacOSXandtheiPhone)

这是本综合性的指导书将让你快速并深入到CoreAnimation。

相关推荐