新書推薦:
《
人世事,几完缺 —— 啊,晚明
》
售價:HK$
115.6
《
樊树志作品:重写明晚史系列(全6册 崇祯传+江南市镇的早期城市化+明史十二讲+图文中国史+万历传+国史十六讲修订版)
》
售價:HK$
498.0
《
真谛全集(共6册)
》
售價:HK$
1156.4
《
敦煌通史:魏晋北朝卷
》
售價:HK$
162.3
《
唯美手编16:知性优雅的编织
》
售價:HK$
54.9
《
情绪的惊人力量:跟随内心的指引,掌控情绪,做心想事成的自己
》
售價:HK$
50.4
《
棉的全球史(历史·文化经典译丛)
》
售價:HK$
109.8
《
超越百岁看这本就够了
》
售價:HK$
55.8
|
編輯推薦: |
·内容全面,系统讲解开发企业级iOS应用所需掌握的各项核心技术,以及各种工具和框架的用法,包含大量技巧和最佳实践
·实战性强,不仅为各个知识点精心设计了能辅助读者理解的小案例,而且还有能指导读者完整实践的大案例,具备极强的可操作性
|
內容簡介: |
本书内容全面,它不仅详细讲解了开发企业级iOS应用所需掌握的各项核心技术,以及各种工具和框架的用法,而且还系统讲解了企业级iOS应用开发的流程和方法;实战性强,不仅为各个知识点精心设计了能辅助读者理解的小案例,而且还有能指导读者进行完整实践的大案例,具备极强的可操作性。除此之外,本书还包含大量的开发技巧和最佳实践。本书分为三部分:基础篇(1~6章),首先介绍了传统企业级应用与iOS企业级应用的区别、iOS企业级应用程序的架构以及发布方法,然后详细讲解了iOS的开发框架、Objective-C语法的核心要素、Xcode集成开发环境、Interface
Builder和高级图形界面;核心技术篇(7~17章),系统深入地讲解了网络、XML和JSON、用户数据保存、安全、多媒体、绘图、动画、多点触摸和手势、GPS、重力感应、本地化、多线程、并行编程、通知、通讯簿等与企业级应用相关的核心技术特性,同时也讲解了开源框架CorePlot;实战篇(18~19章)以迭代的方式讲解了两个综合案例的完整实现过程,既融合了前面的理论知识,又展现了企业级iOS应用开发的流程和方法。
|
關於作者: |
杨宏焱,资深企业应用开发程序员,有多年 J2EE 开发经验,就职于某大型国有 IT
企业,负责南方电网多个企业信息化项目,其中多个项目拥有国家版权局的计算机软件著作权登记。目前专注于 iPhone 和 Android
平台下的移动应用开发。
|
目錄:
|
前言
基础篇
第1章 企业应用的话题
1.1 什么是企业应用
1.2 iOS企业应用程序的架构
1.3 iOS企业应用程序的发布
第2章 iOS开发框架简介
2.1 苹果iOS 简介
2.2 iOS框架介绍
2.3 Cocoa Touch 框架简介
2.4 搭建iOS开发环境
2.5 写一个iPhone程序
2.6 在模拟器上运行应用程序
2.7 在 iPhone 上运行应用程序
第3章 Objective-C 语法简介
3.1 Objective-C的C语言特性
3.2 面向对象的C
3.3 MVC模式
3.4 KVO模型
3.5 块编程
3.6 可变参数
3.7 本章小结
第4章 Xcode集成开发环境
4.1 创建第一个Xcode应用程序
4.2 构成应用程序的那些东西
4.3 了解Xcode为我们做了些什么
4.4 在Xcode中添加View Controller
4.5 在Xcode中添加框架
4.6 Xcode 使用技巧
4.7 本章小结
第5章 Interface Builder
5.1 IB和xib、nib文件
5.2 初识IB
5.3 使用IB创建图形界面
5.4 连接
5.5 本章小结
第6章 高级图形界面
6.1 应用程序多视图的导航
6.2 表视图UITableViewController的应用及其扩展
6.3 扩展UIKit
6.4 翻页控件和翻页控制器
6.5 本章小结
企业应用篇
第7章 网络
7.1 使用NSURLConnection获得网络数据
7.2 使用NSOperation进行异步请求
7.3 与网络相关的示例
7.4 ASIHTTPRequest框架介绍
7.5 编写自己的网络模块类
7.6 本章小结
第8章 XML和Json
8.1 Cocoa与XML解析
8.2 TBXML
8.3 libxml
8.4 GDataXML
8.5 Json和SBJson
8.6 本章小结
第9章 保存用户数据
9.1 文件的持久化
9.2 数据库
9.3 本章小结
第10章 安全
10.1 iOS安全框架简介
10.2 使用SSL和服务器通信
10.3 OpenSSL
10.4 CommonCrypto
10.5 本章小结
第11章 多媒体、绘图及动画
11.1 播放视频
11.2 播放音频
11.3 Quartz 2D
11.4 Core Animation
11.5 本章小结
第12章 多点触摸及手势
12.1 手势识别器:UIGestureRecognizer 类
12.2 创建手势识别器
12.3 实现图片的拖动及缩放
12.4 本章小结
第13章 本地化
13.1 iPhone的本地化支持
13.2 本地化应用程序
13.3 示例
13.4 本章小结
第14章 iOS多线程和并行编程
14.1 多线程
14.2 并行编程
14.3 后台任务
14.4 本章小结
第15章 通知、本地通知和远程通知
15.1 通知
15.2 本地通知
15.3 远程通知
15.4 本章小结
第16章 开源框架Core Plot
16.1 编译Core Plot框架
16.2 使用Core Plot SDK
16.3 安装Core Plot帮助文档
16.4 图表的构成
16.5 类图
16.6 使用 Core Plot 绘制折线图
16.7 使用Core Plot绘制柱状图
16.8 使用Core Plot绘制饼图
16.9 自定义Core Plot主题
16.10 本章小结
第17章 通讯簿、GPS和重力感应
17.1 通讯簿
17.2 GPS 和CoreLocation
17.3 重力感应
17.4 地理编码
17.5 本章小结
实战篇
第18章 企业APN
18.1 企业APN的建设
18.2 iPhone 与APN
18.3 配置描述文件
18.4 在iPhone上实现一个HTTP服务器
18.5 后台任务与无限后台任务
18.6 实现APN 切换
18.7 检测网络状况
18.8 Safari阻塞
18.9 本章小结
第19章 iOS企业应用实战
19.1 应用场景与功能概述
19.2 应用程序架构
19.3 服务器端
19.4 iPhone 客户端
19.5 本章小结
|
內容試閱:
|
为什么写这本书
随着我国3G网络和移动互联网的兴起,许多传统的企业应用正在从桌面向移动终端扩展,移动办公、移动营销、移动作业等需求日渐强烈。
有迹象表明,传统的互联网正在向移动互联网发展。根据摩根士丹利发布的全球互联网发展趋势报告(Mary Meeker
2010)显示:全球互联网发展趋势正在由PC-Internet向Mobile-Internet转变,手机在某种意义上已经主导着互联网的发展,新兴的下一代互联网,即Mobile
2.0正在崛起,这完全得益于移动通信技术的迅猛发展。这不仅仅是一场由最新数码科技与网络技术导致的变革,还是传统企业应用从Internet向移动互联网转移的前提和诱因。
与PC相比,移动终端的这种全新用户体验是不可替代的,在一定程度上吸引了人们从桌面向移动终端的转移。而且,移动互联网也凭借着其出色的业务吸引力和资费吸引力,成为人们生活中不可或缺的一部分。
然而,机遇与挑战并存。对于企业而言,能否将自己的企业应用向移动互联网扩展,仍然存在着巨大的风险。诸如:用户体验改变、企业信息安全和企业机密泄露、移动应用开发中存在的技术风险等。
以苹果iOS为代表的移动应用开发正方兴未艾。iPhone和iPad正式进入中国的时间其实还不到3年(iPhone于2010年7月正式在中国香港上市),国内开发者在苹果商店上淘金的时间比这要早些,但绝对不会超过4年。实际上,App
Store 拥有的历史还不到5年(App Store正式上线时间是2008年7月11日)。所以说,iPhone
应用开发仍然有着无限的潜力,称为“历史”恐怕为时尚早。因此,作者选择了以iOS为目标平台的企业移动应用开发作为本书讲述的主题。
作者于2009年起开始接触iOS开发。对于一个多年奋战在企业应用开发第一线的开发人员来说,iOS企业开发是一个全新的领域。完全陌生的Mac
OS X操作系统,别扭的Xcode IDE和Interface
Builder,古怪的iOS……由于不知道什么是开发证书和代码签名,甚至在第一次调试我的3.5英寸屏幕的iTouch时,都是充满了坎坷。
当我历尽千辛万苦,终于逐渐步入iOS开发这座大门。然而,却又面临新的问题:“企业应用是否能向iOS平台进行迁移?”
从我第一天接到任务起,这样的怀疑就在我心中存在。iOS实在是太封闭了,相对于Android这样的开放平台,iOS
平台对企业开发人员的限制实在是太多。而且,App商店始终只是游戏开发者的天堂,90%以上的个人开发者把自己的目光盯在了游戏、娱乐等个人应用领域,企业应用根本无法登上App商店的大雅之堂。原因也很好理解,企业应用不会为苹果公司带来可观的利润分成,App商店的盈利模式是基于应用下载量的。一个企业应用会有多少用户?几百万?几千万?不,大多数企业应用的用户量不会超过5位数。没有庞大的用户群,就不会给App商店带来丰厚的利润分成。实际上,我第一次向App商店提交一个企业应用时,被无情地拒绝了。苹果公司给的理由很直白:“你的应用只针对有限的用户群”,换句话说“苹果将无利可图”。
幸好苹果公司提供了“企业开发程序”(企业版IDP),虽然购买“企业开发程序”需要299美金一年,但对于一个真正决心将企业应用向iOS
移动终端扩展的企业来说,还是负担得起的。“企业开发程序”不需要苹果公司审核,使用“企业开发程序”部署应用不需要经过App商店,企业可以任意分发给自己的用户,苹果公司也不会找你要一分钱。
可以预料,在将来一段时间内,国内的iOS个人应用开发者将不断向企业开发领域转移。实际上,苹果商店中个人应用的数量已经饱和,开发者的生存空间将逐渐变得狭小。大量的同质竞争直接导致了App商店的生态环境恶化,同类应用竞争激烈。为了保持
App
商店的竞争力和盈利模式不趋于低质化,苹果公司今后对商店应用的审核将越来越趋于严格,开发者想在商店中获利和生存的难度将越来越高。国内的公司及个人开发者会逐渐将目光转移到位于App商店生态圈之外的企业应用,iOS企业应用将成为今后新的利润增长点。
最近,企业移动应用开发出现了一些新的趋势。最新的企业移动应用,有从 Native App(即本地代码)向云发展的趋势,比如
HTML5、虚拟桌面。HTML 5
充分利用移动终端的浏览器(如Safari或IE)和网络连接能力,来访问企业服务,并实现“一次开发,跨平台共享”的目的。而虚拟桌面则利用“数据中心”进行桌面的扩展,将客户端的数据、资源和图像放到了“云”上,iOS
客户端则通过网络访问个人桌面。虚拟桌面一般作为企业的“云计算”解决方案进行实施,市场上比较成熟的产品主要来自VMWare、Citrix、Microsoft和Oracle等几大厂商,它跟开发人员没有太大的关系。还有一种趋势就是“服务器配置+中间代码+本地代码”。开发人员在服务器上以配置的方式产生出中间代码,然后服务器将中间代码编译为多个平台的本地代码(iOS、Android、Sybian、Windows),然后分别部署,以此实现跨平台的目的。
这些趋势的出现,从一定程度上试图解决当前本地代码开发(iOS开发、Android开发)的弊端,但效果还难以令人满意,比如都有性能下降、用户体验差、网络带宽占用大等缺点。因此,就目前来说,移动应用开发仍然是以本书介绍的本地代码开发为主流。
本书特色
本书是作者多年开发经验的总结,很多内容来自作者在CSDN上的博客,书中不少内容是经验之谈。本书根据iOS操作系统更新频繁的实际情况,针对新的SDK版本进行了内容上的调整(本书内容适用于SDK
4.0~5.0,本书所有代码在Xcode4.3下编译通过)。在介绍每一种SDK框架的同时,注重扩展,在继承的基础上进行创新,而不是一味复制、粘贴代码。
本书具有如下特点:
*
主题明确,以“iOS”和“企业开发”为主题,但并没有将二者割裂开来,而是将二者紧密联系、互相呼应。首先由浅入深介绍了整个SDK框架层次,包括Objective-C语言简介、SDK的构成、Foundation框架、UIKit框架、QuartzCore、CoreAnimation以及其他第三方扩展框架,然后对在企业应用中一些需要特别讨论的方面(如安全、网络、APN、多线程等内容)进行专门的论述。撇开企业开发的特色不谈,本书也完全可以作为一本iOS开发的经典教材。
*
理论和技术兼顾。许多iOS开发书籍,轻理论,重技术,往往只告诉你怎么做,而不告诉你为什么要这样做,难以让读者在理解的基础上加深记忆。而本书以理论为纲,以技术为体,从基本理论到具体使用的技术都一一道来,不仅告诉你怎么做,而且将每一种技术的来龙去脉阐述清楚。在讲解具体技术的同时,不时穿插着小的知识点,让读者进一步拓宽相关的背景知识。
*
详细分析代码,实用性强。作为编程类书籍,免不了有大量的代码。但本书对多数代码都进行了阐释,重点内容还会有专门的标注,如“提示”、“注意”等,以提醒读者注意,或者及时回顾前面的知识点。本书中的每一个示例程序,都收录到本书的随书光盘中。所有的程序都经过作者认真调试,可以直接运行。
合适阅读本书的人
本书适用于以下读者:
* 从未接触过Objective-C、从其他语言转向iOS开发、有一定面向对象编程基础的程序员。
* 正准备转向企业移动应用开发的 iOS 应用程序开发人员 。
如何阅读本书
这是一本讲述iOS和企业应用开发相结合的书,介绍如何在iOS上进行企业应用的开发及分发、部署。本书从一个企业应用开发者的角度出发,以实现企业移动办公和3G应用为宗旨,介绍如何充分发挥苹果新一代操作系统iOS的优势和iPhone手机的软、硬件特性将企业应用扩展到iOS平台。在最后一章以step
by
step的形式介绍了一个实战项目,以达到理论与实践结合的目的。本书也对苹果Cocoa框架和其他第三方开源框架进行了深入介绍。
针对本书面对的两种主要读者,我们建议如下:
对于本书第一类读者,即“从未接触过Objective-C、从其他语言转向iOS开发、有一定面向对象编程基础的程序员”,本书提供了一个快捷的Objective
-C语言入门,以及一个简单易读而又务实详尽的iOS SDK入门教程;本书的全部章节都将有助于读者尽快对Objective -C及iOS
SDK有一个全面的了解,并迅速跨入iOS开发的大门。
对于本书第二类读者,即“正准备转向企业移动应用开发的 iOS
应用程序开发人员”,可以省略阅读本书部分章节,例如第2、3、4、5、6各章,但本书其他一些章节具备了良好的参考价值,例如:第10章以后的各章,在这些章节中,有部分内容是其他参考书中难以见到的,可以有选择地阅读相应章节。
本书共分19章,主要内容如下:
基础篇
第1章介绍了企业应用的概念,什么是iOS企业应用,iOS企业应用的框架及构成,特别是对于苹果iOS企业证书申请和iOS企业应用程序的部署方式(In-House、Ad-Hoc、OTA进行了详细的介绍。
第2章介绍iOS SDK,包括其框架和构成。iOS
SDK是iOS开发中最为重要的工具和武器,每个iOS开发人员都必须熟悉并深刻理解它。
第3章介绍iOS开发语言Objective-C。对于没有接触过这种语言的读者,将在本章对Objective-C有一个全面的理解。本章从两个方面对Objective-C进行了介绍,即Objective-C的C语言特性和面向对象特性。也对Objective-C的一些现代语言特性,如块编程(函数式编程中的主要内容)、反射(运行时支持)和可变参数也进行了介绍,这些内容在其他书籍中是比较罕见的。
第4章介绍Xcode IDE。从Xcode 4.0开始,苹果对其功能和界面进行了全新的设计,把Interface
Builder完全整合到Xcode中,使程序员的开发效率更高。
第5章单独对Xcode中的Interface Builder 进行了进一步介绍,特别是Assistant
Editor的出现,与之前的版本相比,大大简化了开发人员进行各种连接(IBOutlet和IBAction)的操作。
第6章介绍UIKit以及UIKit中包含的一系列最基本的UI组件,此外,介绍了如何在UIKit的基础上进行扩充,创建自己的自定义组件库。
企业应用篇
第7章到第10章,依次从网络、XMLJson、数据存储、安全这几个方面进行介绍。这些内容中,有相当一部分是企业开发人员早已熟知的领域(如网络、XMLJson、数据存储和安全)。这些章节结合iOS自身的特点进行详细的阐述,包含安全沙箱、嵌入式数据库以及iOS安全框架等内容。
第11章介绍Cocoa的多媒体、Quartz 2D和Core Animation框架。
第12章介绍Cocoa Touch 特有的多点触摸和手势识别。
第13章介绍如何利用iPhone的多语言支持实现应用程序的国际化。
第14章涉及两个方面:传统的线程编程和并行编程GCD(Grand Central
Dispatch)。在企业应用中,免不了要使用多线程。前者是传统的异步编程技术,直接与操作系统底层的线程打交道;后者是iOS
4.0以后新的异步编程技术,以一种函数式编程的方式,达到让系统自动进行线程管理的目的,从而避开了线程编程的复杂性。
第15章介绍通知、本地通知和远程通知。通知是多个对象间进行对话的机制,但耦合性低于直接的方法调用。本地通知和远程通知是两种不同的进程唤醒技术,前者由系统来唤醒,后者通过RPC(Remote
Process Calling)唤醒。
第16章介绍开源框架Core Plot。Core Plot是著名的2D图形框架,用于绘制散点图、柱状图和饼图等图表。
第17章针对iOS特有的硬件特性进行介绍,如通讯簿、相机、加速计和GPS。
实战篇
第18章,介绍“企业APN”在企业中的应用,以及使用“企业APN”网络对iOS客户端的一些特殊要求。该章实际上包含了一个实战项目,即一个简单的APN切换工具(同时也提供了简单的网络状态检测)。在这个实战项目中,涉及了广泛的内容和前面诸多章节中介绍的知识,诸如后台任务、配置描述文件、BSD
Socket编程、网络检测、Safari阻塞和并行编程GCD。
第19章以案例导航的方式介绍了一个实战项目,指导读者从用户的实际需求出发,结合本书中讲述过的理论知识和技术,开发一个完整的iOS邮件客户端,使读者对企业应用的开发有直观的认识。
结语
本书从开始选题、写作至最终定稿,总共花费了作者14个月以来所有的业余时间。在本书写作的过程中,得到了许多人的无私帮助和大力支持。
首先要感谢的是吴怡编辑。她负责本书所有文字内容、图片及格式,她总是不厌其烦地向作者指出本书中的每一处错误。直至最终定稿前,她仍然和作者对书中的内容进行讨论,甚至是逐字逐句地讨论,以使本书不至于出现太多谬误或引发读者产生歧义。
其次要感谢我的同事们。在他们身上,我学习到了许多。我在工作中取得的每一点进步,都离不开他们的支持和指导,他们敬业的态度和对我的无私帮助,是本书得以成书的动力。
还要感谢我的家人。本书是在他们的关怀和支持下才得以面世的,尤其是我的妻子,因为她的理解和默默奉献,使作者从家庭琐事中解脱出来,全身心投入本书的写作当中。
我要感谢始终关注作者博客、不断给作者以鼓励的网友们。虽然直至本书出书之时,我都向他们隐瞒了本书的消息,但他们留下的只言片语,仍然激励着我在知识的海洋中不断前行、探索和攀登。
最后,感谢所有在本书写作过程中,给本书以参考的文献作者和论坛作者。本书参考了大量文献,尤其是苹果文档参考库、苹果开发者论坛和stackoverflow.com,它们对本书的写作起到了重要的作用。
由于作者的时间、精力及自身水平有限,书中错误在所难免,欢迎广大读者一一指正。作者的联系方式如下:
博客:blog.csdn.netkmyhy
邮箱:kmyhy@126.com。
|
|