1.1 iOS系统简介
iOS应用开发
如果这是你第一次接触iOS开发,欢迎你来到一个激动人心的新世界。iOS阵营提供了一些强大的设备待你探究。尤其是iPhone,它聚集了很多令人兴奋的技术,包括持续在线的因特网、地理定位、运动传感,以及照相功能。就在不久的过去,开发者们如果要尝试这些技术,要么需要自己创建定制的硬件,要么花好几万美元购买。而现在你可以将所有这些技术整个装进你的口袋并且随身携带。
iPhone的硬件带来了先前无法想象的机会。革命性的新型社交网络应用程序占主导地位,地理定位应用已经日益成为我们数字化生活方式的一部分。甚至虚拟现实,曾经一度只不过是小把戏,也已经长成为一个有用的工具(或者至少是一种有趣的娱乐方式)。最重要的是,这样急剧的转变在近期没有一点变慢的迹象。我们只是才开始触及到这些设备用法的皮毛而已,最好的创意还远没有出现。
同时,苹果公司为我们的应用程序创造了一个富饶并且生机勃勃的市场。在2011年全球开发者大会上,史蒂芬·乔布斯宣布苹果公司已经卖出两亿台iOS系统设备,拥有2.25亿应用商店注册用户,并且和每个用户之间仅有一步之遥。目前为止这些用户已经下载了超过140亿个应用,在过去三年里,为iOS开发者们带来25亿多美元的收入。
这给大大小小的开发团队带来了振奋人心的机会。对大公司来说,苹果公司为他们与客户之间的互动开辟了一个专用、专注的渠道。一个精心制作、专注的应用程序不仅仅提高了用户体验,还可以成为有力的公关工具。应用程序将会为你建立现有客户的品牌忠诚度,并在潜在客户中提高品牌知名度。
另一方面,苹果公司的应用程序商店使得由一两个人组成的小型开发团队将自己的产品展现给成千上万的潜在用户变得非常容易。你不再需要创建和维护自己的在线商店。你也不需要集资或者处理信用卡交易等事务。苹果公司为你搞定了所有的这些细节。你可以专注于你喜欢的部分——创建强大的应用程序。
然而应用商店就像房间里的800磅大猩猩,千万不要让它分散你的注意力,它不是开发商用软件的全部。越来越多的开发者将苹果设备作为个人或者教育类项目的平台。从高中的科学展览上到机器人实验室里,你都会发现基于iOS系统的实验。
最后,苹果为我们提供了一套高质量的开发工具。Xcode 4较先前的版本有了重大的改进。它是一个涵盖测试、分析以及调试代码等多种功能的全功能集成开发工具。特别是Instruments,它可以完成监测和分析处理器利用率、内存分配、网络和文件存取以及更多其他的任务。
苹果公司还提供了一种拥有一套优秀的框架库的程序设计语言。我知道,许多iOS程序员新手被拦在学习Objective-C语言这一道障碍上,我也承认学习曲线是非常陡峭的,尤其是当你还在内心斗争是否要开始学的时候。然而,一旦你对这个语言得心应手了,你就会迅速地爱上它。此外,多学习一门新的程序语言总是没有错的。这会让你成为一个更好的开发者,即便你从来不会使用它来编写代码。
Objective-C是一种动态的极为灵活的程序设计语言。它提供了很多特征(如果被正确使用的话),能帮助我们克服很多困难的编程挑战。同时,iOS软件开发工具包(SDK)也为我们提供了很多非常棒的框架库,来帮助我们创建自己的应用程序。
框架库是软件设计环节中最难的部分之一。理想地说,它应该简化开发者完成一般的任务,同时又让开发者有足够的自由度去解决框架库未考虑的任务。以此作为衡量标准,Cocoa touch框架库是我所使用过的框架库中最好的。实际上,如果你想要写一大堆代码只是为了完成一个通用的任务,那么十有八九你是哪里搞错了。
我希望本书将会对iOS开发世界做一个引导性介绍。虽然涵盖所有的方面或者探究每个框架库是不可能的,但是本书将会为你打下坚实的基础,并教会你自己独立开发所必备的工具及技能。
另外,虽然本书重点放在如何开发iPhone的应用程序上,但是其中所包含的概念和技术可以应用于任何的iOS设备:iPod touch、iPad,甚至苹果公司以后将会生产的任何iOS设备。不同设备间的一些特殊差异将会在遇到的时候进行讲解。iPad还会有一些特别的用户界面元素,iPad特定的开发问题将会在本书的网站上(www.freelancemadscience. com/book)附加章节的A章里深入讲解。
现在,就让我们开始第一个项目。我们就以创建一个能显示一行简单消息的实用工具应用程序为开端吧!如果第一遍你还看不懂代码,不用担心。我们将在第2章“Objective-C”中更加深入地讲解Objective-C语言。目前,就将这次开发当做自己熟悉开发环境的一次机会吧!