查看原文
其他

Kotlin成为Android官方开发语言,花几分钟搞定它!「附学习资料下载」

2017-05-22 达内Android培训

 

写在前面

Google I/O 2017 首日 Keynote 刚刚落幕,其中 Google 宣布 Android 系统开发全面支持Kotlin 算是一个非常重磅的新闻。你可能对Kotlin有了一定的了解,今天我们再来深入了解下这门语言。


后台回复「视频」,获取Kotlin视频资料。由于资源容易被删,发现删了请给我直接留言,我给你直发下载链接。

如果你是才知道 Kotlin,请先了解下面这些


  • Kotlin 是一个基于 JVM 的新编程语言,用 JetBrains 的话来说是「更现代化、更强大」的语言。


  • Kotlin 由 JetBrains 在 2010 年开发,2011 年开源了: https://github.com/JetBrains/kotlin  。2016 年发布 1.0 版,2017 年 4 月发布 1.1.2 版。

  • 谷歌安卓团队和 JetBrains 的关系不一般。Android Studio 就是基于 JetBrains 开发的 IntelliJ IDEA 社区版; 

  • 谷歌和 JetBrains 将为 Kotlin 成立一个非盈利基金会。Kotlin 语言的开发,还是 JB 为主导。

  • Kotlin 语言的开发团队,目前大约 40 人。会继续往常那样运作。Andrey Breslav 还是 Kotlin 语言的首席设计师。

  • JetBrains 对 Kotlin 的愿景是:用同一种语言,桥接多平台的不同应用的端对端开发。包括全栈 Web 应用、Android 和 iOS 客户端、嵌入式/物联网等等。

  • Kotlin 与 Java 100% 互通,并具备诸多 Java 尚不支持的新特性。


  • Android Studio 3.0 预览版已支持 Kotlin。下载 AS 3.0 预览版后,打开现有的 Java 文件,在「Code」菜单中选择「Convert Java File to Kotlin File」。AS 会添加 Kotlin 依赖,然后把 Java 代码转成同等功能的 Kotlin 代码。

  • Kotlin 易于上手,可以逐步引入到现有项目中。这意味着安卓开发者目前现有的技能和技术积累/投资并没有浪费。


 

Kotlin的简介

Kotlin 是一个基于 JVM静态类型编程语言,由 JetBrains 开发。于2010年首次推出。


相信很多人都会问:为什么Kotlin可以加入Android家族?它和java相比,在语法,可用性,UI性能和异步性方面双方孰好孰坏?接下来咱家就为您探讨探讨


 

Kotlin VS Java


语法简单不啰嗦

Kotlin的一个主要优点是它的简洁。 你用更少的代码获得更多的功能。


① Kotlin 支持类型推断,没有 Java 那样的啰嗦。

② 用 var 表示变量,val 表示常量更加的简洁

③ 方法也很简单,连 function 都缩写成了 fun

④ 类的继承和实现很简单,使用:即可

⑤ Kotlin 每个句子都不需要加分号 (;)


避免空指针异常

在许多编程语言中最大的痛苦 - 空指针异常。 但是使用Kotlin,这个问题得到了很好的解决


① 在类型上的处理,即在类型后面加上?,即表示这个变量或参数以及返回值可以为 null,否则不允许为变量参数赋值为 null 或者返回 null

② 对于一个可能是 null 的变量或者参数,在调用对象方法或者属性之前,需要加上?,否则编译无法通过。


支持方法拓展

Kotlin有一个聪明的解决方案 - 扩展功能 ,帮助你摆脱所有的util类一劳永逸。扩展函数几乎是一个通常的Kotlin函数。 但是当你声明它,你需要指定的实例将具有扩展功能的类。

注意:Kotlin 的方法扩展并不是真正修改了对应的类文件,而是在编译器和 IDE 方面做得处理。使我们看起来像是扩展了方法。



高阶函数, 函数式编程支持

所谓的高阶函数就是:可以接受函数作为参数,也可以返回函数作为结果。

Kotlin 支持了 Streams API 和方法引用,这样函数式编程更加方便。比如下面的代码就是我们结合 Jsoup,来抓取某个 proxy 网站的数据,代码更加简单,实现起来也快速。


 

关于性能

Kotlin 的执行效率和 Java 代码的执行效率理论上一致的。有时候 Kotlin 可能会显得高一些。比如 Kotlin 提供了方法的 inline 设置,可以设置某些高频方法进行 inline 操作,减少了运行时的进栈出栈和保存状态的开销。


 

与Java互操作

Kotlin 在设计时就考虑了 Java 互操作性。可以从 Kotlin 中自然地调用现存的 Java 代码,并且在 Java 代码中也可以 很顺利地调用 Kotlin 代码。


 

总结

Kotlin的特性有很多,总的来说, Kotlin这门语言简化了Java , 完全是从一个是实用派的角度,而不是学院派的角度。


相比于JRuby , Jython这些一移植到JVM上的语言, Kotlin 和Java 和互操作感觉更加自然。


每个语言的流行都需要一个引爆点,就像Ruby on Rails 引爆了Ruby 一样, Android 也许就是之前不那么流行的Kotlin的引爆点。


最后附上Kotlin学习资源:

1.kotlin官方中文翻译文档网址:

https://www.kotlincn.net/docs/reference/

2.Kotlin官网

http://kotlinlang.org/

3.kotlin中文官网

https://www.kotlincn.net/

4.kotlin的gitbook网址

https://www.gitbook.com/book/hltj/kotlin-reference-chinese/details


后台回复「视频」,获取Kotlin视频资料。由于资源容易被删,发现删了请给我直接留言,我给你直发下载链接。



更多干货



学懂技术关键点,月薪3W,你也可以!



5月安卓免费训练营免费报名中,点击「阅读原文」免费报名。

回复「领取」免费下载安卓学习资料&工具&组件

课程介绍:Android开发工程师!18K月薪之上,保持一颗改变世界的雄心!

回复「安卓前景」查看行业前景和钱景。


各类干货和励志鸡血,更有各种好玩好看的资讯!

点击阅读原文获得Android课程免费试听名额

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存