当前位置 博文首页 > 历史上的今天:Kotlin 教程(一):走进 Kotlin 的世界
今年 Google I/O 大会上,官方扶正 Kotlin 的举动火遍整个 Android 开发圈。不过,有些开发者似乎过度解读 Google 的意图,认为 Kotlin 要取代 Java 成为 Android 开发的标配,大会上说的是 official support kotlin,并非 replace java with kotlin。以至于后来回公司上班,后台童鞋打招呼的时候还问,听说你们 Android 以后不用 Java 要用 Kotlin 写(那位后台童鞋之前用 Kotlin 写过服务器代码)。好吧,我本人是不支持官方一支持 Kotlin 后,就说 Java 辣鸡,Kotlin 才是王道这类说法。毕竟,语言终究有自己的优缺点,既然官方开始支持了,我们不妨利用一些空余时间学习一下 Kotlin 好了。
Kotlin 是 JetBrains 推出项目,是一种在 Java 虚拟机上运行的静态类型编程语言,也可以被编译成为 JavaScript 源代码。在 2011 年 7 月推出之前,它已被开发一年之久。直到 2016 年 2 月 15 日,官方发布了第一个稳定的 release 版本 —— Kotlin v1.0。从 Kotlin 官网介绍来看,这近乎是一门野心勃勃的语言。
不过 Kotlin-Native 项目还在开发阶段,不知道最终推出的项目如何,还是蛮期待的,感兴趣的朋友可以关注它的 Github 更新:
https://github.com/JetBrains/kotlin-native
我在 2015 年的时候就开始留意到 Kotlin 这门语言(当然仅仅是留意,并未深入了解过),因为偶尔逛 Github 的时候会看到一些 Kotlin 编写的 Android 开源项目,直到 2016 年 12 月底的时候,又发现了 Github 的 Trending 榜上居然有 Kotlin 一项。
感到惊讶之余,也说明了越来越多的开发者在 Github 上提交 Kotlin 项目代码。这也意味着如果我们想要用 Kotlin 开发 Android 项目,可以从 Github 上获取到很多开源项目支持,如:
开发环境上,需要先安装 Apache Ant(1.9.4 或更高版本)和 JDK(1.6, 1.7 and 1.8)。然后再安装开发的 IDE,关于 Kotlin 开发的 IDE 有很多,如:
小到记事本同样可以编写 Kotlin 代码(这句简直是废话)。
获取 Entity 中的属性值,这里不要认为跟 Java 中把属性声明成为 public 一样(后面的文章再详细说明)。
关于代码精简的特点还有很多例子,不一一赘述。
Java8 有了 Lambda 表达式后是下面这样的。
而 Kotlin 支持 Lambda 可以写成这样,对比 Java 版的 setOnClickListener 大家可以看得出区别。
要想程序正常运行,你就需要改成下面这样的代码。
关于 Kotlin 的 NPE 处理,还有很多有意思的地方,同样以后再细说。
关于 Kotlin 的特点暂时写到这里,我也是一边学习一边写文章记录,后面说不定还得看到更多亮点。
简单了解完 Kotlin 后,最后从 IDE 上跑一下代码来结束本文,下面分别从 IntelliJ IDEA 和 Android Studio 环境下分别运行一下代码。
安装 IntelliJ IDEA 后,创建一个基于 JVM 开发的 Kotlin Project。
然后再 src 目录下创建一个 Kotlin Class
写一段最简单的入门代码,点击运行即可看到控制台有输出结果,以及生成相应的字节码文件。
在 Android Studio 2.x 的环境下运行 Kotlin 代码需要先安装前面提到的 Kotlin 插件,安装完后重启 AS,你就可以在对应的包下创建 Kotlin 的类文件以及 Activity 等。
创建完 Kotlin 类后,会弹出下面的弹窗配置相应的 Kotlin 依赖。
这样就会在你的 AS Project 以及对应的 Module 下出现如下配置。
这样你就可以在 AS 愉快的跑起 Kotlin 代码了。
本文所涉及到的代码,都放在:https://github.com/D-clock/KotlinSample,需要的同学可以自取。Kotlin 官方也给了很多学习示例代码,可以从这里获取学习:https://try.kotlinlang.org 。
好了,关于 Kotlin 教程的第一篇就到这里,文章也是自己的学习笔记,如果有错误疏漏,欢迎留言指点。
作者: 纪喜才(@D_clock爱吃葱花),YY Android开发工程师,热爱开源并学习开源,热衷于技术分享。个人博客:http://blog.coderclock.com/,Github 地址:https://github.com/D-clock
责编: 唐小引(@唐门教主),欢迎技术投稿、约稿、给文章纠错,请发送邮件至tangxy@csdn.net。
感谢作者的辛苦撰文分享,技术之路,共同进步。