登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』Kotlin实战

書城自編碼: 3037256
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]Dmitry Jemerov[德米特里·詹莫瑞福],
國際書號(ISBN): 9787121321580
出版社: 电子工业出版社
出版日期: 2017-08-01
版次: 1 印次: 1

書度/開本: 128开 釘裝: 平装

售價:HK$ 129.1

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
红酒帝国:市场、殖民地与英帝国兴衰三百年
《 红酒帝国:市场、殖民地与英帝国兴衰三百年 》

售價:HK$ 107.7
写下来,痛苦就会过去
《 写下来,痛苦就会过去 》

售價:HK$ 118.6
日本汉文话丛编(共5册)
《 日本汉文话丛编(共5册) 》

售價:HK$ 602.6
瑞士创新密码
《 瑞士创新密码 》

售價:HK$ 106.5
利益相关者:战略管理全新视角  [美]R.爱德华·弗里曼
《 利益相关者:战略管理全新视角 [美]R.爱德华·弗里曼 》

售價:HK$ 95.6
以色列的诞生:荣耀2024版(2024版全2册)
《 以色列的诞生:荣耀2024版(2024版全2册) 》

售價:HK$ 145.2
山林果园散养土鸡新技术(彩色图解+视频升级版)
《 山林果园散养土鸡新技术(彩色图解+视频升级版) 》

售價:HK$ 84.5
一个女人的世界史:伊丽莎白·马什的磨难
《 一个女人的世界史:伊丽莎白·马什的磨难 》

售價:HK$ 111.3

 

建議一齊購買:

+

HK$ 71.1
《 Lua设计与实现 》
+

HK$ 129.1
《 图解Java多线程设计模式 》
+

HK$ 114.6
《 架构探险:轻量级微服务架构(下册) 》
+

HK$ 114.6
《 数学与泛型编程:高效编程的奥秘 》
+

HK$ 79.8
《 编程风格:好代码的逻辑 》
+

HK$ 100.1
《 Cloud Native Go:构建基于Go和React的云原生Web应用与微服务 》
編輯推薦:
《Kotlin 实战》教会你使用 Kotlin 语言来开发达到产品级品质的应用。《Kotlin 实战》为具备一定 Java 经验的开发者编写,包含了丰富的示例,和大多数介绍编程语言的书籍相比更加深入,涵盖了非常有趣的话题,例如怎样构建使用自然语言语法的 DSL。两位作者是 Kotlin 的核心开发者,所以你完全可以相信书中*细枝末节的内容都无比地精确。

在 JVM 上进行函数式编程

编写整洁并符合语义习惯的代码

结合运用 Kotlin 和 Java

