首页>参考读物>计算机科学与技术>软件与程序设计

MonoTouch应用开发实践指南:使用C#和.NET开发iOS应用
作者 : (美)Michael Bluestein 著
译者 : 黄灯桥 黄浩宇 译
丛书名 : 华章程序员书库
出版日期 : 2012-12-03
ISBN : 978-7-111-40393-7
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 282
开本 : 16
原书名 : Learning MonoTouch: A Hands-On Guide to Building iOS Applications with C# and .Net
原出版社: Pearson Education Asia
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

MonoTouch在C#和.NET中融合了CocoaTouch框架和Objective-C语言概念,允许使用与Objective-C一样的API创建应用程序,还提供了许多基于Mono、C#和.NET的语言和API特性。MonoTouch不仅很好地抽象化了Objective-C的内存管理,而且还可以使用垃圾回收、可重用的非UI代码、SQLite的ADO.NET封装、Web服务、LINQ和泛型等技术。本书能够帮助C#/.NET开发人员在尚未掌握Objective-C和Apple开发工具的前提下,利用MonoTouch创建强大的iOS应用程序。

图书特色

如果你是经验丰富的C#/.NET开发人员,有想过进军如火如荼的iOS应用开发领域吗?现在,你不再需要学习Objective-C语言和苹果的开发工具,通过MonoTouch,就可以使用自己擅长的C#/.NET技术来开发iOS应用了。本书全面展示了MonoTouch的强大功能,以及如何快速地掌握和利用MonoTouch进行iOS应用开发。
本书是专门为有一定C#/.NET开发经验但毫无iOS开发经验的读者打造的,从最基础的MonoTouch开发环境的搭建、iOS SDK和MonoTouch之间的关联,到视图和视图控制器、iOS常用类、表格和导航、图形和动画、核心定位、MapKit、Web服务连接、网络功能、应用数据保存,再到iPad应用开发,几乎涵盖了一个C#/.NET开发者开发iOS应用需要掌握的所有知识。

本书主要内容:
在C#中应用常用的iOS开发模式和技术。
使用MonoTouch进行内存管理和垃圾回收。
使用MVC设计模式构建MonoTouch的应用程序。
主要iOS用户界面类的使用。
地址簿、摄像头、电子邮件和iOS媒体等功能的使用。
为丰富用户体验和实现最好的性能而自定义表格和导航。
iOS核心图形和核心动画子系统的访问。
使用核心定位和MapKit构建基于定位的iOS应用。
通过MonoTouch连接Web服务。
集成iOS和.NET的网络功能。
使用ADO.NET的SQLite提供者、.NET序列化和NSUserDefaults来保存数据。

特别提示:所有示例代码可在github.com/mikebluestein处下载。

作者简介

Michael Bluestein
资深软件开发工程师,拥有20余年软件开发经验,精通与.NET相关的各项技术,经验十分丰富。目前专注于iOS等移动应用的开发,是MonoTouch开发社区的积极参与者,为MonoTouch的普及和推广做出了很大的贡献,在社区颇具影响力。

图书前言

欢迎阅读本书。如果你是一个.NET开发人员且有兴趣开发基于iOS设备的本地应用程序,那么MonoTouch是个不错的选择。它在优雅的C#和.NET中融合了CocoaTouch框架和Objective-C语言概念,让其成为一个精心设计且乐在其中的技术。可以使用MonoTouch,在App Store和企业中部署应用程序(假设具有适用的许可证)。甚至只需要一个免费版本的模拟器,就可以学习和尝试它,而不需要任何额外的费用。此外,如果你是一个学生,还可以使用带有折扣的学生版本。
  MonoTouch允许使用与Objective-C一样的API创建应用程序,同时提供了许多基于Mono、C#和.NET的语言和API特性。此外,除了很好地抽象化了Objective-C的内存管理外,还可以使用垃圾回收、可重用的非UI代码、SQLite的ADO.NET封装、Web服务、LINQ和泛型等技术。
  MonoTouch很强大,因为它构建于苹果公司的技术之上,同时增加了大量额外的功能来辅助开发应用程序。围绕MonoTouch的团队和社区也是值得关注的。可以通过论坛、邮件列表以及非常活跃的IRC通道等渠道从MonoTouch团队和社区成员那里获得支持,讨论你的想法,或者只是潜水。社区是讨论MonoTouch相关问题的最好平台。而在IRC通道,则会发现从MonoTouch新手到Mono和MonoTouch创建者,他们每一个人都在为使开发人员的体验更好而努力工作着。
