第一图书网

iPhone开发实战

(美)艾伦,(美)阿佩尔克莱因 著,漆振 等译 人民邮电出版社
出版时间:

2009-10  

出版社:

人民邮电出版社  

作者:

(美)艾伦,(美)阿佩尔克莱因 著,漆振 等译  

页数:

346  

字数:

581000  

Tag标签:

无  

前言

我们俩都是苹果公司的忠实拥趸。Shannon时常会想起他在Apple II和第一款Macintosh上玩的游戏,那时这些游戏经常出现在校刊上。Christopher则在第一次创业时将他的爱好转换成了实业,创办了Dreams of the Phoenix——一家Mac软件公司。因此,我们在听到iPhone口将推出的消息时都对它寄予了厚望。经历了20世纪90年代的低迷期之后,苹果公司已逐渐开始复苏,我们都为之欣喜若狂。我们看到Airport为局域网络访问带来了巨大变革,也目睹了iPod将曾经风靡一时的索尼随身听横扫出了音频市场。我们希望iPhone也~能在手机行业中创造同样的精彩。2007年6月末的一个下午,christopher买到了第一批出售的27万部iPhone手机中的一部,而所有这些手机在30个小时之内就全部售罄。虽然Shannon是一名电子爱好者,但他在6月29日购买iPhone之前从未拥有过任何一部手机。从此之后,iPhone成了他形影不离的伙伴。(他仍然热衷于在长途骑行时查看地图,而不是打电话,这正是该设备的迷人之处——它对于不同的人意味着不同的功能。)我们都是程序员,因此在拿到iPhone之后,要做的自然就是为其编写程序。我们俩都是通过Web进入iPhone编程领域的。对于christopher来说,这是因为在2007年6月30日还不存在为iPhone开发程序的其他方法。在最开始的9个月中,任何iPhone应用程序都必须通过网络发布。christopher走在时代的最前沿,他建立了iPhoneWebDev邮件列表,人们通过该列表交流有关视区以及其他iPhone特性方面的问题,他很快了解了如何为这个新平台创建外观精美的应用程序。他参与了最初的两次iPhoneDevCamp大会,并在Hackathon会议担任评委。对于Shannon来说,Web编程显然是他参iPhone开发的第一步。因为他当时已经创建了www.rpg.net和www.xenagia.net这样的热门网站,并且他希望看到针对新的iPhone经过优化后这些网站会是什么效果。在此基础上,他开始撰写与iPhone相关的文章——这些关于设计iPhone网页的文章仍然可以在www.iphonewebdev.com/blog上找到。当我们初次规划本书内容时,它完全是关于iPhoneWeb开发的,这也是当初我们所擅长的。但是在编写过程中,2008年3月苹果公司宣布了一种全新的iPhone编程方法:SDK。于是我们立即修改了本书的大纲。我们原本可以将Web开发完全放在一边,而只是介绍SDK的内容。许多程序员和作者都是这么做的。但我们认为这是一种错误的做法。Web开发和SDK分别提供了截然不同的iPhone编程方法,它们都具有各自的优势。

内容概要

本书全面探讨了iPhone平台的两种编程方式——Web开发和SDK编程。全书结合示例对这两种编程方式的基本流程、基本原理和基本原则给出了详细而通俗的讲解。在Web开发方面,分别介绍了三个iPhone Web库,即WebKit、iUI和Canvas,并讨论了Web开发环境Dashcode,最后阐述Web应用程序的调试。在SDK开发方面,详细描述其各种组件和功能,包括Xcode、Interface Builder、视图控制器、用户交互、SDK工具包、加速计和GPS、媒体、图形等。  本书适合所有iPhone开发人员学习参考。

作者简介

Christopher Allen著名iPhone开发技术专家。最大的iPhone Web开发社区iPhoneWebDev.com创办人,iPhoneDevCamp技术大会创办人。他还是TLS安全协议的作者之一。

书籍目录

