http://mobile.csdn.net/a/20120330/313744.html
在现今的移动互联网时代,苹果产品风靡全球。因此,相应的iOS开发也渐渐成为IT业界热门的职业方向。对此,中国信息产业培训网专访业内知名实战专家、安博教育-中程在线金牌讲师关老师,揭秘神奇的iOS开发实战之路。
1、学习iOS开发,需要有什么开发基础呢?
关老师:由于iOS开发主要使用Objective-C语言,有时候也会使用C或者C++。Objective-C语言属于C语言家族,如果有C或者C++基础,学习起来会比较容易。如果没有C或者C++基础,有C#或Java基础也可以。
2、学习iOS开发,有哪些技术难点需要重点理解和研究?
关老师:Objective-C语言规则、内存管理是学习iOS和设计模式最大的难点。
Objective-C语言是基于SmallTalk-80,语法规则与C和和C++语言是完全不同的,调用方法被称为“发送消息”,不是采用“.”操作符,而是采用“[]”操作符。方法名签名可以分成几个部分。
Objective-C语言与C和C++语言一样都需要由程序员是否变量的内存,一种以来内存管理都是C家族程序员最为头痛的问题,Objective-C语言也有这样的问题,内存释放早了就会出现空指针引用,释放晚了就会出现内存泄漏等等问题。但是新版本的iOS SDK 5.0给这个问题的解决带来曙光。
iOS中采用几种设计模式也是一个重点,其中包括:MVC设计模式、委托设计模式、观察者设计模式和单例设计模式。其中MVC设计模式是iOS UI部分基础,委托设计模式也在组件之间的调用方面起着重要的作用。
3、iOS游戏开发中,主要需要学习哪些关键知识点呢?
关老师:iOS中的游戏已经不是传统概念上的游戏了,有多游戏都是利用了iOS特有的传感器、能够移动的特性,因此这些游戏采用的技术是五花八门的,如果总结一下包括:2D绘图介绍、动画技术、OpenGL ES、多媒体技术、重力加速计、触摸事件和手势,以及定位服务和地图等,有时候我们还需要第三方的游戏引擎,而游戏引擎又有很多方向。
4、请您简单介绍一下iOS开发入门的基础、iOS框架的使用。
关老师:iOS开发入门首先要学习Objective-C语言,这是过语言关,然后才有谈其它学习。接着就可以学习iOS的Cocoa Touch框架中的UIKit部分学习,这一部分是以UI控件为基础知识,UI内容入门相对比较容易,因为它所见即所得的。
5、iOS开发中,有哪些经典的iOS应用?您给我们介绍几个相关的案例吧!
关老师:在App Store中有很多经典的应用,由于iOS包括了:iPhone(iPod Touch)和iPad设备,细分来讲iPhone(iPod Touch)和iPad的应用是有差别的,他们的应用场景不一样。iPhone(iPod Touch)由于比较小、可以放在口袋里,因此iPhone(iPod Touch)适合于完成微任务、了解周围发生的事情和打发无聊的时间。如果只谈iPhone(iPod Touch)经典应用的话,有完成微任务有:天气信息、股票信息等应用,了解周围发生的事情的有:bump、OffMaps、Lonely Planet Travel Guide等应用,打发无聊的时间有:愤怒的小鸟、植物大战僵尸等游戏。
6、现在,云计算和云端应用是IT行业很火的词。那么您能简单讲一下如何使用和开发苹果的云端吗?
关老师:云计算是现在很火的概念,现在各大公司都在建立自己的云和推出自己的云服务,苹果的云(iCloud)为用户免费提供5G控件。要开发苹果的云端应用,我们有两个选择,一个是苹果提供的iCloud,使用iCloud 的API开发就可以了,另一个是使用第三方的云,比如微软的SQL Azure等,也可以是自己提供服务器,一般采用的技术就是HTTP、HTTPS、Web Servcie等知识。
7、现在有很多iOS开发者都很关心如何在APP Store上利用自己开发的游戏或应用赚钱,那请您就自己的亲身经验给我们讲一讲吧。
关老师:目前APP Store上有50多万以上应用,一款应用放上去很快就找不到了,这是一个事实,这只能说你的应用用户不喜欢。在iPhone和iPad上做应用也是有差别的,它们的应用场景是不同的,用户的心理也是不同的,我刚才讲iPhone适合于完成微任务、了解周围发生的事情和打发无聊的时间,我们要围着这个几个点开发应用。如果App Store已经有了的应用,需要从内容的持续更新、游戏的内置购买关卡等方式,甚至可以在你的应用中设计一个很好的广告条。还有如果你做的是网站附属应用的话,要想着如果在移动网站上做改进,而不是全盘照搬原网站。
8、据我们了解,您在iOS开发领域有着多年的研究经验,而且授课经验也相当丰富。那么您给我们简单介绍一下,在您的iOS开发系列课程中,包括哪些具体的课程呢?这些课程之间又是怎样的进阶关系呢?
关老师:iOS系统课程目前来讲包括:精通iOS开发、iOS云端应用、iOS游戏开发从零开始和iOS 经典应用剖析。
为了说明这些课程的关系请看下面的图表:
(详情请登陆: http://www.miiceic.org.cn/ios/)
其中精通iOS开发是一门基础课程,其中进阶课程包括了:iOS云端应用、iOS游戏开发从零开始和iOS 经典应用剖析,其中绿色部分是已经在讲授的课程了,其它的部分是未来要来开始的课程。
9、您讲的iOS开发的课程,有什么特色和亮点呢?
关老师:主要包含五个亮点:一是全面:课程知识覆盖全面,涵盖了应用开发技术的方方面面。二是最新:最新的iOS5 SDK,最新Xcode开发工具,能够紧跟苹果的步伐。三是案例驱动:授课过程中采用案例驱动模式授课模式,从案例入手讲解知识点。四是资源共享:课程结束后,所有课程PPT以及案例代码完全提供给学员,以便学员技术巩固及资料积累。五是真机运行:授课过程中的案例,会在iPad或iPhone上测试和运行,学员感受更加直观。