智捷课堂

查看: 623|回复: 0

前言

[复制链接]

132

主题

222

帖子

1330

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1330
发表于 2017-3-30 10:54:00 | 显示全部楼层 |阅读模式

前  言

北京时间2016年10月13日凌晨,苹果公司正式推出了iOS 10系统。此次,Swift 3.0也正式推出,Swift经过两年的发展已经非常健壮了,很多项目也转而使用Swift语言开发,但是很多老项目还使用Objective-C语言开发。在这个大背景下,我们原来编写的《iOS开发指南:从零基础到App Store上架》得到了广大读者的认可,很多读者希望我们将其升级为iOS 10版本,并且能够使用Swift和Objective-C两种语言进行讲解,并比较它们的不同之处。几个月过去了,我们终于在2016年年底将书稿提交给出版社。
内容和组织结构
本书是我们团队编写的iOS系列丛书中的一本,目的是使有Swift或Objective-C基础的程序员通过学习本书,从零基础学习如何在App Store上发布一款应用。全书共5部分。
第一部分为基础篇,共13章内容,介绍了iOS的一些基础知识。
第1章介绍了iOS的开发背景以及本书约定。
第2章使用故事板技术创建了HelloWorld,同时讨论了iOS工程模板、应用的运行机制和生命周期、视图的生命周期等,最后介绍了如何使用API帮助文档和官方案例。
第3章重点介绍了Cocoa Touch框架中构建界面的相关类,重点介绍了构建界面的三种技术:故事板、XIB和纯代码。
第4章重点介绍了标签、按钮、文本框、文本视图、开关、滑块、分段控件、网页控件、活动指示器、进度条、警告框、操作表、工具栏、导航栏等基本控件,而且每个示例都采用故事板和纯代码两种方式实现。
第5章首先介绍了数据源协议和委托协议,然后介绍了高级视图:选择器和集合视图。
第6章探讨了表视图的组成、表视图类的构成和表视图的分类,使我们对表视图有了一个整体上的认识。接下来,介绍了如何实现简单表视图和分节表视图,以及表视图中索引、搜索栏和分组的使用,然后学习了如何对表视图单元格进行删除、插入、移动等操作,最后介绍了表视图UI设计模式方面的内容。
第7章讲述了界面布局,其中介绍了iOS应用布局模式,并比较了传统界面布局和Auto Layout布局技术的区别。此外,还介绍了静态表布局和堆视图StackView等布局相关的内容。
第8章介绍了iOS多分辨率屏幕适配方法,其中主要介绍了Size Class技术。
第9章讨论了如何判断应用是否需要一个导航功能,并且知道在什么情况下选择平铺导航、标签导航、树形结构导航,或者同时综合使用这3种导航模式。
第10章首先介绍了iPhone和iPad设备使用场景上的差异,然后介绍了iPad树形结构导航、iPad模态视图和Popover视图,最后介绍了iOS分屏多任务。
第11章介绍了iOS设备手势识别,这些手势包括了:Tap(点击)、Long Press(长按)、Pan(拖动)、Swipe(滑动)、Rotation(旋转)、Pinch(手指的合拢和张开)和Screen Edge Pan(屏幕边缘平移)。
第12章主要介绍Quartz2D绘图技术,其中包括UIKit绘图技术、绘制视图的路径、绘制图像和文本、坐标、Quartz坐标和坐标变换。
第13章介绍了iOS动画技术,其中包括了视图动画和Core Animation框架等。
第二部分为数据与网络通信篇,共3章,介绍了iOS本地数据持久化、数据交换、以及如何进行网络通信,实现数据传输。
第14章讨论了iOS本地数据持久化的问题。首先分析了数据存取的几种方式以及每种数据存取方式适合什么样的场景,然后分别举例介绍了每种存取方式的实现。
第15章重点介绍了数据交换格式,其中XML和JSON是主要的方式。
第16章介绍了Web Service,并重点讨论了REST风格Web Service,其中具体访问Web Service的API包括:NSURLSession、AFNetworking框架和Alamofire框架。
第三部分为进阶篇,共5章,介绍了iOS的一些高级知识。
第17章讨论了iOS中的定位服务技术,包括地理信息编码和反编码查询。此外,还介绍了苹果的微定位技术iBeacon。
第18章讨论了iOS苹果地图的使用,包括显示地图、添加标注以及跟踪用户位置变化等。最后,我们介绍了程序外地图的使用。
第19章首先介绍了如何在iOS中访问通讯录框架——Contacts框架,然后介绍了如何使用Contacts框架访问联系人信息、写入联系人信息等。最后,还介绍了如何使用ContactsUI框架提供系统界面实现选择联系人、显示和修改联系人以及创建联系人的操作。
第20章讨论了iOS 10应用扩展,首先介绍了应用扩展的概念,然后介绍了Today扩展、开发表情包和Message框架。
第21章介绍了iOS 10用户通知,其中首先介绍了用户通知的概念,接着介绍了如何开发本地通知和推送通知。
第四部分为测试、调试和优化篇,共4章,介绍了iOS高级内容,包括测试、调试和优化等相关知识。
第22章首先介绍了iOS中都有哪些调试工具并重点介绍了几个常用的工具,具体包括日志与断言的输出、异常栈报告分析,接下来讲解了如何在设备上调试应用,最后分析了Xcode设备管理工具的使用。
第23章讨论了测试驱动的iOS开发,学习了测试驱动开发流程,单元测试框架XCTest,以及如何基于分层架构进行单元测试。
第24章介绍了UI测试框架。在这一章最后,我们还介绍了基于分层架构进行UI测试。
第25章分析了iOS中的性能优化方法,其中包括内存优化、资源文件优化、延迟加载、持久化优化、使用可重用对象、并发处理与多核CPU等。
第五部分为实战篇,共4章,介绍了iOS项目开发过程中相关的技术,包括:代码版本管理、项目依赖管理,以及AppStore发布流程,最后还从无到有地介绍了一个真实的iOS应用:MyNotes应用和2020东京奥运会应用。
第26章介绍了如何使用Git进行代码版本控制,其中包括Git服务器的搭建、Git常用命令和协同开发。此外,还介绍了在Xcode中如何配置和使用Git工具。
第27章讨论了iOS和macOS项目依赖管理工具,其中包括:CocoaPods和Carthage。
第28章探讨了如何在App Store上发布应用,介绍了应用的发布流程以及应用审核不通过的一些常见原因。
第29章介绍了完整的iOS应用分析设计、编程、测试和发布过程,其中采用了敏捷开发方法。此外,该项目采用分层架构设计,这对于学习iOS架构是非常重要的。
书中并没有包括多媒体等知识,我们会在另外一本iOS开发书中介绍,具体进展请读者关注智捷iOS课堂官方网站http://www.51work6.com
本书服务网址
为了更好地为广大读者提供服务,我们专门为本书建立了一个服务网址www.51work6.com/book/ios15.php,大家可以查看相关出版进度,对书中内容发表评论,并提出宝贵意见。
源代码
书中包括了100多个完整的案例项目源代码,大家可以到本书网站www.51work6.com/book/ios15.php下载或者到图灵社区本书主页(www.ituring.com.cn/book/1932)免费注册下载。
免费相关视频
为了能够使广大读者快速学习本书,我们智捷课堂给广大读者提供了本书相关的免费视频,这些视频课程包括:从零开始学Swift、从零开始学Objective-C视频,以及部分iOS相关视频。读者凭书中夹带的书签下方优惠码,就可以购买价值50元内视频课程。具体使用说明:首先在智捷课堂视频平台(www.zhijieketang.com)注册并登录,然后找到相应课程,接着选择页面中的“购买课程”→“去支付”→“输入优惠码”→“使用”即可。
勘误与支持
我们在网站www.51work6.com/book/ios15.php中建立了一个勘误专区,可以及时地把书中的问题、失误和纠正反馈给广大读者。如果你发现了任何问题,均可以在网上留言,也可以发送电子邮件到eorient@sina.com,我们会在第一时间回复你。此外,你也可以通过新浪微博与我们联系,我的微博为@tony_关东升 。
致谢
在此感谢图灵的王军花编辑给我们提供的宝贵意见,感谢智捷iOS课堂团队的赵志荣参与内容讨论和审核,感谢赵大羽老师手绘了书中全部草图,并从专业的角度修改书中图片,力求更加真实完美地奉献给广大读者。此外,还要感谢我的家人容忍我的忙碌,以及对我的关心和照顾,使我能抽出这么多时间,投入全部精力专心编写本书。
由于时间仓促,书中难免存在不妥之处,请读者原谅。
关东升
2016年11月于北京

file:////Users/zzr/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image002.gif

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|智捷社区 ( 京ICP备09013343号-1

GMT+8, 2017-7-23 16:50 , Processed in 0.071042 second(s), 26 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表