第一部分 iPhone编程简介 第1章 iPhone简介   1.1 iPhone核心规范    1.1.1 iPhone的输入及输出规范    1.1.2 iPhone网络规范    1.1.3 iPhone浏览器规范    1.1.4 iPhone的其他硬件特性   1.2 iPhone在行业中的比较    1.2.1 物理比较    1.2.2 具有竞争力的因特网浏览    1.2.3 移动Web标准    1.2.4 其他创新   1.3 iPhone的独特之处   1.4 理解iPhone输入和输出    1.4.1 输出和iPhone视区    1.4.2 输出和方向    1.4.3 输入和iPhone定位机制   1.5 小结  第2章 Web还是SDK   2.1 比较两种编程风格   2.2 核心思想:编程的连续性   2.3 优点和缺点    2.3.1 Web开发    2.3.2 SDK开发    2.3.3 程序平台   2.4 独立iPhone开发    2.4.1 Web开发模型    2.4.2 SDK开发模式   2.5 集成iPhone开发    2.5.1 镜像开发    2.5.2 混合开发    2.5.3 客户机-服务器开发    2.5.4 关于集成的最后想法   2.6 小结 第二部分 为iPhone设计网页 第3章 为iPhone重新开发网页   3.1 iPhone视区    3.1.1 更改整站视区    3.1.2 更改局部视区    3.1.3 视区属性和常量   3.2 实现“iPhone友好的”网页    3.2.1 避免缺少iPhone功能    3.2.2 创建链接    3.2.3 Web开发中的良好习惯    3.2.4 解决常见问题   3.3 实现“iPhone优化的”网页    3.3.1 通过USER_AGENT检测iPhone    3.3.2 通过CSS检测iPhone    3.3.3 使用CSS进行优化   3.4 使用iPhone chrome    3.4.1 三个栏    3.4.2 Web剪贴   3.5 捕获iPhone事件    3.5.1 单指触摸    3.5.2 两指手势   3.6 重新显示网页    3.6.1 Gmail iPhone页面    3.6.2 Facebook iPhone页面   3.7 支持非iPhone用户   3.8 小结  第4章 高级WebKit和文本Web应用程序   4.1 WebKit简介    4.1.1 新的HTML元素    4.1.2 新的CSS元素   4.2 CSS变换、过渡和动画    4.2.1 变换函数    4.2.2 过渡函数    4.2.3 动画函数   4.3 WebKit数据库    4.3.1 加载数据库    4.3.2 运行事务    4.3.3 一个示例数据库   4.4 调整chrome   4.5 识别触摸和手势    4.5.1 访问事件    4.5.2 转换事件    4.5.3 访问触摸    4.5.4 访问手势   4.6 识别方向   4.7 即将推出的特性:CSS渐变和蒙版    4.7.1 CSS渐变    4.7.2 CSS蒙版    4.7.3 Canvas替代方法   4.8 小结  第5章 使用iUI开发Web应用程序   5.1 创建你自己的iPhone UI    5.1.1 图形界面    5.1.2 iPhone数据范型    5.1.3 其他iPhone设计元素   5.2 准备iUI   5.3 使用iUI进行开发    5.3.1 iUI工具栏    5.3.2 iUI列表    5.3.3 iUI对话框    5.3.4 iUI搜索支持Ajax    5.3.5 iUI面板和行    5.3.6 iUI按钮    5.3.7 iUI属性   5.4 创建iUI后端   5.5 其他iUI技巧    5.5.1 组织代码    5.5.2 改善数据代码清单    5.5.3 压缩iUI    5.5.4 选择不同的外观   5.6 集成iUI与其他库    5.6.1 结合jQuery与iUI    5.6.2 结合iUI与WebKit   5.7 小结    第6章 使用Canvas开发Web应用程序   6.1 准备Canvas    6.1.1 启用Canvas    6.1.2 确保兼容性    6.1.3 合并功能   6.2 绘制路径    6.2.1 基本路径命令    6.2.2 曲线命令   6.3 绘制形状    6.3.1 绘制矩形    6.3.2 编写形状函数   6.4 创建样式:颜色、渐变和线条    6.4.1 颜色样式       6.4.2 渐变样式    6.4.3 线条样式   6.5 修改合成与剪切    6.5.1 全局变量    6.5.2 剪切路径   6.6 变换和恢复    6.6.1 变换    6.6.2 状态栈   6.7 整合图像、模式和文本    6.7.1 图像命令    6.7.2 模式命令    6.7.3 文本命令   6.8 合并功能   6.9 应用动画   6.10 小结  第7章 使用Dashcode构建Web应用程序   7.1 Dashcode简介    7.1.1 开始Dashcode项目    7.1.2 Dashcode剖析       7.1.3 运行Dashcode项目    7.1.4 部署Dashcode项目   7.2 编写Dashcode程序    7.2.1 使用库部件    7.2.2 添加动作按钮    7.2.3 使用基于列表的Browser模板    7.2.4 使用stackLayout部件    7.2.5 探究Dashcode的其余方面   7.3 集成Dashcode与已有库    7.3.1 集成Dashcode与Webkit    7.3.2 集成Dashcode与iUI    7.3.3 集成Dashcode与Canvas    7.3.4 更深的集成   7.4 小结  第8章 调试iPhone网页   8.1 在本地使用Apache   8.2 使用桌面浏览器进行调试    8.2.1 使用Safari    8.2.2 使用Firefox    8.2.3 使用iPhone仿真器   8.3 调试iPhone    8.3.1 使用iPhone调试工具    8.3.2 使用bookmarklet   8.4 分析iPhone   8.5 小结  第9章 适用于Web开发人员的SDK编程   9.1 C语言概念简介    9.1.1 声明和类型    9.1.2 内存管理和指针    9.1.3 文件结构和指令    9.1.4 编译    9.1.5 其他元素   9.2 面向对象编程简介    9.2.1 对象和类    9.2.2 消息传递   9.3 模型-视图-控制器(MVC)模式   9.4 小结 第三部分 SDK基本原理 第10章 Objective-C和iPhone OS   10.1 下载SDK    10.1.1 安装SDK    10.1.2 SDK剖析   10.2 Objective-C介绍    10.2.1 概述    10.2.2 消息       10.2.3 类定义    10.2.4 属性    10.2.5 其他编译器指令    10.2.6 类别和协议    10.2.7 Objective-C总结   10.3 iPhone OS介绍    10.3.1 iPhone OS剖析    10.3.2 iPhone对象的层次结构    10.3.3 窗口和视图   10.4 iPhone OS的方法    10.4.1 对象创建    10.4.2 内存管理    10.4.3 事件响应    10.4.4 生命周期管理   10.5 小结  第11章 使用Xcode   11.1 Xcode简介    11.1.1 剖析Xcode    11.1.2 在Xcode中编译和执行   11.2 在Xcode中创建第一个项目:Hello, World!    11.2.1 理解main.m    11.2.2 理解应用程序委托    11.2.3 编写“Hello, World!”   11.3 在Xcode中新建类    11.3.1 新类简介    11.3.2 头文件    11.3.3 源代码文件    11.3.4 链接   11.4 Xcode的其他功能    11.4.1 在Xcode中添加框架    11.4.2 在Xcode中使用其他模板    11.4.3 Xcode提示和技巧   11.5 小结  第12章 使用Interface Builder   12.1 Interface Builder介绍    12.1.1 Interface Builder剖析    12.1.2 在Interface Builder中模拟   12.2 在Interface Builder中创建第一个项目:图片和网页    12.2.1 新建对象    12.2.2 操作图形对象    12.2.3 使用Inspector窗口    12.2.4 使用图片   12.3 在Interface Builder中建立连接    12.3.1 声明IBOutlet    12.3.2 连接对象    12.3.3 使用IBOutlet编写代码   12.4 其他Interface Builder功能    12.4.1 建立其他连接    12.4.2 创建外部对象    12.4.3 初始化Interface Builder对象    12.4.4 访问.xib文件    12.4.5 新建.xib文件   12.5 小结  第13章 创建基本视图控制器   13.1 视图控制器家族   13.2 基本的视图控制器    13.2.1 视图控制器的分析图    13.2.2 创建视图控制器    13.2.3 构建视图控制器界面    13.2.4 使用视图控制器   13.3 表视图控制器    13.3.1 表视图控制器的分析图    13.3.2 创建表视图控制器    13.3.3 构建表界面    13.3.4 使用表视图控制器   13.4 小结  第14章 监控事件和动作   14.1 事件简介    14.1.1 响应者链    14.1.2 触摸和事件   14.2 触摸的例子:事件报告程序    14.2.1 在Interface Builder中构建应用程序    14.2.2 为触摸准备视图    14.2.3 控制事件   14.3 其他事件功能    14.3.1 规则化事件    14.3.2 其他事件方法和属性   14.4 动作简介    14.4.1 UIControl对象    14.4.2 控件事件和动作    14.4.3 addTarget:action:forControlEvents:方法   14.5 向应用程序添加按钮    14.5.1 使用addTarget:action:forControlEvents:    14.5.2 使用IBAction   14.6 其他动作功能    14.6.1 UITextField    14.6.2 UISlider    14.6.3 TextField/Slider组合    14.6.4 创建动作很容易    14.6.5 使用动作   14.7 通知简介   14.8 小结  第15章 创建高级视图控制器   15.1 选项卡栏视图控制器    15.1.1 选项卡栏控制器分析    15.1.2 创建选项卡栏控制器    15.1.3 构建选项卡栏界面    15.1.4 使用选项卡栏控制器   15.2 导航控制器    15.2.1 导航控制器分析    15.2.2 创建导航控制器    15.2.3 构建导航控制器    15.2.4 使用导航控制器   15.3 使用翻转控制器   15.4 模式视图控制器   15.5 小结 第四部分 使用SDK工具包编程 第16章 处理数据   16.1 接收用户动作   16.2 管理用户首选项    16.2.1 创建自己的首选项    16.2.2 使用系统设置   16.3 打开文件    16.3.1 访问软件包    16.3.2 访问其他目录    16.3.3 操纵文件    16.3.4 Filesaver:一个UITextView示例   16.4 使用SQLite    16.4.1 设置SQLite数据库    16.4.2 访问SQLite    16.4.3 访问SQLite数据库    16.4.4 通过数据库构建导航菜单    16.4.5 本例的扩展   16.5 访问地址簿    16.5.1 框架概述    16.5.2 访问地址簿属性    16.5.3 查询地址簿    16.5.4 使用地址簿UI   16.6 小结  第17章 定位:加速计和位置   17.1 加速计和方向    17.1.1 orientation属性    17.1.2 方向通知   17.2 加速计和移动    17.2.1 访问UIAccelerometer    17.2.2 解析UIAcceleration    17.2.3 查看重力    17.2.4 查看移动    17.2.5 识别简单的加速计移动   17.3 加速计和手势   17.4 关于Core Location    17.4.1 位置类    17.4.2 使用位置和距离的示例    17.4.3 使用海拔的示例    17.4.4 Core Location和互联网   17.5 小结  第18章 媒体:图像和声音   18.1 图像介绍    18.1.1 加载UIImage    18.1.2 绘制UIImageView    18.1.3 在UIKit中修改图像   18.2 利用Core Graphics绘制简单图像   18.3 访问照片    18.3.1 使用图像选取器    18.3.2 拍照    18.3.3 保存到相册   18.4 拼合:一个图像例子    18.4.1 拼合视图控制器    18.4.2 拼合临时图像视图    18.4.3 拼合视图    18.4.4 扩展这个例子   18.5 使用Media Player框架    18.5.1 媒体播放器类    18.5.2 音量视图    18.5.3 更好地集成媒体播放器   18.6 手动播放声音    18.6.1 播放简单声音    18.6.2 振动iPhone    18.6.3 播放复杂的声音    18.6.4 其他音频框架   18.7 小结  第19章 绘制图形   19.1 Quartz 2D简介   19.2 Quartz上下文    19.2.1 在UIView上绘制图形    19.2.2 在位图上绘制图形   19.3 绘制路径    19.3.1 结束路径    19.3.2 创建可重用路径    19.3.3 绘制矩形      19.4 设置图形状态    19.4.1 设置颜色    19.4.2 变换    19.4.3 设置裁剪路径    19.4.4 其他设置    19.4.5 管理状态   19.5 Quartz中的高级绘图功能    19.5.1 绘制渐变    19.5.2 绘制图像    19.5.3 绘制文字    19.5.4 未介绍的内容   19.6 示例:在图片上绘图    19.6.1 photodraw视图控制器    19.6.2 photodraw视图    19.6.3 扩展示例   19.7 Core Animation简介    19.7.1 Core Animation基础    19.7.2 Core Animation入门    19.7.3 绘制简单的隐式动画    19.7.4 绘制简单的显式动画   19.8 OpenGL简介   19.9 小结  第20章 Web:Web视图和因特网协议   20.1 因特网的层次结构   20.2 低层次联网   20.3 使用URL    20.3.1 创建NSURL    20.3.2 构建NSURLRequest    20.3.3 手动操作HTML数据   20.4 使用UIWebView    20.4.1 调用Web视图    20.4.2 管理Web视图委托    20.4.3 缩略图:一个Web视图例子    20.4.4 Google Maps:一个Core Location示例   20.5 解析XML    20.5.1 启动NSXMLParser    20.5.2 充当委托    20.5.3 构建示例RSS阅读器:一个XML示例    20.5.4 海拔高度重读:一个Core Location示例   20.6 提交给Web    20.6.1 手动提交    20.6.2 提交表单   20.7 访问社会网络    20.7.1 使用Web协议    20.7.2 使用TouchJSON   20.8 小结 附录A iPhone OS类参考 附录B 外部资源和参考资料 附录C 发布你的SDK程序

