基本信息
- 作者: 肯·寇森 水滴技术团队
- 丛书名: O’Reilly精品图书系列
- 出版社:机械工业出版社
- ISBN:9782007141100
- 上架时间:2020-7-14
- 出版日期:2020 年7月
- 开本:16开
- 页码:604
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > 综合 > 高级程序语言设计

编辑推荐
---------------------------Kotlin核心编程---------------------------
水滴技术团队出品,开源项目Quill核心贡献者章建良亲自执笔
围绕Kotlin设计理念,深入阐述Kotlin设计哲学、基础语法、语言特性、设计模式、函数式编程、异步开发和工程实战等核心内容
内容简介
计算机书籍
---------------------------Kotlin编程实践---------------------------
本书的重点不仅在于讲解 Kotlin 的语法与语义,还将展示何时以及为何应该使用某个指定的语言特性。本书的目标不一定会涵盖每一个 Kotlin 语法与库的细节。但在最后,本书添加了很多基本原理的内容,让即使只有 Kotlin 初级知识的读者也可以理解本书的内容。当你认真学习 Kotlin 的细节后,你就可以使用这门受欢迎的语言构建 Android 应用、Web 应用以及其他程序。Kotlin 不仅可以用于任何应用 Java 的地方,还可以用于 iOS 开发、编写原生应用程序、JavaScript 开发以及更多场景。
---------------------------Kotlin核心编程---------------------------
本书不是一本简单介绍Kotlin语法应用的图书,而是一部专注于帮助读者深入理解Kotlin的设计理念,指导读者实现Kotlin高层次开发的实战型著作。书中深入介绍了Kotlin的核心语言特性、设计模式、函数式编程、异步开发等内容,并以Android和Web两个平台为背景,演示了Kotlin的实战应用。
全书共13章,分为4个部分:
热身篇—Kotlin基础(第1~2章),简单介绍了Kotlin设计哲学、生态及基础语法,其中包括Kotlin与Scala、Java之间的关联与对比,以及Kotlin的类型声明的特殊性、val和var的使用、高阶函数的使用、面向表达式编程的使用、字符串的定义与操作等内容;
下水篇—Kotlin核心(第3~8章),深入介绍了面向对象、代数数据类型、模式匹配、类型系统、Lambda、集合、多态、扩展、元编程等Kotlin开发核心知识,这是本书的重点,其中涉及很多开发者特别关心的问题,比如多继承问题、模式匹配问题、用代数数据类型抽象业务问题、泛型问题、反射问题等。
潜入篇—Kotlin探索(第9~11章),探索Kotlin在设计模式、函数式编程、异步和并发等编程领域的应用,其中包括对4大类设计模式、Typeclass实现、函数式通用结构设计、类型替代异常处理、共享资源控制、CQRS架构等重点内容的深入剖析;
遨游篇—Kotlin实战(第12~13章),着重演示了Kotlin在Android和Web平台的实战案例,其中涉及架构方式、单向数据流模型、解耦视图导航、响应式编程、Spring 5响应式框架和编程等内容。
作译者
---------------------------Kotlin核心编程---------------------------
水滴技术团队 著:水滴技术团队
核心成员来自阿里巴巴、淘宝,公司旗下的大数据SaaS类产品服务了Booking、阿里集团、小米集团、大疆创新、拍拍贷等几十万家企业,是微信的重点第三方合作产品。
推崇函数式编程,喜欢尝试各种新的前后端技术。团队在2015年就实现了业界领先的全异步开发架构,该架构是基于fp Scala及微服务化的分布式系统。同时,水滴技术团队还是国内外少有的pure fp技术团队,采用了如Play! Framework、Akka、Cats等新潮的技术,并对JVM生态的一些编程语言有着较丰富的实战经验,当前主要为Scala、Kotlin社区输出博客和开源项目。
章建良(网名:Jilen)
水滴技术团队核心成员,杭州极跑科技联合创始人,曾就职于淘宝。从2008年开始,活跃于Scala社区,在函数式编程和并发领域拥有极丰富的实战经验。
此外,他还是知名开源项目Quill的核心贡献者,目前正在创造一个纯函数式的异步数据库驱动asyncdb。
目录
---------------------------Kotlin编程实践---------------------------
序言 1
前言 3
第1章 安装并运行Kotlin 11
1.1 在没有本地编译器的情况下运行Kotlin 11
1.2 在本地安装Kotlin 13
1.3 在命令行中编译并运行Kotlin 15
1.4 使用Kotlin REPL 16
1.5 执行Kotlin脚本 17
1.6 使用GraalVM构建独立应用程序 18
1.7 为Gradle添加Kotlin插件(Groovy语法) 21
1.8 为Gradle添加Kotlin插件(Kotlin语法) 24
1.9 使用Gradle构建Kotlin工程 26
1.10 使用Maven编译Kotlin 27
第2章 Kotlin基础 31
前言
---------------------------Kotlin编程实践---------------------------
欢迎来到Kotlin的世界!本书的重点不仅在于讲解Kotlin的语法与语义,还将向你展示何时以及为何应该使用某个特定的语言特性。本书不会涵盖每一个Kotlin语法与库的细节,但在最后添加了很多基本原理的“食谱”,让即使只有Kotlin初级知识的读者也可以理解本书的内容。
JetBrains大力鼓励Kotlin社区拥抱多平台(Multiplatform)、原生(Native)以及JavaScript开发的发展。由于它们还处于测试阶段且使用率很低,所以最后还是决定不在本书中介绍它们。因此,本书只专注于运行在JVM上的Kotlin。
存放本书所有相关代码的Github仓库位于https://github.com/kousen/kotlin-cookbook。它包含一个Gradle包装器(当然,构建文件是用Kotlin DSL编写的)并且通过了所有的测试。
本书中所有的代码示例均已通过两种长期支持的可用Java版本进行了编译与测试,即Java 8与Java 11。尽管Java 8在技术上已超过其生命周期的最后期限,但它在业界依然被普遍使用,代码示例确保可以在其上运行。在本书写作过程中,Kotlin的版本是1.3.50,而当前版本则是1.3.60译注1。所有的代码都可以在这两个版本上运行,并且Github仓库将经常更新以使用最新版的Kotlin。
本书目标读者
本书面向已经了解面向对象编程基础的开发者,特别是了解Java以及其他基于JVM的语言的读者。拥有Java知识将会有所帮助,但这不是必需的。
本书更侧重于Kotlin的使用技巧与习惯用法,而不是成为这门语言的详尽资源。其优点在于在任何给定的示例中可以发挥这门语言的所有潜力,但缺点在于对这些特性的基础部分介绍有限。本书每一章都包含了该章相关基础技术的简介,所以如果你只是模糊地知道如何创建集合、使用数组,或设计类,那么已经相当不错了。在线参考手册(https://kotlinlang.org/docs/reference)对Kotlin进行了详尽的介绍,所以本书经常引用其中的示例与讨论。
此外本书还经常介绍Kotlin库函数的实现。这是为了展示这门语言的开发者如何在实践中使用它们,并讨论这些函数的设计方式。如果你很着急,无须预先了解实现,可以跳过这些细节。
本书主要内容
本书分为13章,每一章都是独立的,但本书引用了许多其他资料。你可以按任意喜欢的顺序阅读本书。
第1章讲解了安装并运行Kotlin的基本过程,包括使用REPL,使用诸如Maven以及Gradle等构建工具,以及在Graal中使用原生镜像生成器。
第2章讲解了Kotlin的基本特性—例如可空类型、操作符重载以及类型转换,然后介绍了一些更深奥的问题,包括按位移位操作符或者在Pair类上编写扩展函数等。
第3章重点介绍了Kotlin的面向对象特性,而该部分内容可能会让其他语言的开发者对此感到惊讶或不明所以。它包含如何使用const关键字、Kotlin如何处理幕后属性、延迟初始化以及令人恐惧的Nothing类,这些内容一定会令现有的Java开发者感到困惑。
第4章只有很少的一部分内容,其中涵盖一些需要被解释说明的函数式特性。函数式编程概念会始终贯穿全书,特别是当我们谈论集合、序列以及协程时,但该章中包含的一些有用的技巧可能会让你感觉到不同寻常或非常有趣。
序言
---------------------------Kotlin编程实践---------------------------
每隔几年,就会出现一种革命性的新语言,它们常常扬言要改变人们编写软件的方式。但现实却常常辜负它们。而Kotlin则与它们有所不同。将时光回退到2011年,Kotlin开始缓慢地、几乎不可察觉地悄悄进入世界各地的代码库。那些长期使用Java并且发现了它的缺点的人们开始到处学习Kotlin。正因如此,他们缩短了代码的长度却增强了代码的功能。
Kotlin作为Android开发的首选语言而闻名,而如今Kotlin已经足够成熟,所以迫切需要一本像本书这样的书。本书从头开始讲解了许多有用的技巧。作者将向你展示如何安装Kotlin以及为你的项目配置它。他也会向你展示如何在Java环境、浏览器中或作为一个独立的应用程序来运行Kotlin。但本书会快速推进内容,解决世界各地的开发者与架构师所面临的日常编程问题。
尽管有一小节是专门讲解Kotlin测试的,但你会发现本书本身就是测试驱动的。它将测试作为如何使用这门语言的实际示例。通过测试,你可以更精确地调整方案以适应你的需求。
本书将带给你直接而实用的帮助,可以指导你在Kotlin旅途中快速进步。本书是Kotlin必不可少的操作指南,每个开发者都应将其保存在桌面(真实或虚拟)上,以支持日常工作。
Dawn Griffiths与David Griffiths
Head First Kotlin的作者
2019年10月6日
媒体评论
---------------------------Kotlin编程实践---------------------------
认真学习 Kotlin 的细节后,你就可以使用这门受欢迎的语言构建 Android 应用、Web 应用以及其他程序。通过学习本书,开发者们将学习到如何在自己的项目中使用这门基于Java的语言。无论你是经验丰富的编程人员还是学习 Kotlin 的新人,都将获益良多。
作者 Ken Kousen(也是Modern Java Recipes一书的作者)将教授你如何专注于使用自己的 Kotlin 方案来解决问题而不是陷于基础语法之中。针对常见问题,本书将给出具体解决方案。Kotlin 在 Android 开发上已经大规模使用,但实际上 Kotlin 不仅可以用于任何应用 Java 的地方,还可以用于 iOS 开发、编写原生应用程序、JavaScript 开发以及更多场景。立即投入 Kotlin 的学习并开始创建新项目吧!
通过本书,你将:
? 掌握函数式编程概念,包括 lambda 表达式、序列和并发。
? 学习如何使用委托、延迟初始化和作用域函数。
? 学习 Kotlin 与 Java 互操作的能力并使用 Kotlin 访问 Java 库。
? 能够编写扩展函数。
? 能够使用诸如 JUnit5 之类的实用库。
? 在特定的开发框架(例如 Android 和 Spring)内获得实践经验。
“ 本书是开发者可以快速入门 Kotlin 的超棒资源,为常见的开发任务提供了简明实用的指南,同时指出了从Java过渡到Kotlin面临的困难。”
——Mark Maynard
资深开发者
Ken Kousen是Java Champion、Oracle Groundbreaker Ambassador与JavaOne Rock Star三个奖项的获得者。他著有
Gradle Recipes for Android(O’Reilly)、