学习 Kotlin 的 20 个实用资源

原创
2017/06/07 17:17
阅读数 1.4W

Кotlin 是在 Java VM 上运行的现代编程语言,它的语法优雅,可与现有的 Java 库互操作。 在 2017 年 Google I/O 中,Android 团队宣布将 Kotlin 作为 Android 平台的官方编程语言。

为了帮助你学习和了解 Kotlin ,本文整理出了 Kotlin 学习资源列表,当中没有任何付费课程或书籍,列表中的所有内容都是 100% 免费。(含外境资源,请自备梯子)

一、教程类

The Kotlin Website - Kotlin 官网

Kotlin 官方网站是学习 Kotlin 好去处。在参考部分,你可以找到该语言的所有概念和功能的深入解析文档。在教程部分有关于设置工作环境并使用编译器的实用分步指南。

这里还有个 Kotlin 编译器,是一个浏览器 APP,你可以在上面尝试使用这门语言。它能加载许多示例,包括 Koans 课程 — 这是目前熟悉 Kotlin 语法的最好方式。

Keddit: Learn Kotlin while developing an Android App - 通过安卓 app 开发学习 Kotlin

这是由 Juan Ignacio Saravia 发表的系列作品,包含 11 个部分。他将 Kotlin 投入使用,构建了一个 Reddit 克隆版 app。该教程涵盖的主题内容广泛,从设置工作区到 API 的使用,甚至包括单元测试。

Antonio Leiva's Blog - Antonio Leiva 博客

Antonio Leiva 的博客专注于 Kotlin 相关内容的发布。每周都会更新一些高质量的文章或教程,Kotlin 的高级开发者可以在其中了解到最新的 Kotlin 库以及各种实用技术。

Android Announces Support for Kotlin - Android 宣布对 Kotlin 的支持

Google 发表了官方博文,解释了为什么 Kotlin 能成为 Android 开发的第三官方语言。文章中简单介绍了 Kotlin 带来的一些优秀语法改进。

Design Patterns implemented in Kotlin - 在 Kotlin 中实现的 Design Pattern

DariuszBaciński 创建了一个 GitHub repo,其中有在 Kotlin 中实现的常见设计模式,也有用其他语言编写的类似项目,包括 Java,Swift,JavaScript 和 PHP,如果你是其中一项语言的使用者,可以用它们作为参考点。

Learn X in Y minutes - 学习 X 只需 Y 分钟

这是一个快速开发秘笈,里面有一些重要功能和特殊语法,能帮助你写出更好的 Kotlin 代码。文章中有列出关于类、循环、列表的使用介绍,也有经典编程问题的实现,如生成 Fibonacci 序列。

The Kotlin Blog - Kotlin 官博

Kotlin 的官方博客由 JetBrains 的一位作者负责。你可以在这里找到所有与 Kotlin 相关的新闻、更新、教程、使用技巧等的内容。

Get Started with Kotlin on Android - 在 Android 上开始使用 Kotlin

一篇很牛叉的文章,向我们展示了如何使用 Kotlin 编写和运行 Android 应用程序的测试。 作者很好地解释了测试的不同类型,不同类型的使用场合,以及如何确保正确测试。 这个主题的另一个优秀教程可以在这里找到。

二、视频演讲类

Introduction to Kotlin - Kotlin 介绍

来自 Google I / O 2017 的演讲,大会首次向人们介绍 Kotlin,并提出了改进工作流程的想法。它涵盖了许多基础知识,并展示了一些很酷的 Kotlin 技巧。

Life is Great and Everything Will Be Ok, Kotlin is Here - 明日胜于今,我用 Kotlin

Google I / O 2017 大会关于 Kotlin 的第二个演讲。这个演讲涵盖了更多高级话题,如设计模式,最佳实践和其他常见规则。 演讲也揭示了在生产中使用 Kotlin 的意义,以及在工作中采用新兴语言将面临的挑战。

Peter Sommerhoff's Kotlin Tutorials - Peter Sommerhoff 教你学 Kotlin

这是一个免费的 Kotlin 课程,适合初学者,前面介绍了从变量到条件循环和函数的所有基础知识,后面会深入到更高级的主题,如 Kotlin 中的面向对象以及像 lambda 表达式的功能编程。

Better Android Development with Kotlin & Gradle - 使用 Kotlin&Gradle 进行更好的 Android 开发

这个讲座从 2016 年开始,它介绍了现实世界中的编程语言功能,你将了解到 Kotlin 是如何适应 Android 工作流程中存在的工具。

Better Android Development with Kotlin & Gradle - 使用 Kotlin&Gradle 进行更好的 Android 开发

一个 8 分钟的浓缩教程,让你快速了解 Kotlin 的主要功能,如变量声明、Lambdas、扩展功能等等。

Android Development with Kotlin — Jake Wharton - 用 Kotlin 进行 Android 开发

关于 Kotlin 的介绍,演讲向我们解释了新语言是如何改进 Android 生态系统的,并展示了许多炫酷的方式,我们可以使用智能的 Kotlin 语法来获得优势。

三、其他重要资源

From Java To Kotlin - 从 Java 到 Kotlin

实用的快速提醒列表工具包含了一些简短的代码块,藉由这个来帮助你快速找到通用 Java 操作符、功能以及声明的 Kotlin 替代方案。

Kotlin Educational Plugin - Kotlin 教学插件

用于 IntelliJ IDEa 的插件,可让你在本地离线环境下使用 Koans 课程。

Kotlin on GitHub

Kotlin 于 2012 年开源,你可以对该语言进行贡献。

Kotlin Android Template - Kotlin Android 模板

