[本文是《跨界开发:面向C#开发者的iOS开发手册》的序言,从本周开始,本书的内容将会在博客当中进行连载,每周在一节左右,欢迎大家提出意见以及建议。该书将根据大家的意见以及建议进行持续性修改。]{style="font-weight: normal;font-size: 13px"}

[很久很久以前,江湖上曾经有一本武功秘籍,称之为《葵花宝典》。由于此书上所记载的绝世武功,引得无数英雄趋之若鹜,一时间闹得江湖间血雨腥风。而最终历经千辛万苦,两位有代表性的人物分别获得了此书。一位是江湖上名不见经传的林平之,一位是名传天下的华山派掌门岳不群。他们在得到此书后,迫不及待得翻开了第一页,猛然发现一道让他们后悔一辈子的选择题摆在面前。在经历过内心复杂的心理斗争后,两人终于禁不住神功的诱惑,而拔刀自宫。但最终他们的下场却让我们怜之痛兮,真乃是赔了夫人又折兵呀。]{style="font-weight: normal;font-size: 13px"}
而很久很久之后,Steve Jobs也同样在江湖上发出了英雄贴,名为iPhone/iPad的兵器在市场上所向披靡。截止到目前,其已经占领北美智能机市场65%的份额,同时,大量的iPhone/iPad开发人员一夜暴富的神话也让很多从事其它开发语言开发的朋友而闻之心动。

那么,作为从事.NET开发的程序员是否需要完全放弃其原有的开发经验,而开始学习全新的开发语言、使用全新的开发工具、熟悉全新的操作系统、研读全新的框架类库、了解全新的部署平台、掌握全新的发布模式呢?如果真的如此困难,那么会使很多江湖上.NET的前辈或者入门一年有余的新手而踯躇不前,毕竟挥刀自宫的毅力不是每一位都具有的。而我的回答就是:当然不是,就像功夫一样,如果我们积累了足够的内功,那么所有的门派则只是适应武术套路而已。

本书适合的读者

本书面向已经学习以及使用.NET一年以上的开发人员,曾经从事过以下领域的应用程序开发:ASP.NET、Windows Mobile、Silverlight或者Windows Form/WPF。对于C#语法已经熟悉,甚至对于一些底层机制已经精通的人员。

如果你已经了解.NET的相关功能,并且希望从事iPhone/iPad开发, 有毅力来承担其中的一些艰辛,那么本书将会试图带领走过其中的一些歧途。

本书也同样可以作为其它开发语言使用者,进入iPhone/iPad开发的入门书籍。虽然本书会重点介绍.NET开发与iPhone/iPad开发的异同,但通过纵览本书,其它语言的朋友也可以一览相关开发的机制,从而快速掌握iPhone/iPad开发的关键,并且在同时,也了解到.NET与之的异同。

本书不适合的读者

如果你符合以上条件,但希望能够继续使用C#等语言,在Windows上使用Visual Studio来开发iPhone/iPad等应用,那么很不幸,本书并不适合于你。目前iPhone/iPad上的开发必须使用Objective-C来编写,而使用Objective-C,你需要使用全新的IDE,即XCode。而要使用XCode,你需要使用Mac OS X操作系统,所以这是一个全新的挑战。

本书的示例应用

为了方便大家能够更快得学习本书中所介绍的iPhone开发知识,本书将会在随书光盘中提供相应的示例应用源代码。但为了让读者将更多的精力放在对于开发中基本原理上,所以本书不会提供数量众多的源代码。而是主要围绕以下三个示例应用进行,并且随着章节的深入,为最始的示例增添新的功能。通过这个过程,了解iPhone开发的方方面面:

  1. Hello World:在第1篇中,将主要围绕这个最简单的Hello World应用进行。通过这个示例,读者可以熟悉编程环境:Xcode、Interface  Builder等的具体使用方式,理解iPhone/iPad中各种项目类型,同时也基本了解如何使用Instruments进行性能调优的方法。
  2. RSS Reader:在第3篇开始,将会围绕RSS Reader这一目前常用的示例应用程序介绍Objective C语言的相关知识,并且了解如何使用Cocoa Touch类库进行文件处理、网络访问、数据库处理等基本操作。
  3. Hello Game:在第4篇中,将会介绍Core Graphics以及Open GL ES图像处理子系统。

本书基本框架

本书在构成框架上,共分为五篇,介绍了iPhone/iPad开发的方方面面。

在第一篇准备中,我们会向各位介绍iPhone/iPad的面向最终用户的特性,以及面向开发人员需要关注的地方。并且会从头开始,介绍如何构建开发环境。

Objective-C对于很多.NET开发人员是一门非常陌生的语言,甚至在此之前都闻所未闻。那么在第二篇当中,我们会介绍此语言的方方面面。并且通过与C#语言的对比,让大家对其有更深入的认识。在本篇当中,也会涉及到IDE的使用技巧等。

第三篇则会真正揭开iPhone/iPad开发的内幕,通过一个完整实例的介绍,让我们熟悉iPhone/iPad所使用的框架类库Cocoa Touch的方方面面,在实战中了解Cocoa Touch带给我们的便利性。当然,我们也会介绍互联网上优秀的开源类库以及应用,供大家参考。

第四篇则面向游戏开发人员所设计。大家知道,在iPhone/iPad上开发游戏应用,需要了解一个OpenGL的精简系统,即OpenGL ES。OpenGL ES虽然便捷,但对于长期从事ASP.NET/WinForm开发的人员来说,将会是一个比较痛苦的过程,本书也将通过一些实例,让大家尽快度过此过程。

在开发完所有应用后,即可以提交到App Store,供广大用户下载使用。如果开发的是商业应用,那么我们需要设计相应的收费策略,并且通过市场上的各种方式进行推广。在第五篇当中,我们将会介绍相关的市场推广策略。