学习目标
Kotlin是由JetBrains公司开发的,用于多平台应用的静态编程语言。2017年谷歌I/O大会上Android团队宣布Kotlin成为其官方头等支持语言。它可以被编译成Java字节码,100%兼容Java语言,也可以编译成JavaScript,方便在没有JVM的设备上运行。它比Java更简洁、更安全,能够静态检测常见的陷阱。
1.1 Kotlin简介
1.1.1 Kotlin的前景
Kotlin语言由JetBrains公司开发,是一个基于JVM的新编程语言,它的语法格式比Java更加简洁,现在已经正式成为Android官方支持的开发语言,并且100%兼容Java语言。目前Kotlin语言主要用于以下几个领域。
1,服务端开发
Kotlin语言非常适合开发服务端应用程序,并且与Java技术保持良好的兼容性,之前用Java语言做的服务端程序都可以使用Kotlin语言来代替。Kotlin的革新式语言功能有助于构建强大而易于使用的程序。Kotlin语言对协程的支持有助于构建服务器端程序,伸缩到适度的硬件要求以应对大量的客户端。Kotlin语言与所有基于Java语言的框架完全兼容,可以让你保持熟悉的技术栈,同时获得更现代化的语言优势。
2,Android开发
Kotlin语言也适合开发Android程序。在兼容性方面,Kotlin语言与JDK6完全兼容,保证了Kotlin应用程序可以在较旧的Android设备上运行。在性能方面,由于Kotlin支持内联函数,使用Lambda表达式的代码通常比使用Java的代码运行速度快,因此Kotlin应用程序的运行速度比Java快。在互操作性方面,Kotlin与Java可进行100%的互操作,在Kotlin应用程序中可以使用所有现有的Android库。在编译时长方面,Kotlin支持高效的增量编译,所以对于清理构建会有额外的开销,增量构建通常与Java一样快或者更快。
3,JavaScript开发
Kotlin提供了JavaScript作为目标平台的能力。这种能力通过将Kotlin转换为JavaScript来实现,目前的实现目标是ECMAScript 5.1。当选择JavaScript为目标时,作为项目部分的Kotlin代码以及Kotlin附带的标准库都会转换成JavaScript。但不包括使用JDK、任何JVM、Java框架或库。所有非Kotlin文件在编译期间会被忽略掉。Kotlin编译器遵循以下目标:提供最佳大小的输出;提供可读的JavaScript输出;提供与现有模块系统的互操作性;在标准库中提供相同的功能。
1.1.2 Kotlin的特性
1、简洁
在开发程序时,通常情况下开发人员会花费更多的时间去阅读现有代码。例如,需要在当前项目上添加新的功能,此时就需要阅读与当前功能相关的代码,而阅读代码的时间长短取决于代码量的多少。在Kotlin程序中,由于代码简洁,从而大大减少了样板代码的数量,因此在后续阅读代码时会更加简便,这就提高了工作效率,进而可以更快地完成任务。在许多情况下,IDEA工具将自动检测到可以用更简洁的结构替换公共的代码模式,并提供修复代码的方法,通过研究这些自动修复所使用的语言特性,可以在开发程序时灵活应用这些特性。
2、安全
一般情况下,为了保证编程语言的安全性,在设计程序时会尽量避免出错的可能,当然这并不能保证程序绝对不会出现问题。防止错误的发生通常以牺牲成本为代价,需要给编译器更多关于程序的预期操作信息,这样编译器就可以验证与程序所做的匹配信息是否一致。
Kotlin试图用较小的成本获取比Java更高级别的安全性。在JVM上运行的程序已经提供了许多安全机制,例如,防止内存泄漏、防止缓冲区溢出以及由于不正确使用动态分配内存造成的其他问题等。Kotlin作为一种静态语言,在JVM上也保证应用程序的类型安全,不必指定所有类型的声明。很多情况下,编译器会自动推断类型。此外,Kotlin允许定义可空类型变量,并提供了多种方式对空数据进行处理,这样可以避免程序的空指针异常(NullPointerException),从而大大降低了程序崩溃的可能性。
3、互操作性
Kotlin与Java的互操作性,表现在Kotlin程序可以调用Java中的方法、扩展Java类、实现Java中的接口以及使用Java语言来注释Kotlin程序等。kotlin中的类和方法可以完全像普通的Java类和方法一样去调用,这样Java代码与Kotlin代码可以在项目中的任何地方进行互调。其重点体现在使用现有的Java标准库扩展Java中的功能,使Kotlin程序使用起来更方便。
Kotlin的开发工具IDEA还提供了跨语言项目的全力支持,它不仅可以编译Java源文件,而且还可以使Java与Kotlin进行任意的组合。IDEA工具的跨语言功能,允许程序执行如下操作。
1.2 Kotlin开发环境的搭建
1.2.1 Kotlin常用的开发工具
在Kotlin的官方文档(kotlincn.net)上可以看到,Kotlin语言的开发工具有4种类型。
分别是IntelliJIDEA、Android Studio、Eclipse以及Compiler。这4种工具的简单介绍如下。
1.IntelliJ IDEA
IntelliJ IDEA是JetBrains公司开发的,是Kotlin官方推荐使用的开发工具。在Kotlin官网上下载最新版本的IntelliJ IDEA,已经默认安装了Kotlin插件。如果下载的IntelliJ IDEA没有Kotlin插件,则可以打开IntelliJ IDEA的插件安装界面,完成插件的安装或升级。
2.Android Studio
Android Studio是谷歌公司基于IntelliJ IDEA开发的一个工具,主要用于Android程序的开发。Android Studio从3.0版本开始内置安装Kotlin插件。如果使用的是3.0版本之前的版本,则可以通过Android Studio的插件安装界面完成Kotlin插件的安装,插件安装完成后需要重新启动Android Studio。
3.Eclipse
Eclipse是一款经典的开发工具,虽然它是由Java语言开发的,但它不仅支持Java语言,而且还支持C/C++、COBOL、PHP、Android等编程语言,现在还支持Kotlin语言。如果想要在Eclipse工具中开发Kotlin语言程序,则需要安装Kotlin插件。
4.Compiler
Compiler是一个命令行的编译器,在Kotlin官网上也可以下载这个工具,然后通过命令行来编译Kotlin程序。
以上4种工具中,Android Studio是在IntelliJ IDEA工具的基础上添加了一些针对Android开发的插件,这些插件在开发Kotlin语言的程序中是用不到的;Compiler工具用起来不太方便;Eclipse与IntelliJ IDEA工具开发Kotlin语言都比较方便。
我们可以选择Kotlin官方推荐的工具IntelliJ IDEA。
1.2.2 IntelliJ IDEA的安装
1.下载IntelliJ IDEA
首先打开JetBrains公司官网,单击界面上的【Download】按钮进入到下载界面,在这个界面上有两个选项,分别为Ultimate企业版(免费试用)与Community社区版(免费开源),这里可以选择Community版本的IntelliJ IDEA,点击【下载】按钮进行下载,此处下载最新版本的IDEA
2.安装IntelliJ IDEA
在安装IntelliJ IDEA工具的过程中,可根据个人喜好选择程序的安装位置。
单击【Next】按钮,进入安装设置界面。在该界面Create Desktop Shortcut下方有两个复选框,用于选择计算机系统位数,分别是【32-bit launcher】和【64-bit launcher】,根据相应的系统位数,右键单击【我的电脑】,单击【属性】,查看系统位数选择即可。我们一般选择64位。
开发第一个Kotlin程序
接触第一门新语言时,编写的第一个程序基本都是Hello World。
当第一次打开新安装的IntelliJ IDEA工具时,首先会进入欢迎界面。在这个界面上有4个选项,分别是【Create New Project】,【Import Project】,【Open】以及【Check out from Version Control】,这4个选项分别表示的是创建一个新工程、导入一个工程、打开文件夹以及从svn或git上获取一个工程。在这里选择【Create New Project】选项,创建一个新的工程。
启用新UI
创建项目
最后设置该项目的名称(Project name)为Chapter01,如图选择设置,单击【Create】按钮完成Chapter01项目的创建。
项目创建完成了,此时在IntelliJ IDEA中会显示创建好的Chapter01程序,右键单击【src】,选择【New】- 【Package】选项,创建 com.dashu.chapter01包。
包创建完成后,右键单击com.dashu.chapter01包名,选择【New】 - 【Kotlin/Class】选项,选择File,创建HelloWorld.kt文件。
HelloWorld.kt文件创建完后,接着需要创建程序的入口函数main() ,添加一行输出语句“println(Hello Wolrd)”,运行左边箭头,打印成功!
可能遇到的Bug以及解决:
1.println报错
解决方法:项目结构 - SDK - 重新移除并添加Java SDK
2.运行箭头消失,无法运行
解决方法:如图设置
温馨提示:答案为网友推荐,仅供参考