章节摘录

插图:1.2 iPhone在行业中的比较虽然iPhone是一项新的创新技术,但它也是移动技术数十年发展潮流中的一部分。理解iPhone在行业中的地位可以帮助我们更好地理解它与其他技术的不同之处。1.2.1 物理比较从物理规格上说,iPbone绝对是来自苹果公司最值得期待的一款美妙动人的设备。前面已经说过,它的屏幕几乎占据了整个机身,这也表明苹果公司在电子设备领域中的强大实力。更确切地说,iPhone的屏幕是上一代大多数手机所无法比拟的。普通的320×240像素到320×320像素大小的屏幕只有iPhone屏幕的一半。虽然它们的键盘可以与iPbone的屏幕键盘相比,但它们的定位方法一般都基于手写笔或小轨迹球,甚至是滚轮。我们期待其他手机能迅速赶上iPhone的物理规格,但与此同时,苹果已经使用这些规格创建了全新的手机体验——首先便是因特网体验。1.2.2具有竞争力的因特网浏览与上一代竞争者相比,iPhonc提供了更加实用、集成性更好、比标准移动体验更加稳定的因特网体验。实用性方面的改进源自之前介绍的输入、输出和网络方面的创新规范。在输入方面,它不再需要使用早期的滚轮来上下滚动页面。在输出方面,页面以简洁清楚的方式显示,而不必拆分成多个部分,从而提供了速度更快、更加赏心悦目的Web体验。最后,在网络方面,它可以获取相对较理想的EDGE或3G网络速度,并且如果可能的话还能使用极速的局域网络。与上一代手机蜗牛般的因特网连接速度相比,这种改变是巨大的。在如此坚实的基础上,苹果公司将因特网集成到整个iPhone体验中,而这是上一代手机未能实现的。iPbone包含各种标准程序,如YouTube界面、股票程序、地图程序和天气程序,所有这些都提供对因特网的流畅、自动访问。此外,SDK还为原始应用程序提供了简单的因特网访问。所有这些功能都由永久连接的因特网访问提供支持,这也是智能手机行业中从未出现过的。