Android 项目模板,使其非常容易设置稳定的 Kotlin 工作区,并快速引导你开发应用程序。

Awesome Kotlin - 不可错过的 Kotlin 资源列表

这是一个比较完整的 Kotlin 资源列表,包括各种实用链接、书籍、库、框架和视频等。该列表的组织结构完善,kotlin.link 也提供了一个风格化的版本。

编译自:20 Excellent Resources for Learning Kotlin

译者:开源中国 - 达尔文

链接:https://my.oschina.net/editorial-story/blog/916508

转载请务必在文中注明文章来源及作者

展开阅读全文
打赏
9
402 收藏
分享
加载中

引用来自“小安是屌丝”的评论

引用来自“kidfruit”的评论

引用来自“墨名次”的评论

我怎么觉得有那么多人认为javaer学不会kotlin一样
因为很多javaer码农都算不上,顶多码畜,学java已经花了很多脑细胞了,没脑力再去学新东西。

1.javaer会等这门语言相当普及了再学,因为一门语言不需要花一周
2.javaer想花更多时间在架构的研究上,因为永远不会过时.

@小安是屌丝 你这说的是极少数,多数javaer最多就是照着搜出来的教程写配置文件,说研究架构真是抬举了,就像很多c#开发只会拖控件一样。学习并不意味着一定要马上用于项目,而是取长补短扩展思维。很多javaer可是有很长一段时间连lambda都不知道,你所说的等普及只是很多javaer不学无术功利开发的借口。
2017/06/09 22:21
回复
举报

引用来自“orpherus”的评论

引用来自“石天保”的评论

引用来自“notreami”的评论

Kotlin有什么明显的优势呢?
1、语法优雅
2、100%兼容java相互调用
3、谷歌说Kotlin是安卓开发的一级编程语言

Kotlin有什么缺点呢?
1、没有谷歌提一句,奋斗6年,依旧什么作品都没有,java语法问题,可以用各类库来支持;
2、除了自家IDEA支持,还有哪家IDE支持?
满屏的问好叹号 并不优雅

满屏问号叹号,那是你不会用

引用来自“石天保”的评论

膜拜大神 请贴出你的代码 重写RecyclerView.ItemDecoration 的 ondraw 方法
不用理这个人,在所有关于Kotlin的帖子里都有!脑残粉的那种,不许别人说半个不字。。
2017/06/09 11:20
回复
举报

引用来自“墨名次”的评论

引用来自“小安是屌丝”的评论

引用来自“kidfruit”的评论

引用来自“墨名次”的评论

我怎么觉得有那么多人认为javaer学不会kotlin一样
因为很多javaer码农都算不上,顶多码畜,学java已经花了很多脑细胞了,没脑力再去学新东西。

1.javaer会等这门语言相当普及了再学,因为一门语言不需要花一周
2.javaer想花更多时间在架构的研究上,因为永远不会过时.

我还以为一个小时入门,两个小时直接开发呢

这样说吧,只有新手才会如此在乎语言,因为那是他们的唯一优势了,也许连这个优势都没有
2017/06/08 20:14
回复
举报

引用来自“德莫罗”的评论

不会花时间去学了,学了工作上也用不上。公司开发语言和个人爱好两码事。

还是有关系的,有时候某些team的选型,取决于少数几个人的个人喜好而已,稍微大点儿的公司,都会用十种以上语言。
2017/06/08 19:42
回复
举报
如果一个新语言,节省的时间还没学语言都时间多,那确实没必要学了,不划算
2017/06/08 19:37
回复
举报

引用来自“小安是屌丝”的评论

引用来自“kidfruit”的评论

引用来自“墨名次”的评论

我怎么觉得有那么多人认为javaer学不会kotlin一样
因为很多javaer码农都算不上,顶多码畜,学java已经花了很多脑细胞了,没脑力再去学新东西。

1.javaer会等这门语言相当普及了再学,因为一门语言不需要花一周
2.javaer想花更多时间在架构的研究上,因为永远不会过时.

我还以为一个小时入门,两个小时直接开发呢
2017/06/08 19:37
回复
举报

引用来自“kidfruit”的评论

引用来自“墨名次”的评论

我怎么觉得有那么多人认为javaer学不会kotlin一样
因为很多javaer码农都算不上,顶多码畜,学java已经花了很多脑细胞了,没脑力再去学新东西。

1.javaer会等这门语言相当普及了再学,因为一门语言不需要花一周
2.javaer想花更多时间在架构的研究上,因为永远不会过时.
2017/06/08 18:09
回复
举报

引用来自“闲大赋”的评论

能用java解决的用java,不能用java解决的用python,就算学了kotlin,这俩样还得精通。
💯
2017/06/08 17:42
回复
举报
不会花时间去学了,学了工作上也用不上。公司开发语言和个人爱好两码事。
2017/06/08 17:07
回复
举报
第三方语言如果使用java的类库,那么语言本身的优势体现不出来多少,java类库并不支持第三方语言的各种牛逼写法调用,如果不使用java的类库,完全使用第三方语言自己的,又实在太匮乏

不信?那举个例子:用kotlin引用个lucene试试,看看kotlin的优势能发挥多少

天天看这种文章,想起当年刚接触scala时的自己了,看java横竖都不顺眼,逢人便宣传scala的好,恨不得所有项目都用scala重写,后来真正使用一段时间,用到一些java类库之后发现,第三方语言真不是包治百病,从那之后再也没有为第三方语言布道过,哪个用着舒服用哪个

至于某些人因为别人不打算转kotlin就说别人智商低学不会的,我也是醉了
2017/06/08 17:03
回复
举报
更多评论
打赏
48 评论
402 收藏
9
分享
在线直播报名
返回顶部
顶部