首页 > 图书中心 >图书详情

iOS开发快速进阶与实战

饿了么iOS高级研发工程师的项目实战经验分享,含面试知识点解析

作者:黄新宇
定价:49
印次:1-2
ISBN:9787302503859
出版日期:2018.08.01
印刷日期:2018.10.25

《iOS开发快速进阶与实战》偏向于iOS应用的实际开发,介绍了iOS开发过程中的技术实现方案和原理,包含基本知识、底层常用技术原理、开发技巧,以及技能扩展等书各方面,其中大部分章节以实际项目开发中常见的问题为背景,内容阐述方式包括介绍原理、对比技术方案、实际应用、引导读者思维等,并在每一章最后部分归纳总结本章的重点内容。 本书既可以作为高等学校计算机软件技术课程的教材,也可以作为企业iOS开发人员的技术参考书。

more >

前言 成书背景 移动互联网经过近几年的快速发展,已日趋成熟稳定,在极大方便人们生活的同时,也正在悄悄改变人们的生活方式。互联网现已从PC端逐步划分出移动端的大群体,手机也不仅局限于其传统打电话发短信等基本功能,高速上网更满足当代人的生活需求。由上网衍生出来的手机功能包括即时通信、新闻资讯、视听娱乐、游戏、支付转账、生活工具等,这些都是移动互联网的代表领域,其中不乏有很多知名的应用为大众所知。 智能手机的发展也一直在接受移动互联网发展的检验,从发展之初的Windows Mobile(Windows Phone前身),到塞班、黑莓,再到现在的iOS、安卓、Windows Phone,智能手机在发展之初无时无刻不经历着大风大浪,或许今年还是非常受欢迎的操作系统,明年市场份额就所剩无几。就目前而言,移动端操作系统主要分为iOS和安卓,这两者现今几乎占据了全部智能手机的市场份额,移动应用大部分只会考虑这两个方向。 iPhone自问世之初,一直以惊艳闻名,在随后智能手机发展的过程中,也一直引领设计和硬件功能的创新,不仅于此,iPhone的用户体验和操作系统的流畅度一直是被用户喜爱的主要原因。 开发iPhone应用称为iOS开发,不是对其操作系统的开发,而是开发基于iOS系统运行的应用程序。对于iOS开发,有ObjectiveC和Swift两种语言,但仅仅是在语法和编程方式上有较明显的差异,其主要实现方式往往没有太大的区别。 关于本书 本书是按照章节进行大致划分,内容之间没有依赖顺序关系,每一节的知识点都是相互独立的,读者可以根据自身情况进行选读和跳读。 本书内容主要包括三个方面: 一是以开发中遇到的实际问题为例,列出的场景都是实际开发中常见的开发任务,在这些章节内容主要以实践为主,并附上了详尽的代码实现过程; 第二个是偏向理论的内容,主要以面试题为基础进行深入的分析,旨在让读者不再死记硬背面试题,而是根据内容去理解这些理论的原理或实现过程; 最后一个是技能进阶,针对问题的实现方式从不同角度给出实现方案,最后通过理论比较得出最优解,或者对于某些问题提供比较巧妙的解决办法,开拓读者的思考方式。 笔者自iOS 6开始接触,虽然算不上是最早的一批开发者,却也总结了一些个人开发经验。 本书内容是笔者自从事iOS开发以来的所有总结的整理。书中的内容主要以理论和实践为主,从提出问题到分析问题,再到解决问题,包括部分章节内容以使用场景带入,都是实际开发中所经常遇到的问题。整部书从准备到写成,持续了有近一年的时间,其实时间还是蛮紧张的。大部分的章节内容,从提出,到叙述,到举例,到论证,最后到总结是一个严谨的流程,不同于写个人博客。 书籍和博客虽然是优秀的知识传播媒介,但不足之处在于阅读时不一定能够理解作者真正想表达的意思,特别是对于技术开发这种实践性较强的情况。本书的内容花了很大的篇幅讲述了理论性的知识,示例代码作为其辅助说明的手段。或许读者能够在阅读时产生共鸣,因为可能遇到过相同的问题或者对于问题有相同的理解,但笔者建议读者能够更多地将章节内容以实践运用的方式来加深自我理解。另外,本书中的内容都是以知识点的形式,相对独立化,而在实际开发中又是另一回事,例如,需要考虑代码复用性,以及编程思想的运用,这些都需要读者对其熟练地使用,而不仅仅是了解。 基本上所有的开发者都有学习过其他开发者优秀的代码或文章,提升自我能力的前提是站在巨人的肩膀上,可以使自己少走很多弯路,同时也飞速提升了自我实力。因此笔者也希望能够以这本书给读者带来一些真正意义上的帮助。 本书中的示例代码都是在Xcode 8.x下运行,书中的示例代码仅考虑iOS 8以上,语言以ObjectiveC为主,部分内容涉及Swift。 由于笔者能力有限,书中难免存在疏漏和不足之处,因此特地在GitHub上开了一个仓库,有任何意见和建议的读者,欢迎来这里提出,地址: https://github.com/huangxinyu1213/iOSAdvancedbook。 目标读者 对于现在的编程来说,其编程语言变得越来越高级,使得开发门槛越来越低,开发者不必过多接触底层的实现,以及去写一些复杂的代码。就类似于iOS开发的ObjectiveC和Swift这两门语言一样,虽然是两种完全不同的开发语言,但开发者从ObjectiveC开发转到Swift开发其实并不是一件很难的事情,因为对iOS的CocoaTouch框架的使用,两门语言基本无异,这也从另一个角度可以证明,高级语言有很多的共同性,开发语言只是一种实现方式。 另一方面,市面上现在有很多对于iOS开发基础的图书和教程,包括苹果的官方文档,对于初学者来说,都是很好的入门资料。本书可能并不适合iOS初学者,因为本书并不打算从iOS的基础内容开始讲起,而更适合于一些有iOS开发基础的初中级开发工程师参考。 主要内容 本书内容不涉及iOS开发的基础知识,由一个个相互独立的知识点组成章节,主要是以进阶为目的,帮助开发者更高效地运用iOS开发技术。主要内容包括以下各章。 第1章: iOS的类 类是面向对象的基础,iOS的类不仅是实现面向对象,还有一些值得关注的特性和原理。 第2章: 底层实现分析 iOS开发中,系统为开发者提供了许多便捷和强大的基础功能,避免写一些过于复杂的底层实现代码,使编程人员只需要更加注重于代码和业务本身。 第3章: 开发原理相关 主要介绍开发中常用技术以及实现的原理,同时也会对一些技术给出不同的实现方案,并做出比较,让开发者对一些原理知识能够有比较明确的认识。 第4章: 线程安全——锁 线程安全是iOS开发中避免不了的话题,随着多线程的使用,对于资源的竞争以及数据的操作都可能存在风险,所以有必要在操作时保证线程安全。 第5章: 排序算法 对算法的掌握是非常有必要的,不仅是在面试中经常会考算法,在实际应用中,算法的使用能更高效地处理数据。同时算法的思想也能更好地帮助我们理解计算机语言。 第6章: 技能进阶与思考 本章内容更偏向于实际场景的应用和实现方式的思考,以及扩充开发者的知识宽度。 电子资源 笔者提供书中所有实例的源代码,读者可以从清华大学出版社网站www.tup.com.cn下载。本书使用与资源下载的相关问题请联系fuhy@tup.tsinghua.edu.cn。 编者 2018年5月