媒体关注与评论

“本书对iPhone Web开发的阐述是别处找不到的,非常珍贵。对SDK的探讨也定能使程序员大呼过瘾。”  ——Mobile orchard社区“唯一必备的iPhone开发书籍。”  ——Rama Krishna Vavilala,资深技术专家。《ASP.NET AJAX实战》的作者


编辑推荐

《iPhone开发实战》:对于程序员而言,iPhone是一个近乎完美的目标平台。它不仅有优雅的SDK,对Web程序也提供了很好的支持。《iPhone开发实战》是一部畅销著作。除了讲述0bjective-C、苹果公司标准工具(如Dashcode、Xcode和Interface Builder)和SDK编程(包括Ul和各种特性,如加速计、GPS、地址簿、SQ LIte等)之外。还用很大的篇幅全面探讨了iPhone开发的另一个重要领域——使用WebKit、iUl和Canvas等技术开发iPhone Web应用程序。丰富的实战示例。更使《iPhone开发实战》成为iPhone开发人员不可或缺的利器。iPhone畅销书全面探讨iPhone Web与SDK开发60多个真实项目示例

图书封面

图书标签Tags

广告

下载页面


iPhone开发实战 PDF格式下载



前半部分对iphone开发没太大用,后半部分写得非常好,一些基础概念写得非常清楚,讲述极有条理。从不用interface builder的开发例子说到使用interface builder的例子,很容易理解和学习。例子不太多,书中主要讲述的是开发方法和概念,一些细节描述不多。不知别人觉得怎么样,反正我看过了object c开发基础,再看这本书,现在已能开发iphone软件了。


