展开全部

主编推荐语

经典知识讲解,开源库代码分析,提高工作效率,贯穿实际应用。

内容简介

偏向讲解核心重要的经典知识,还会通过代码分析各种经典开源库中对于这些知识的运用,会涉及到的开源库有函数响应式编程,网络请求封装库等也会有分析里面如何运用这些核心知识的。最后会展示笔者最近研究的编译和WebKit的内容,以达到能够更好的理解探索程序语言和开拓思路的效果,它们相对于其它知识来说会更多的涉及到计算机的很多基础知识和更优秀的设计思路,同时学习这些知识能够做出非常实用的工具和更多创造性的事情,这些知识在章节里会有比较详细的说明。以上提到的所有这些内容都能立刻用到工作中,并且能够提高工作效率和工作质量。每个章节都会列出很多优秀的国内外资料。第一章还会有一些面试题的解析,这里讲解这些面试题不是为了应付面试而讲,而是为了通过这些题能够更好的将几个基础知识点串起来,因为有很多题都是结合实际开发遇到的问题来的,这样还能够把这些知识贯穿到实际工作中。

目录

  • 封面
  • 作者简介
  • 扉页
  • 内容简介
  • 版权页
  • 专家推荐
  • 目录
  • 第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
  • 后折页
  • 封底
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。