Android开发之Kotlin使用指南
学习Kotlin之前应该弄清楚三个问题,Kotlin是什么,为什么要学习Kotlin,怎么学习Kotlin。
这篇文章先来解决第一个问题,什么是Kotlin?
Google爸爸是在今年的谷歌开发者大会上宣布了Kotlin成为Android正式的开发语言,但是Kotlin的发展已经有了相当长的一段时间了。
Kotlin来自于JetBrains公司,不知道这个公司是干什么的可以去百度一下Android Studio的发明者。起源来自JetBrains的圣彼得堡团队,名称取自圣彼得堡附近的一个小岛(Kotlin Island)。
Kotlin和Java的不同为什么Android一直使用的是Java进行开发,为什么现在推出Kotlin作为Android的官方开发语言呢?
其实,Kotlin是能够兼容Java的,两者的差别如下:
Kotlin的其他优点:空指针安全,支持方法扩展等等一系列的,会在之后的学习一一展示出来。。。
总结一下,为什么要选择Kotlin:1.简洁,Kotlin的代码确实比Java更加简洁,比如类型推断,省去结尾的分号等等,然而这远不能成为我们改用Kotlin的原因。
2.安全,这是Kotlin的一个很重要的特性。Kotlin是空指针安全的,JetBrains做了一件很聪明的事情,它们将运行时才能空指针的检测提前到了编译时,主要方式是增加了Any?这种可为空的类型,使用Kotlin之后,我们程序的空指针会得到明显的改善。
3.实用,高效率。Kotlin的实用具体表现在
引入Object,便于我们更好的应用单例模式
引入data class, 避免了我们手写getter/setter/toString等方法
引入参数默认值和具名参数,避免了不必要的方法重载
支持扩展方法,让我们可以省去好多必须要的代码
4.Kotlin引入了Lambda,Streams API 和函数式编程支持。
Lambda表达式可以省去了我们创建很多匿名内部类的代码(注由于目前Kotlin基于JVM6,Lambda表达式在字节码阶段依然会翻译成内部类形式)
Streams API 结合Lambda表达式和方法引用,让我们的代码处理一件事情以描述的形式,而不是命令实现的方式。
Kotlin支持OOP(面向对象编程)和FP(函数式编程),语言本身并没有限制,给了我们选择的*,Kotlin对FP的友好支持,便于我们写出更加稳定,易于测试,无副作用的方法和代码。
5.可读性 从客观上,Kotlin语法和特性上让代码更加具有描述性而已。但是不得不指出代码可读性主要依赖编写者的编码素质和能力。
对我个人而言,高阶函数和方法扩展这两个特点着实真心受用。方法扩展会让我有一种创造感,这是Java种的Util方法所无法比拟的。