Kotlin是JetBrains开发的针对JVM、Android 和浏览器的静态编程语言。
JetBrains,作为目前广受欢迎的 Java IDE IntelliJ IDEA 的开发商,在 Apache 许可下已经开源其Kotlin 编程语言。JetBrains 作为最智能的 Java IDE 的开发商,对 Java 的了解是毋庸置疑的,在使用 Java 过程中,JetBrains 的工程师们发现了大量的问题,为了更高效的开发以及解决 Java 中的一些问题,JetBrains 开发了致力于替代 Java 的 Kotlin。
为什么使用 Kotlin?
1、简洁——大大减少您需要编写的样板代码量
使用一行代码创建一个包含getter
,setter
并重写equals()
,hashCode()
,toString()
,copy()
等方法的POJO
:
- 1
虽然 Java8 中引入了 lambda 表达式,但是由于类库兼容性等问题,我们的一些老项目还在使用旧版本的 JDK。而 Kotlin 提供了 lambda 表达式支持而只需使用 JDK6 + 版本。下面的代码使用 lambda 表达式过滤List
:
- 1
极简的单例模式:
- 1
- 2
- 3
2、安全——避免整个类的错误,如空指针异常
摆脱那些讨厌的 NullPointerExceptions 可能导致十亿美元损失的错误。
- 1
- 2
Kotlin可以保护您免受对可空类型的误操作,包括来自Java的类型。
- 1
如果你检查一个对象的类型是否是某个类型,编译器会自动转换该对象为您检查的类型。
- 1
- 2
- 3
- 4
- 5
3、多用途——支持多中类型的应用程序
多用途语言允许您构建任何类型的应用程序:
-
Android开发。
没有性能影响。运行时非常小。 -
服务器应用
100%兼容所有JVM框架。 -
JavaScript
在Kotlin中编写代码,并转换为 JavaScrip 在 Node.js 或浏览器中运行。 -
企业
使用Kotlin进行任何类型的企业Java EE开发。 -
网页
无论您是要强制类型的HTML,CSS构建器还是简单的Web开发。 -
其他所有(ios、嵌入式等等)
Kotlin/Native 在2017年4月份推出了预览版,并在在官方博客中描述了对Kotlin/Native
的美好愿景。Kotlin/Native 使用LLVM编译器基础架构生成机器代码。在这个预览中,我支持以下目标平台:
- Mac OS X 10.10及更高版本(x86-64)
- x86-64 Ubuntu Linux(14.04,16.04及更高版本),其他Linux版本也可以正常工作
- 苹果iOS(arm64),在MacOS X主机上交叉编译
- Raspberry Pi,在Linux主机上交叉编译
博客中提到后期还要加入:
- iOS应用程序(使用Android重用代码)
- 嵌入式系统/ IoT(例如,Arduino及其以外)
- 数据分析与科学计算
- 服务器端和微服务器(低占用性、可执行,利用协同程序的功能)
- 游戏开发
4、可互操作——100%兼容 Java 从而可利用已有代码及 JVM 类库
在 Kotlin 代码中随意创建 Java 对象、使用已有 Java 代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
或者使用 JVM 上的任何现有库,因为 Kotlin 对 Java 有100%的兼容性,包括SAM支持。
指定 JVM 或 JavaScript。在Kotlin编写代码,并选择你要部署到哪里。
- 1
- 2
- 3
- 4
- 5
5、多工具支持——自由选择命令行编译器或一级IDE支持
Kotlin目前提供了四种编写方式:
- 命令行编译工具
- 在线编辑 Try Kotlin
- Eclipse
- IntelliJ IDEA
其中 IntelliJ IDEA 提供了对 Kotlin 最新功能的支持,也是 Kotlin 最智能的编辑器。
前景如何?
目前 花瓣、豆瓣 APP 以及 JetBrains 全线编辑器都在使用 Kotlin,国内很多初创公司也都在使用 Kotlin(尤其是用于 Android 开发)大家可以参考下 哪一些大公司在使用 kotlin 开发应用? Kotlin 被业内称之为 Android 的 Swift ,从这个称呼中大家也能感觉到开发者对 Kotlin 的喜爱程度了吧。Spring Framework 5.0 也提供了对 Kotlin 支持可以看出 Kotlin 在服务端以及移动端都有较好的发展。