跟戴铭学iOS编程:理顺核心知识点
  • 推荐0
  • 收藏2
  • 浏览674

跟戴铭学iOS编程:理顺核心知识点

戴铭 (作者) 

  • 书  号:978-7-121-35688-9
  • 出版日期:2020-03-17
  • 页  数:300
  • 开  本:16(170*240)
  • 出版状态:上市销售
  • 维护人:官杨
电子书 ¥55.30
购买电子书
纸质版 ¥79.00
本书针对 iOS 应用开发涉及的核心知识点进行详细剖析,分为 Swift、编译器、iOS 中的大前端技术三大章,从应用、进阶、未来三方面全方位剖析 iOS 开发。第1章从 Swift 源码和第三方库源码层面来分析ios开发在实际工作中的常用核心知识,包括数据类型、编程范式、内存管理、网络处理、页面布局、完整的转译器和解释器等内容。第2章通过分析 LLVM 源码、编译后的可执行文件内部结构、链接器来讲解 iOS 开发进阶知识,同时介绍在实际工作中的应用场景和示例。第3章介绍在未来的iOS “大前端浪潮”中需要掌握的核心知识,包括 JavaScriptCore、WebCore 等。
本书适合对 iOS 有兴趣的开发人员学习,也适合经验丰富的 iOS 开发者和对编程语言本身有兴趣的人员参考。

阿里巴巴高级技术专家,滴滴出行前技术专家解析iOS 应用开发核心知识点
孙源 滴滴出行技术专家:
底层原理和源码分析是工程师进阶的必修课,但枯燥的学习过程往往让人望而却步,本书以生动的形式,抽丝剥茧般地拨开编译器、解释器的迷雾,让读者从会使用一门语言开始,做到真正理解语言的本质并破开“黑盒”。相信认真读完此书的读者们定会有醍醐灌顶的感觉。

唐巧 资深iOS开发者、《iOS 开发进阶》作者:
这是一本对 iOS 开发的核心知识进行综述的图书。整本书的内容由浅入深,从泛型等 Swift 核心概念讲起,最终深入到了编译器和大前端技术等进阶内容。初级的开发者可以从中快速回顾 Swift 核心知识,需要提高的开发者则可以从编译器开始,在 iOS 开发中找到可以深入研究的各个方向。另外,本书作者亲自绘制的插画也为图书内容增添了不少趣味。总之,这是一本指引开发者们一步步提升开发技能的图书,建议大家阅读。

王巍(喵神) LINE高级软件工程师:
本书通过 Swift 语言作为切入点,介绍了包括用 Swift 实现语言转译器及解释器、clang 及LLVM 分析、跨平台工作原理等高端技术内容。本书适合那些想要深入学习开发技术的开发者们阅读。

目录