领域特定语言
內容簡介:
本书将从语言的基本特性开始,逐渐覆盖其更多的高级特性,尤其注重讲解如何将 Koltin 集成到已有 Java 工程实践及其背后的原理。本书分为两个部分。*部分讲解如何开始使用 Kotlin 现有的库和API,包括基本语法、扩展函数和扩展属性、数据类和伴生对象、lambda 表达式,以及数据类型系统(着重讲解了可空性和集合的概念)。第二部分教你如何使用 Kotlin 构建自己的 API,以及一些深层次特性约定和委托属性、高阶函数、泛型、注解和反射,以及领域特定语言的构建。本书适合广大移动开发者及入门学习者,尤其是紧跟主流趋势的前沿探索者。
關於作者:
Dmitry Jemerov 从2003年起就在 JetBrains ?作并参与了许多产品的开发,包括IntelliJ IDEA、PyCharm 和 WebStorm。他是 Kotlin 最早的贡献者之?,创建了最初版本的 Kotlin JVM 字节码?成器,并且还在世界各地的活动上做了很多关于 Kotlin 的演示。?前他带领了进? Kotlin IntelliJ IDEA 插件开发的团队。Svetlana Isakova 从2011年成为 Kotlin 团队的?员。她从事编译器类型推导和重载解析?系统的?作。现在她是?名技术布道者,在各种会议上进? Kotlin 相关讨论并从事 Kotlin 在线课程的相关?作。
覃宇,ThoughtWorks 高级咨询师,10余年移动应用开发经验,Android 技术专家,曾为AOSP贡献过测试用例;目前专注于移动应用的架构设计、自动化测试以及持续交付。罗丽,高级软件工程师,移动技术开发顾问,拥有丰富的软件开发经验, 熟悉React Native,Android,iOS等多种开发技术。目前任职于ThoughtWorks海外事业部,曾在多个大型移动应用项目中担任技术顾问。李思阳,ThoughtWorks咨询师,移动开发工程师。熟悉Android、Mobile Web相关技术,有着丰富的移动应用开发经验,在移动应用体验和兼容性相关领域有独特的见解;长期关注Android领域相关技术动向。蒋扬海,ThoughtWorks移动开发咨询师,深耕Android开发多年,应用开发经验丰富,对Android开发领域的技术有广泛的涉猎,对Android技术动向有着敏锐的洞察力。
目錄
第 1 部分 Kotlin 简介 ..........................................1
1 Kotlin :定义和目的 ..................................................................3
1.1 Kotlin 初体验 ...................................................................................................3
1.2 Kotlin 的主要特征 ...........................................................................................4
1.2.1 目标平台 :服务器端、Android 及任何 Java 运行的地方 ...............4
1.2.2 静态类型 ..............................................................................................5
1.2.3 函数式和面向对象 ..............................................................................6
1.2.4 免费并开源 ..........................................................................................7
1.3 Kotlin 应用 .......................................................................................................8
1.3.1 服务器端的 Kotlin ...............................................................................8
1.3.2 Android 上的 Kotlin .............................................................................9
1.4 Kotlin 的设计哲学 .........................................................................................10
1.4.1 务实 ....................................................................................................10
1.4.2 简洁 .................................................................................................... 11
1.4.3 安全 ....................................................................................................12
1.4.4 互操作性 ............................................................................................13
1.5 使用 Kotlin 工具 ............................................................................................14
1.5.1 编译 Kotlin 代码 ................................................................................14
1.5.2 IntelliJ IDEA 和 Android Studio 插件 ...............................................15
1.5.3 交互式 shell ........................................................................................15
1.5.4 Eclipse 插件 .......................................................................................15
1.5.5 在线 playground .................................................................................15
1.5.6 Java 到 Kotlin 的转换器 ....................................................................16
1.6 小结 ................................................................................................................16
2 Kotlin 基础 ...........................................................................17
2.1 基本要素 :函数和变量 ................................................................................17
2.1.1 Hello,world! ........................................................................................18
2.1.2 函数 ....................................................................................................18
2.1.3 变量 ....................................................................................................20
2.1.4 更简单的字符串格式化 :字符串模板 ............................................22
2.2 类和属性 ........................................................................................................23
2.2.1 属性 ....................................................................................................24
2.2.2 自定义访问器 ....................................................................................25
2.2.3 Kotlin 源码布局 :目录和包 .............................................................26
2.3 表示和处理选择 :枚举和when ..............................................................28
2.3.1 声明枚举类 ........................................................................................28
2.3.2 使用when处理枚举类 ...............................................................29
2.3.3 在when结构中使用任意对象 ...................................................30
2.3.4 使用不带参数的when .................................................................31
2.3.5 智能转换 :合并类型检查和转换 ....................................................32
2.3.6 重构 :用when代替if ...........................................................34
2.3.7 代码块作为if和when的分支 .............................................35
2.4 迭代事物 :while循环和for循环 .....................................................36
2.4.1 while循环 .....................................................................................36
2.4.2 迭代数字 :区间和数列 ....................................................................37
2.4.3 迭代 map ............................................................................................38
2.4.4 使用in检查集合和区间的成员 .................................................39
2.5 Kotlin 中的异常 .............................................................................................41
2.5.1 trycatch和finally ...............................................................41
2.5.2 try作为表达式 ..............................................................................42
2.6 小结 ................................................................................................................44
3 函数的定义与调用 ..................................................................45
3.1 在 Kotlin 中创建集合 ....................................................................................45
3.2 让函数更好调用 ............................................................................................47
3.2.1 命名参数 ............................................................................................48
3.2.2 默认参数值 ........................................................................................49
3.2.3 消除静态工具类 :顶层函数和属性 ................................................50
3.3 给别人的类添加方法 :扩展函数和属性 ....................................................53
3.3.1 导入和扩展函数 ................................................................................54
3.3.2 从 Java 中调用扩展函数 ...................................................................54
3.3.3 作为扩展函数的工具函数 ................................................................55
3.3.4 不可重写的扩展函数 ........................................................................56
3.3.5 扩展属性 ............................................................................................58
3.4 处理集合 :可变参数、中缀调用和库的支持 ............................................59
3.4.1 扩展 Java 集合的 API ........................................................................59
3.4.2 可变参数 :让函数支持任意数量的参数 ........................................60
3.4.3 键值对的处理 :中缀调用和解构声明 ............................................60
3.5 字符串和正则表达式的处理 ........................................................................62
3.5.1 分割字符串 ........................................................................................62
3.5.2 正则表达式和三重引号的字符串 ....................................................63
3.5.3 多行三重引号的字符串 ....................................................................64
3.6 让你的代码更整洁 :局部函数和扩展 ........................................................66
3.7 小结 ................................................................................................................68
4 类、对象和接口 .....................................................................69
4.1 定义类继承结构 ............................................................
內容試閱
关于 Kotlin 想法的构思 2010 年诞生于 JetBrains。当时,JetBrains 已经是许多程序语言开发工具的知名供应商,包括 Java、C#、JavaScript、Python、Ruby 和 PHP。Java IDEIntelliJ IDEA,Groovy 和 Scala 的插件,都是我们的旗舰产品。
为各种程序语言构建开发工具的经验给了我们对语言设计领域全面的理解和独特的观点。而基于 IntelliJ 平台的 IDE,包括 IntelliJ IDEA,仍然是用 Java 开发的。我们甚至都有点羡慕在 .NET 团队中的同事,他们使用 C#,一种现代、强大、迅速进化的语言进行开发。但是我们没有看到任何一种可以用来取代 Java 的语言。
对于这样的一门语言我们有哪些要求呢?首要而且最明确的要求就是它必须是静态类型的。我们想象不到其他任何一种开发一个拥有数百万行代码的代码库许多年后还不把人逼疯的办法。其次,我们需要与现有的 Java 代码完全兼容。这样的代码库是 JetBrains
的一笔巨大财富,我们承受不起失去它或是因为互操作性的难度而使其贬值的损失。再次,我们不愿意在工具质量方面接受任何的妥协。开发者的生产力是 JetBrains 作为一个公司最重要的价值,而强大的工具是达到这一目的的必要条件。最后,我们需要的是一种易于学习和理解的语言。
当看到一个我们公司未能满足的需要时,我们知道其他公司也处在一个相似的境地,我们希望我们的解决方案能够在 JetBrains 之外找到许多用户。带着这样的初心,我们决定走上一条创建一门新语言 :Kotlin 的道路。事实上,这个项目花费了超出我们预期的时间,在 Kotlin 1.0 最终诞生时,距离第一行代码提交到代码库中已经过去了超过五年 ;但是现在我们可以确信,这门语言找到了它的受众并且这些人都留了下来。
Kotlin 以靠近俄罗斯圣彼得堡的一座岛屿命名,Kotlin 的大部分开发团队就在那里。在使用岛屿命名这件事上,我们遵循了 Java 和 Ceylon 确立的先例,但我们决定选用一处靠近我们家乡的地方(在英语中,这个名称通常的发音是cot-lin,而不是coat-lin或者caught-lin)。
在这门语言临近发布之际,我们意识到一本由参与了语言设计决策人员撰写的关于 Kotlin 的书籍是有价值的,他们可以自信地解释为什么 Kotlin 中的事物是以它们的方式运行的。本书就是这种努力的结果,我们希望它能帮助你学习和理解Kotlin 语言。祝你好运,并愿你一直能愉快地进行开发。
关于本书
《Kotlin 实战》会教你 Kotlin 编程语言,以及如何使用它构建运行在 Java 虚拟机和 Android 平台的应用程序。这本书开始部分讲解了这门语言的基本特性,并逐渐覆盖更多 Kotlin 与众不同的方面,比如它对构建高级抽象和领域特定语言的支持。
这本书很注重将 Kotlin 与已有的 Java 工程的集成,帮助你将 Kotlin 引入到你现在的工作环境。这本书涵盖了 Kotlin 1.0,在编写这本书的同时
Kotlin 1.1 已经在开发过程中了,所以在一些可能的地方,我们提示了 1.1 版本中做出的更改。但是由于在写这本书的时候新的版本还没有完成,我们并不能在书中包含所有的内容。对于进行中的新特性和改变的更新,请参考线上的官方文档 https:kotlinlang.org。
哪些人应该阅读这本书
《Kotlin 实战》主要面向有一定 Java 经验的开发者。Kotlin 的构建基于 Java 中的许多概念和技术,这本书争取通过使用你现有的知识快速上手。如果你只是刚开始学习 Java,又或者你有诸如 C# 或者 JavaScript 这些编程语言的经验,你可能需要参考其他的信息源以理解 Kotlin 中与 JVM 交互的那些错综复杂的方面,但你还是可以通过这本书学习 Kotlin。我们致力于将 Kotlin 打造成全领域语言,而不是只针对某些特定的问题领域,所以这本书同样对服务端、Android,以及其他任何以构建基于 JVM
的工程为目标的开发人员都有用。
这本书是如何组织的
这本书被分成了两个部分。第 1 部分解释了如何开始使用 Kotlin 现有的库和API :
第 1 章讲述了 Kotlin 的关键目标、价值和应用的领域,它将向你展示运行Kotlin 代码的所有可能的途径。
第 2 章解释了 Kotlin 编程的基本元素,包括控制结构、变量和函数声明。
第 3 章讲解了 Kotlin 中关于函数声明的细节并介绍了扩展函数和扩展属性的概念。
第 4 章集中在类的声明上,并介绍了数据类和伴生对象的概念。
第 5 章介绍了 Kotlin 中 lambda 的使用并展示了一些 Kotlin
标准库中使用lambda 的函数。
第 6 章描述 Kotlin 的数据类型系统,并特别关注了可空性和集合的话题。
第 2 部分会教你如何使用 Kotlin 构建你自己的 API 和抽象,并涵盖了这门语言的一些深层次的特性。
第 7 章讲到了约定原则,它利用特定的名字赋予函数和属性特殊的意义,还介绍了委托属性的概念。
第 8 章展示了如何声明高阶函数以其他函数作为参数或者返回值的函数,还介绍了内联函数的概念。
第 9 章深入探讨 Kotlin 中泛型的话题,先讲了基本语法然后是更高级的领域,比如实化类型参数和变型。
第 10 章包括注解和反射的使用,并以 JKid 为中心。JKid 是大量使用了这些概念的一个小而真实的 JSON 序列化库。
第 11 章介绍了领域特定语言的概念,描述用来构建它的
Kotlin 工具,并演示了许多 DSL 示例。
还有三个附录。附录 A 说明了如何用 Gradle、Maven 和 Ant 构建 Kotlin 代码 ;附录 B 着重于编写文件注释和为 Kotlin 模块生成 API 文档 ;附录 C 是一个探索Kotlin 生态圈和发现最新的在线信息的指南。
最好是按顺序通读本书,但是也完全可以只查阅感兴趣的包含特定主题的单个章节,在遇到不熟悉的概念的时候再参考其他章节。