本书有市场上少见的关于Apple iOS的Web开发介绍


作为学习、工具用书,很不错


这类的数据我钟意


书不错,学习iPhone开发的值得收藏一本。当当的送货速度也比较快,赞一个!


刚开始看,还没大感觉。应该还是不错的,将IPHONE与INTERNET联系起来,让更多网站走向IPHONE。


哈哈,这本书分为两个部分,我喜欢看后面的一个部分


帮人买的,评价还不错。


我觉得,至少不逊于那本公认的基础教程


前面讲了一大堆没用得


前面40%的内容是教人如何做适合iPhone的网页,后面才是说窗口应用程序开发.
除去前面网页开发的部分,后面SDK开发的整个篇幅只有200页,但是涉及的面又比较宽.因此,很多地方作者都没讲细.初学者不容易看懂,不是初学者的话根本没必要看这书了.


貌似是直接翻译过来的,惨不忍睹。


一本很不错的书 但不建议没有object-c基础的人购买


对于想开发一些iPhone网页的人,这是一本非常好的书。


很多东西说的很简单,不够详细。


本书可以全方位的了解iPhone开发,但不够深入,适合有一定objective-c或web开发经验的认识阅读。PS:到货比网站上提示提前了1天


还没有开始看,但印刷还可以,发货也比较快


相关图书