本书是如何组织的
  本书一共有12章来帮助你学习一切你需要知道的有关使用MonoTouch进行iOS开发的知识。
  第1章演示了如何搭建开发环境,以及在MonoDevelop中使用各种开发工具进行开发的一些基础知识。然后演示了一个简单应用程序的开发过程,随后讲解了其内部工作原理。该章还概述了在设备上部署应用程序的方法以及使用MonoTouch软调试器调试应用程序的方法。
  第2章介绍MonoTouch如何抽象化iOS SDK,以便使用C#开发本地类。首先概述了iOS SDK,并通过一个简单示例演示了Objective-C的开发过程,随后与相应的C#的开发过程进行了比较。通过这个示例,本章讲解了outlet的工作原理,对常用的iOS开发模式进行了比较,还演示了如何在C#中使用它们。最后概述了Objective-C的内存管理机制,并与MonoTouch的垃圾回收机制进行了比较,演示了如何在MonoTouch开发中注意这些问题以及何时在C#代码中考虑Objective-C模型。
  第3章介绍了使用模型-视图-控制(Model-View-Controller, MVC)设计模式搭建MonoTouch应用程序的过程,还介绍了UIView类和UIViewController类,并通过触碰支持和加速度计的示例演示了如何在代码和Interface Builder中使用它们。
  第4章介绍了如何使用iOS开发常用的几个基本类,还演示了如何使用iOS SDK封装多视图和控制器以帮助创建用户界面,以及几个抽象为不同功能的控制器,如地址簿、摄像头访问、发送电子邮件和播放iPod库中的音乐等功能。
  第5章介绍UITableView和UITableViewController,并演示了一些通常使用表格的常见场景。随后讲述和演示了使用UITableViewController的基本模式,并演示了几个自定义UITableView的方法,为应用程序在视觉和性能上提供丰富的体验。该章还介绍了UINavigationController,并演示了如何结合UITableViewController使用它。
  第6章讲述图形和动画子系统(核心图形(Core Graphics)和核心动画(Core Animation)),并分别讲解了如何在UIKit下使用它们以便在iOS中构建常见的基本动画。
  第7章介绍核心定位(Core Location)框架,并演示了如何通过蜂窝、Wi-Fi或GPS等技术直接使用它来获取定位数据。然后深入研究了一些新的定位技术,如显著位置变更和区域监测。
  第8章介绍MapKit框架,包括MKMapViewControl,并演示了如何在应用程序中创建交互式地图。还讲解了在MapKit中集成核心定位,以及如何添加标注和叠加地图来创建自定义的地图体验。
  第9章介绍几种在MonoTouch中可用的Web服务技术。讨论了如何在MonoTouch开发中使用基于SOAP的Web服务、REST服务,以及JSON、XML、RSS和WCF。除了.NET外,该章还演示了如何在MonoTouch中使用CocoaTouch的 HTTP协议。
  第10章演示了GameKit框架提供的基于蓝牙的服务发现和联网等网络功能,包括如何在设备之间创建语音通信。然后还演示了如何使用Bonjour直接发布和发现服务,使用了熟悉的.NET网络技术,如TcpClient。
  第11章演示了在使用MonoTouch时,几种在iOS中可用的数据存储技术,如SQLite的ADO.NET提供程序、.NET序列化和NSUserDefaults。还创建了在第12章中要用到的示例应用程序。
  第12章介绍了几种专门为iPad应用程序开发提供的类。继续完成第11章中的示例应用程序,演示了如何将一个iPhone应用程序转化为或扩展为一个既适用于iPhone和iPod Touch,又适用于iPad的通用应用程序。

上架指导

计算机\程序设计

封底文字