译者序
当收到这本书的翻译邀请时,我们的内心是激动的,终于有机会将自己喜爱的语言系统地介绍给中国的开发者,而且是通过口碑颇佳的实战系列。此时,正值2017 年度的 Google IO 召开前夕,接下来重磅消息大家都知道了
:在 Google IO 大会上,Kotlin 正式成为了官方的 Android
开发语言,迅速占据了国内各大技术媒体的头条。一夜之间,所有的 Android 开发者都迫切地想搞清楚它的来龙去脉。Kotlin究竟是何方神圣,为什么是它?
这一点儿也不奇怪。对于资深 Android 开发者来说,Kotlin 早已不是新鲜的概念了。早在 2015 年 1 月,Android 开发者社区大神 Jake
Wharton 就发布了一篇使用Kotlin 来进行 Android 开发的总结。那时开始,不少顶尖的开发者和公司就开始尝试在正式的 Android 项目中使用 Kotlin 语言
;我们也从 2015 年开始在多个项目上使用了 Kotlin 语言。它带给我们的体验,和带给所有其他实践过 Kotlin 语言的开发者的一样 :它的发明者 JetBrains 所言非虚,这是一门简洁、安全、实用的语言,用了就停不下来,就忍不住地想推荐给周围的人。我们理所当然地把 Kotlin 放在了今年第一季度
ThoughtWorks 技术雷达的评估象限 :https:www.thoughtworks.comradarlanguages-and-frameworkskotlin。
Kotlin 让人爱不释手的最重要原因就是来自
JetBrains 的基因。作为最负盛名的IDE 创造者,JetBrains 深谙开发者的需求,孜孜不倦地追求给开发者提供最实用、最高效的 IDE,包括 Android Studio、IntelliJ、RubyMine 等。由这样想开发者之所想的公司创造出来的语言,又怎么会不受开发者热捧呢?所以 Gradle、Spring,以及越来越多的库、框架和工具也陆续加入到了支持 Kotlin 的阵营。
本书深入浅出地介绍了 Kotlin 语言的方方面面,从最基础的语言要素到如何定制自己的 DSL 都有涉及。相信读者阅读本书并尝试之后一定会爱上这门语言,但把 Kotlin 应用到自己的项目中会不会有什么风险呢?读者们大可不必担心,以往的经验告诉我们,整个过程无缝无痛。首先,Kotlin 足够简单,对于初学者来说掌握也不算困难,两三天就可以上手 ;其次,Kotlin 和 Java 可以无缝地衔接,可以在遗留项目上和 Java 混用 ;最后,编译器的静态检查和 IDE(必须是 JetBrains 出品的 IntelliJ IDEA 或者 Android
Studio)强大的辅助功能,可以帮你发现很多问题(例如空指针异常)并将其自动消除在摇篮之中。有的读者会说,但我还没有用过这些IDE 啊?那你还在犹豫什么,请立即使用它们来提高你的生产力吧!这也算是使用Kotlin 带来的额外收获。
从 Kotlin 成为 Android 开发语言的那一刻开始,我们热情高涨地投入了几乎全部业余时间到本书的翻译工作,终于在最短的时间内把它呈现在广大读者面前。这一切还要感谢本书的编辑和所有译者家人在背后的默默付出。由于译者水平所限,难免出现谬误遗漏,还望读者海涵斧正。
覃宇、罗丽、李思阳、蒋扬海
2017 年 6 月于 ThoughtWorks 成都