目录
第1章 Swift
1.1 Swift简介
1.2 泛型
1.2.1 类型约束
1.2.2 关联类型
1.2.3 类型擦除
1.2.4 Where 语句
1.2.5 泛型和 Any 类型
1.3 集合
1.3.1 基本概念
1.3.2 迭代器
1.3.3 Sequence协议
1.3.4 Collection协议
1.3.5 Map
1.3.6 flatMap
1.3.7 Reduce
1.3.8 Array
1.3.9 弱引用的 Swift 数组
1.3.10 Dictionary
1.4 协议式编程
1.5 链式编程
1.6 Swift 内存管理
1.6.1 内存分配
1.6.2 Swift 派发机制
1.6.3 基本数据类型内存管理
1.6.4 struct 内存管理
1.6.5 class 内存管理
1.6.6 协议类型内存管理
1.6.7 泛型的内存管理
1.7 JSON 数据的处理
1.7.1 使用 JSONDecoder
1.7.2 CodingKey 协议
1.7.3 JSONDecoder 的 keyDecodingStrategy 属性
1.7.4 枚举定义 block
1.7.5 inout
1.8 网络请求
1.9 自动布局 SnapKit 库分析
1.9.1 给谁做约束
1.9.2 如何设置约束
1.9.3 设置完约束后如何处理
1.10 用Swift 实现一个简单的语言转译器
1.10.1 转译器简介
1.10.2 词法分析器
1.10.3 语法分析器
1.10.4 遍历器
1.10.5 转换器
1.10.6 代码生成器
1.10.7 Scheme的其他特性
1.10.8 Babel
1.11 用Swift 开发一个简单的解释器
1.11.1 四则运算
1.11.2 算术表达式
1.11.3 中间表示
1.11.4 变量
1.11.5 属性
1.11.6 静态检查
第2章 编译器
2.1 LLVM 简介
2.2 编译流程
2.3 使用clang命令编译 .m 文件
2.3.1 构建 Target
2.3.2 Target 在构建过程中的控制
2.4 clang static analyzer
2.5 IR 代码
2.5.1 IR 结构
2.5.2 LLVM IR 优化
2.5.3 SSA
2.6 clang 前端组件
2.6.1 库的介绍
2.6.2 使用 libclang 进行语法分析
2.7 Driver
2.7.1 Driver 的工作流程
2.7.2 Parse
2.7.3 Pipeline
2.7.4 Action
2.7.5 Bind
2.7.6 Translate
2.7.7 Jobs
2.7.8 Execute
2.8 clang attribute
2.9 clang 警告处理
2.10 通过LibTooling 控制语法树
2.11 clang 插件
2.12 LLVM Backend
2.12.1 CodeGen 阶段
2.12.2 SelectionDAG
2.12.3 Register Allocation
2.12.4 Code Emission
2.13 LLVM 优化
2.14 Swift 编译
2.15 编译后生成的二进制内容 Link Map File
2.16 编译后生成的 dSYM 文件
2.17 Mach-O 文件
2.18 如何利用 Mach-O
2.18.1 打印堆栈信息,保存现场
2.18.2 通过hook获取更多信息的方法
2.18.3 hook msgsend 方法
2.18.4 统计方法调用频次
2.18.5 找出 CPU 使用的线程堆栈
2.18.6 Demo
2.19 dyld
2.20 LLVM 工具链
2.20.1 获取 LLVM
2.20.2 编译 LLVM 的源代码
2.20.3 LLVM 源代码工程目录介绍
2.20.4 lib 目录介绍
2.20.5 工具链命令介绍
第3章 iOS中的大前端技术
3.1 大前端技术简介
3.2 Weex 实现技术
3.2.1 将iOS 工程集成 WeexSDK
3.2.2 自定义端内能力的 Module
3.2.3 读取用 JavaScript 写的 Weex 内容
3.2.4 从 Vue 代码到 JS bundle
3.2.5 在端内运行 JS bundle 的原理
3.3 JavaScriptCore
3.3.1 JavaScriptCore 介绍
3.3.2 JavaScriptCore 全貌
3.3.3 JavaScriptCore 与 WebCore
3.3.4 词法、语法分析
3.3.5 从代码到 JIT 的过程
3.3.6 分层编译
3.3.7 类型分析
3.3.8 指令集架构
3.3.9 JavaScript
3.4 WebCore
3.4.1 浏览器历史
3.4.2 WebKit 全貌
3.4.3 WTF
3.4.4 Loader
3.4.5 HTML 词法解析
3.4.6 HTML 语法解析
3.4.7 构建 DOM Tree
3.4.8 CSS
3.4.9 RenderObject Tree
3.4.10 Layout

读者评论

  • 看这个乱七八糟的目录就不想买了

    hauhua发表于 2020/8/24 18:47:43
  • 书上的代码有源码文件吗?

    Ekulelu发表于 2020/8/3 15:32:45

电子书版本

  • Epub

相关图书

谁说菜鸟不会数据分析(R语言篇)

姚新军 罗应婷 (作者)

本书从解决工作实际问题出发,提炼并总结工作中R 语言常用的数据处理、数据分析实战方法与技巧。本书力求通俗易懂地介绍相关知识,在不影响学习和理解的前提下,尽可能地...

¥69.00

iOS UI开发捷径——利用Interface Builder高效、优雅地开发UI

郭晓亮 (作者)

这是一本详细讲解如何使用 Interface Builder 的书籍,主要讲解如何利用 Interface Builder<br>快速、高效地开发 UI。本书从...

¥69.00

App Inventor 2 Android应用开发实务:正确学会App Inventor开发技巧的16堂课

白乃遠、曾奕霖 (作者) 白乃远 曾奕霖 (译者)

在App Inventor 2 中,只需采用简单的拖、拉、放三个基本动作,就能以拼图式的方式构建应用程序。<br>全新进化的云端编辑模式,无论身在何处,只需打开...

¥69.00

iOS动画——核心技术与案例实战

郑微 (作者)

目前,APP Store上的应用已经超过150万个,而纵观排名较为靠前的应用,无一例外都有着一个共同的特点,那就是良好的用户体验。动画作为用户体验中最复杂、最绚...

¥69.00

iOS 应用安全权威指南

David Thiel (作者) 程伟 (译者)

对于所有希望保护用户免受恶意攻击的开发者来说,消除iOS 应用当中的安全漏洞至关重要。在本书中,移动端安全专家David Thiel 向你揭示了那些会导致严重安...

¥49.00

Swift:面向协议编程

陈刚 (作者)

Swift 2.0版本之后,Swift已经正式成为一门面向协议编程的语言,但无论是行业内的从业者还是行业外的初学者,对面向协议编程的概念都很陌生,因此本书的内容...

¥45.00