前 言
首先感谢你购买本书作为提高iOS开发技能的学习教程。作为一名最前沿的程序开发者,我非常理解当需要深入学习一门技术却无从下手时的迷茫与急迫感。因此在编写本书时,我尤其注意将重点、难点及开发过程中极易被忽视却十分重要的点突出讲解,希望能够帮助你用最短的学习时间,得到最显著的提高。
阅读本书目录,你会发现,本书不是一本基础的iOS开发教程,如果你没有丝毫的iOS开发基础,那么本书对你来说可能会有难度而且不易理解,如果真是这样,我建议你先学习iOS基础开发知识,再来阅读本书,一定会受益匪浅。
学习一门编程语言、掌握一种程序开发技术会让你从中获得极大的乐趣。科技领域的高速发展使得企业和公司需要越来越多的编程技术人员,市场上的编程书籍琳琅满目,其中的大多数侧重于基础入门与应用实战,就iOS开发来说,如果你想深入地了解这门技术,那么本书是非常好的选择。
本书内容及体系结构
本书分为9章,内容规划如下。
第1章介绍开发一款高性能的iOS应用需要关注的性能指标,并介绍了如何使用工具来监测和优化应用程序的性能。之前你可能只是发现某个界面会卡顿,在学习本章内容后你将可以找到具体是由哪一行代码造成的卡顿。
第2章介绍iOS开发中的内存管理技术,如果你是iOS开发初学者,那么你可能从未关心过内存管理的问题,但是随着学习的深入,你需要清楚地了解内存管理的原理和需要注意的事项。在混合开发、底层框架开发中,内存管理更是重中之重。要成为一名卓越的iOS开发工程师,这是你必须迈出的一步。
第3章介绍网络技术在iOS开发中的应用,并提供一些思路来解决网络卡顿问题,提升用户体验。还会介绍一些常用的辅助工具,帮助你对网络进行检查,对当前网络状态进行快照或模拟操作。
第4章介绍应用程序的启动流程及与启动流程相关的一些技术点,如推送的应用、高级的VoIP推送和网络电话功能的应用。
第5章深入介绍iOS视图与动画的相关内容,重点介绍UITableView组件的优化方法与思路,完整介绍动画技术在iOS开发中的应用。
第6章系统地介绍iOS多线程开发技术的应用,包括NSThread、NSOperation及高级的GCD相关用法。
第7章介绍动态特性与运行时,这部分内容也是iOS程序开发的高级技巧,在很多情况下你可能都不需要使用到这些技术,但是学习它们可以帮助你更好地理解程序的运行原理,也可以帮助你一眼看出一些奇怪问题出现的核心原因。
第8章介绍JavaScript技术在iOS开发中的应用,主要介绍Native与WebView的交互方式以及高级的JavaScript线程应用。在学习本章之后,你就能够很轻松地理解Hybird App混合开发的原理。
第9章是本书的扩展章节,主要介绍App Extension的相关应用及数据交互的方法,灵活地使用App Extension可以为你的应用程序添加有趣而实用的新功能。
希望本书可以帮助你达成自己的学习目标,下面的博客是我几年来的编程生活积累的一些财富,里面有关于iOS开发、Android开发、前/后端开发以及编程语言相关的400余篇博客,如果需要,你可以挑选自己感兴趣的内容阅读:
https://my.oschina.net/u/2340880
你也可以在下面的网站找到我的一些教学资源:
https://edu.csdn.net/lecturer/course_list
我是一名知识传播者,也是学习者,如果你在学习的过程中,遇到任何问题或者发现了本书的遗漏或错误之处,可以与我联系,我的QQ号码是:316045346。当然,在出版前,我和编辑以及所有校验和整理本书的老师都付出了很多汗水,尽量保证让它尽善尽美地呈现在你的面前。
最后,感谢编辑在本书编写过程中提出的宝贵意见和在修订过程中的辛苦工作,感谢吕远、练向、帅坤、东科以及其他同学和同事在生活和工作中给我的帮助和启发,大家经常性的技术讨论使我受益颇多。感谢其他所有为本书出版付出汗水的人们。如果本书可以给你带来提高与帮助,那么这一切都是值得的。
本书读者对象
在职的iOS开发工程师
编程爱好者
iOS开发初学者
关注iOS项目优化的工程师
需要深入学习iOS程序工作原理的工程师