如果你是经验丰富的C#/.NET开发人员,有想过进军如火如荼的iPhone/iPad应用开发领域吗?现在,你不再需要学习Objective-C语言和苹果的开发工具,通过MonoTouch,就可以使用自己擅长的C#/.NET技术来开发iOS应用了。本书全面展示了MonoTouch的强大功能,以及如何快速地掌握、如何利用MonoTouch进行iOS应用开发。
本书是专门为有一定C#/.NET开发经验但毫无iOS开发经验的读者打造的,从最基础的MonoTouch开发环境的搭建、iOS SDK和MonoTouch之间的关联,到视图和视图控制器、iOS常用类、表格和导航、图形和动画、核心定位、MapKit、Web服务连接、网络功能、应用数据保存,再到iPad开发,几乎涵盖了一个C#/.NET开发者开发iOS应用需要掌握的所有知识。
本书主要内容:
(1)在C#中应用常用的iOS开发模式和技术。
(2)使用MonoTouch进行内存管理和垃圾回收。
(3)使用MVC设计模式构建MonoTouch的应用程序。
(4)主要iOS用户界面类的使用。
(5)地址簿、摄像头、电子邮件和iOS媒体等功能的使用。
(6)为丰富用户体验和实现最好的性能而自定义表格和导航。
(7)iOS核心图形和核心动画子系统的访问。
(8)使用核心定位和MapKit构建基于定位的iOS应用。
(9)通过MonoTouch连接Web服务。
(10)集成iOS和.NET的网络功能。
(11)使用ADO.NET的SQLite提供者、.NET序列化和NSUserDefaults来保存数据。

提别提示:所有示例代码可在github.com/mikebluestein处下载。

作者简介

(美)Michael Bluestein 著:暂无简介

译者简介

黄灯桥 黄浩宇 译:暂无简介

译者序

在iPhone和iPad风行世界的时候,基于App Store的整个生态链也就建立起来。如果持续关注每月的程序设计语言排名,就会发现Objective-C飙升得非常快。最新的排行数据显示,Objective-C已经超越C++,登上了第三名的位子。这说明越来越多的开发人员已投身于iPhone与iPad的应用程序开发当中了。Objective-C是否就是iPhone和iPad应用程序开发的唯一选择呢?
  对于Mono,在我的印象中一直是将C#移植于Linux平台。直到接触本书的时候,才知道原来Mono还有个MonoTouch项目,用于iPhone和iPad应用程序开发,这无疑是广大.NET平台开发爱好者的福音。对于已熟悉一种平台开发的开发人员来说,半道出家,去学习另一种平台的开发理念和开发语言,无疑是巨大的挑战,而且学习时间有限,项目不等人啊!因此能用最熟悉的开发方法,以最快的时间开发出产品去占有市场是最好的选择。而且,使用.NET进行开发,还可以实现部分代码的跨平台重用,这也是一举多得的好事。总而言之,MonoTouch是不错的选择,值得推荐!
  本书是一本不错的、针对初学者学习MonoTouch的书。全书以简单明了的示例,一步一步地讲述了MonoTouch的开发模式和一些常用控件及底层功能。我们的翻译过程,也是一个学习过程。通过翻译本书,基本掌握了使用MonoTouch开发iPhone和iPad应用程序的基本方法。这也大大增加了我们开发iPhone和iPad应用程序的兴趣。
  参加本书翻译的人员有黄灯桥和黄浩宇。因为都是第一次从事翻译工作,错误和纰漏在所难免,望大家见谅。

译者

图书目录

译者序