more >
扫描二维码
下载APP了解更多

同系列产品more >

Spring Redis实战开发(微课视频版)...

郭煦
定 价:69.90元

查看详情
iOS应用开发教程(微课视频版)

罗良夫
定 价:49.80元

查看详情
TensorFlow+Android经典模型从理论...

董相志、曲海平、董飞桐
定 价:89.80元

查看详情
HTML5网页游戏设计从基础到开发(...

夏敏捷、尚展垒
定 价:69.90元

查看详情
Angular开发入门与实战(微课视频...

吴胜
定 价:79.90元

查看详情
图书分类全部图书
more >
  • 90后移动开发者,简书作者。曾参与多个移动端项目架构搭建和开发。现任饿了么(上海拉扎斯信息科技有限公司)iOS高级工程师,负责开发饿了么商家端项目。在简书、新浪微博以及个人博客上分享过多篇技术文章。

  • 《iOS开发快速进阶与实战》是作者丰富的iOS项目开发经验的总结,书中实例均为真实的开发任务与场景,并包含典型面试题目的解析。
more >
  • 目录

    第1章iOS的类

    1.1创建并描述一个类

    1.2类方法的self

    1.3类属性

    1.4黑魔法

    第2章底层实现分析

    2.1内存分区

    2.2初始化

    2.3拷贝

    2.4数组与集合

    2.5字典与哈希表

    2.6KVC

    2.6.1对象关系映射

    2.6.2对私有属性访问

    2.6.3控制是否触发setter、getter方法

    2.6.4KVC进阶用法

    第3章开发原理相关

    3.1定时器的引用

    3.2动画事务

    3.3响应链

    3.4UITableViewCell高度

    3.5图片初始化

    3.6静态库与动态库

    3.7离屏渲染

    3.8约束动画

    第4章线程安全——锁

    4.1NSLock

    4.2synchronized

    4.3pthread

    4.3.1互斥锁(普通锁)

    4.3.2递归锁

    4.3.3pthread信号量

    4.3.4读写锁

    4.4信号量

    4.5NSConditionLock与NSCondition

    4.5.1NSConditionLock

    4.5.2NSCondition

    4.6自旋锁

    4.7递归锁

    小结

    第5章排序算法

    5.1冒泡排序

    5.2选择排序

    5.3插入排序

    5.4快速排序

    5.5希尔排序

    5.6归并排序

    5.7堆排序

    5.8基数排序

    小结

    第6章技能进阶与思考

    6.1按...

精彩书评more >

标题

评论

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