作品简介

这是一本从基础知识、设计思想、技术方案、应用方法、实践技巧5个维度系统讲解Kotlin元编程,并以此大幅提升Kotlin工程师开发水平、研发效率和开发体验的著作。作者是Kotlin领域的资深专家和布道者,本书源于他对Kotlin编译器源码的反复研读和大量的工程实践,不仅细致讲解了反射、程序静态分析、Java注解处理器、Kotlin符号处理器、Kotlin编译器插件、元程序的开发和调试等核心元编程技术,而且详细剖析了Jetpack Compose的编译器插件和IntelliJ插件、Atomic FU的JVM字节码和Java Script代码的生成逻辑。本书的出版打破了元编程技术资料少、门槛高的行业现状。本书包含大量案例,这些案例大多来自真实的生产实践,相对成熟和完善,可以作为元编程项目的范本。同时,本书提供大量的代码,为了提升阅读体验,在注释、书写和排版等方面对代码做了精心的优化。全书的源文件均可免费下载,读者可以通过作者的网站实时与作者互动和交流。

霍丙乾编著

作品目录

  • 前言
  • 第一部分 元编程的基础知识
  • 第1章 元编程概述
  • 1.1 元编程的需求背景
  • 1.2 元编程的基本概念
  • 1.3 元编程的学习方法
  • 1.4 常用项目的调试环境配置
  • 1.5 本章小结
  • 第2章 元数据概述
  • 2.1 基本概念
  • 2.2 注释
  • 2.3 注解
  • 2.4 Kotlin的元数据
  • 2.5 Kotlin的语法树
  • 2.6 Kotlin的编译产物
  • 2.7 本章小结
  • 第二部分 元编程的技术实践
  • 第3章 运行时的反射
  • 3.1 Java反射
  • 3.2 Kotlin反射
  • 3.3 案例:Retrofit的接口实现
  • 3.4 案例:使用反射实现DeepCopy
  • 3.5 案例:使用dynamic类型为Kotlin JS实现DeepCopy
  • 3.6 本章小结
  • 第4章 源代码生成
  • 4.1 直接输出目标代码
  • 4.2 案例:为Kotlin添加Tuple类型
  • 4.3 使用模板引擎生成目标代码
  • 4.4 案例:为Java静态方法生成Kotlin扩展函数(模板引擎)
  • 4.5 使用代码生成框架生成目标代码
  • 4.6 案例:为Java静态方法生成Kotlin扩展函数(KotlinPoet)
  • 4.7 本章小结
  • 第5章 编译时的符号处理
  • 5.1 符号的基本概念
  • 5.2 处理器的基本结构
  • 5.3 深入理解符号和类型
  • 5.4 案例:基于源代码生成模块的符号文件
  • 5.5 深入理解符号处理器
  • 5.6 案例:使用符号处理器实现DeepCopy
  • 5.7 本章小结
  • 第6章 程序静态分析
  • 6.1 案例:检查项目中的数据类
  • 6.2 Kotlin程序的语法分析
  • 6.3 Kotlin程序的语义分析
  • 6.4 使用detekt进行静态扫描
  • 6.5 基于IntelliJ IDEA进行语法检查
  • 6.6 本章小结
  • 第7章 编译器插件
  • 7.1 编译器插件概述
  • 7.2 编译器插件项目的基本结构
  • 7.3 案例:trimIndent函数的编译时实现
  • 7.4 案例:使用编译器插件实现DeepCopy
  • 7.5 符号处理器的实现原理
  • 7.6 本章小结
  • 第8章 元程序的开发和调试
  • 8.1 使用kotlin-compile-testing编写单元测试
  • 8.2 使用kotlin-compile-testing-extensions简化单元测试
  • 8.3 在实际项目中集成
  • 8.4 本章小结
  • 第三部分 综合案例
  • 第9章 Jetpack Compose的编译时处理
  • 9.1 Jetpack Compose简介
  • 9.2 静态检查
  • 9.3 案例:为DeepCopy添加代码检查
  • 9.4 代码提示
  • 9.5 Composable函数的变换
  • 9.6 本章小结
  • 第10章 AtomicFU的编译产物处理
  • 10.1 AtomicFU的由来
  • 10.2 Kotlin JVM平台的编译产物处理
  • 10.3 Kotlin JS平台的编译产物处理
  • 10.4 本章小结
展开全部