前言
第1章 Hello,MonoTouch / 1
1.1 搭建开发环境 / 2
1.1.1 安装iOS SDK和苹果开发工具 / 2
1.1.2 安装MonoTouch / 5
1.2 创建MonoTouch应用程序 / 9
1.2.1 创建用户界面 / 9
1.2.2 添加outlet / 10
1.3 在设备上进行开发 / 15
1.4 使用MonoTouch调试器 / 20
1.5 小结 / 21
第2章 iOS SDK与MonoTouch / 22
2.1 iOS SDK概述 / 23
2.2 通过示例将Object-C与MonoTouch进行对比 / 24
2.2.1 从Xcode开始编写应用程序 / 25
2.2.2 在MonoTouch中实现相同的功能 / 29
2.2.3 AppDelegate实现的比较 / 30
2.2.4 通过Xcode实现UIActionSheet / 33
2.2.5 在MonoTouch中实现UIActionSheet / 35
2.3 MonoTouch的工作原理 / 38
2.4 小结 / 41
第3章 视图和视图控制器 / 42
3.1 构建MonoTouch MVC应用程序 / 43
3.2 在IB中使用视图和控制器 / 44
3.3 为视图控制器及其视图添加功能 / 50
3.4 使用多个视图和控制器 / 53
3.5 实现自定义UIView / 57
3.6 小结 / 61
第4章 常用的iOS类 / 62
4.1 用户界面视图和控件 / 63
4.1.1 UISegmentedControl / 63
4.1.2 UISlider / 66
4.1.3 UISwitch / 68
4.1.4 UIPageControl和UIScrollView / 69
4.1.5 UIActivityIndicatorView / 71
4.1.6 UIProgressView / 73
4.1.7 UIImageView / 74
4.1.8 UIWebView / 75
4.1.9 ADBannerView / 77
4.2 设备功能 / 80
4.2.1 MFMailComposeViewController / 80
4.2.2 MPMediaPickerController和MPMusicPlayerController / 81
4.2.3 地址簿 / 84
4.2.4 UIImagePickerController / 87
4.3 小结 / 91
第5章 表格和导航 / 92
5.1 UITableView和UITableViewController的概述 / 93
5.1.1 表格有什么用 / 93
5.1.2 在UITableView中显示数据 / 94
5.1.3 UITableViewCell部件与样式 / 99
5.1.4 使用表格和导航 / 102
5.2 其他的UITableView自定义功能 / 115
5.2.1 自定义表格及其单元格 / 115
5.2.2 增加多个区域 / 119
5.2.3 MonoTouch.Dialog / 123
5.3 小结 / 124
第6章 图形和动画 / 125
6.1 核心图形 / 126
6.1.1 核心图形基础 / 126
6.1.2 绘制图像 / 131
6.1.3 绘制PDF / 134
6.2 动画 / 143
6.2.1 UIView动画 / 143
6.2.2 核心动画 / 147
6.3 小结 / 155
第7章 核心定位 / 156
7.1 核心定位概述 / 157
7.2 标准定位服务 / 158
7.3 检索方向变更 / 166
7.4 显著位置变更服务 / 168
7.5 区域监测 / 170
7.6 后台定位 / 172
7.7 小结 / 175
第8章 MapKit / 176
8.1 MapKit概述 / 177
8.2 添加标注 / 181
8.3 地图叠加 / 188
8.4 小结 / 193
第9章 连接Web服务 / 194
9.1 连接基于REST的Web服务 / 195
9.1.1 通过HTTP连接 / 195
9.1.2 解析XML结果 / 197
9.1.3 解析JSON结果 / 200
9.2 使用基于SOAP的Web服务 / 201
9.2.1 使用.NET 2.0客户端代理 / 201
9.2.2 MonoTouch下的WCF / 203
9.3 使用CocoaTouch的HTTP类 / 204
9.4 小结 / 206
第10章 联网 / 207
10.1 GameKit联网功能 / 208
10.1.1 GameKit联网核心类 / 208
10.1.2 使用GKPeerPickerController / 216
10.1.3 GameKit语音聊天 / 219
10.2 Bonjour / 223
10.3 小结 / 231
第11章 保存应用程序的数据 / 232
11.1 记事本示例应用程序 / 233
11.2 SQLite / 238
11.3 序列化 / 243
11.4 Settings Bundle和NSUserDefaults / 245
11.5 小结 / 252
第12章 iPad开发 / 253
12.1 移植到iPad / 254
12.1.1 在iPhone应用程序使用像素倍增技术 / 254
12.1.2 通用应用程序 / 255
12.2 基于iPad的设计 / 258
12.2.1 UISplitViewController / 258
12.2.2 UIPopoverController / 267
12.3 小结 / 270

教学资源推荐
作者: 哈罗德·阿贝尔森(Harold Abelson)[美] 杰拉尔德•杰伊·萨斯曼(Gerald Jay Sussman) 著朱莉·萨斯曼(Julie Sussman)
作者: Brian W.Kernighan,Rob Pike
作者: Keith D.Cooper, Linda Torczon
参考读物推荐
作者: 解承凯 编著
作者: [印度] 科斯?拉曼(Kirthi Raman)著
作者: 王鹏