当我在 2010 年春季第一次拜访 JetBrains 的时候,我相当确定世界上不需要另一种通用编程语言了。我认为现有的 JVM 上的语言已经足够好了,谁会有想法去创建一门新语言呢?在经过大约一个小时的关于大规模代码库上产品问题的讨论后我被完全说服了,并且后来成为 Kotlin 一部分的最初想法就已经被描绘在白板上。很快我就加入了 JetBrains 来主导这门语言的设计与编译器的开发工作。
到今天,六年多的时光过去了,我们也快要发布第二个版本。我们已经拥有超过 30 人的团队和数以千计的活跃用户,还有很多让我们难以轻易实现的精彩的设计理念。但是不要担心,这些想法在进入这门语言之前还必须经过缜密的考察。我们希望这本书的篇幅依然能够容得下 Kotlin 的未来。
学习一门编程语言是一个令人兴奋而且常常是回报颇丰的尝试。如果它是你的第一门语言,通过它你能学到整个编程的新世界。如果不是,它会使你以新的术语来思考熟悉的东西,从而以更高层次的抽象来更深入地了解它们。本书主要针对后者,即面向已经熟悉 Java 的读者。
从头开始设计一门语言可能是一项具有挑战性的任务,但是使其与另一门语言融洽的工作就是另一回事了尤其是那门语言还包含了许多的愤怒的食人魔,以及一些阴暗的地牢(在这一点上你如果不相信可以去问 C 的创造者 Bjarne Stroustrup)。与 Java 的互操作性(这就是 Java 与 Kotlin 之间是如何互相混合调用的)是
Kotlin 的基石之一,本书也投入了很多的注意力在这一点上。互操作性对于在一个已有的 Java 代码库中逐步地引入 Kotlin 非常重要。即使从头开始开发一个新项目时,也必须考虑到能够将这门语言融入一个拥有更大图景的平台中去,而以 Java 编写的所有函数库就是这样的一个平台。
当我在编写本书时,两个新的目标平台正在开发
:Kotlin 现在可以在 JavaScript虚拟机上运行以支持全栈 web 开发,并且还将很快能够直接编译成原生代码,从而在需要的时候能够脱离任何的虚拟机来运行。 1 所以,虽然本书是面向 JVM 的,但是你从中学到的很多东西也是可以应用于其他运行环境的。
本书作者从项目伊始就已经是 Kotlin 团队的成员,所以他们对语言本身和内部实现非常熟悉。他们在会议演讲、研讨会及 Kotlin 课程方面的经验使他们能够对预期的常见问题及可能的陷阱,提供良好的阐述。本书既阐释了语言特征背后的高级概念,也提供了足够深入的细节。
希望你能享受与我们的语言及本书相处的时光。正如我经常在我们社区的帖子中说的那样
:使用 Kotlin 愉快!
ANDREY BRESLAV,JetBrains
Kotlin 首席设计师

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.