美文网首页
Kotlin成神之路

Kotlin成神之路

作者: xiaobug | 来源:发表于2018-07-27 08:52 被阅读529次

前言

  • Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言

  • 谷歌在 2017 年 5 月的 Google I/O 中宣布 Kotlin 这门编程语言成为 Android 新官方语言

Kotlin的优势

在 Kotlin 之前,JetBrains 团队一直使用 Java 来创建他们的 IDE。那为什么他们要开发一门新的编程语言呢?

JetBrains 团队之所以开发 Kotlin 这门新语言,是因为他们对已经存在的语言略有失望。这和 Go 语言的发明动机类似。

当时,Java 和其他语言都不能满足 JetBrains 的需求,而 Scala 语言虽然不错,但无奈编译时间太长,于是 Kotlin 因运而生。

Kotlin 从不少语言获得灵感,比如 Java、Scala、Groovy、C#、Gosu,可以说是博采众长。既具备了快速开发的能力,编译运行也快,实现相同功能的代码长度可以比 Java 少很多。

Java 和 Kotlin 对比
Java 和 Kotlin 对比_官网
Swift对比Kotlin

列举Kotlin的主要优势

  • 多平台开发的可能 :基于 JVM 的开发,Android 开发,Web 开发,Native(原生)开发。其中 Web 开发可以结合 Spring 框架,而且 Kotlin 也可以编译生成 JavaSript 模块,可以在一些 JavaScript 的虚拟机上编译。Native 开发就更牛了,目前 Kotlin 官方在 Github 开源了 Native 开发的源码 https://github.com/JetBrains/kotlin-native,基于 LLVM(Low Level Virtual Machine 的缩写,表示「底层虚拟机」。LLVM 是一种编译器基础设施,以 C++ 写成。它是为了任意一种编程语言而写成的程序,利用虚拟技术创造出编译时期、链接时期、运行时期以及闲置时期的最优化)的后端,方便为各个平台编写原生应用,比如为 Mac OS,iOS,Linux,嵌入式系统,等等。

  • 开源:闭源项目总归比较有限。众人拾柴火焰高,代码开源可以更快速地发现 Bug,有了全世界各地程序员的贡献,Kotlin 的优秀代码和库会越来越多。Linux 系统就是开源的很好例子。

  • 和 Java 100% 兼容 :Kotlin 调用 Java 已有的代码或库没有问题。在一个项目中也可以同时用 Java 和 Kotlin 来编写代码。Android Studio 和 IntelliJ IDEA 都可以实现一键转换 Java 代码到 Kotlin。官方也有专页介绍:https://www.jetbrains.com/help/idea/2017.1/mixing-java-and-kotlin-in-one-project.html

  • 安全 :大家聊得最多的肯定是可以轻松防止在 Java 中很常见的 NullPointerException(空指针异常)问题咯。做 Android 开发的一定深有体会,一般 app 奔溃,基本都是因为 NullPointerException,很多时候规避机制就是加一个 if 语句的判断,很累赘。

  • 容易学习 :Kotlin 语法很简单,和主流语言类似,语法高效,入门非常容易。好比当初苹果发布 Swift 也是因为 Objective-C 的语法奇怪,学习曲线比较陡峭。

  • Lambda 表达式。

  • 变量类型推断。

  • when 语句块 :告别繁琐的 switch 和 if... else if... else 语句块。

  • 非常方便的运算符重载。

  • 不再需要手动添加 get 和 set 方法对了,直接对类的私有变量赋值和取值。

  • Anko 这样的 Kotlin 的官方库可以使 Android 应用开发更快捷。

  • 函数/方法 的关键字是 fun,而不是 function。真的很简洁也很有趣(fun 是英语「有趣」的意思)。

  • Var 和 Val 关键字 :和 fun 关键字类似,也很简洁。Var 是 Variable(英语「可变的」之意)的缩写,表示「可变的」变量。Val 大概是 Value (英语「值」之意)的缩写,表示只能赋值,而不能改写其值,是表示「只读的」变量,有点类似 C 语言中的 const 变量。这两个关键字的起名估计是参考了 Scala 语言。

  • 类的方法扩展很方便。

  • 可以创建自定义的 DSL(领域特定语言)。

  • 优秀工具的支持 :JetBrains 公司开发了那么多优秀的工具,Kotlin 可以完全享用。

  • Coroutine :协程。

官方学习资料

Kotlin官网
Kotlin官方博客
Kotlin源码

民间学习资料

Kotlin中文文档
Kotlin教程_RUNOOB
博客教程1
博客教程2
博客教程3
免费的编程中文书籍索引

相关文章

  • Kotlin成神之路

    前言 Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言 谷歌在 2017 年 5 月的 Go...

  • java 学习计划

    这是HollisChuang写的Java成神系列 Java工程师成神之路Java成神之路系列文章

  • Kotlin 进阶之路 目录

    Kotlin 进阶之路 目录 Kotlin 进阶之路1 基础语法Kotlin 进阶之路2 集合类型Kotlin 进...

  • Spark任务提交方式和执行流程

    福利部分 《大数据成神之路》大纲 大数据成神之路​shimo.im 《几百TJava和大数据资源下载》 资源下载​...

  • Spring MVC & Boot & Clou

    昨天我们发布了Java成神之路上的知识汇总,今天继续。 Java成神之路技术整理(长期更新) 以下是Java技术栈...

  • 成神之路!!!

    学习上的名次,绝不是一时间的比较。而是长时间的努力来决定的!!!每天早起哟!.6.30~

  • 成神之路

    终极追求幸福:人生追求多种多样,不同的人有不同的理解,没有什么对错可说。但所有的追求总结在一起时会发现,幸福可以解...

  • 成神之路

    我有一个很有意思的计划,我打算今年不写其他电影的影评,只写关于《黑客帝国》电影的影评类文章,我想知道自己用一年能够...

  • 成神之路

    朋友今天开玩笑说等着看我“封神”,我回笑说“成神之路”不好走。 我最喜欢两个时间段:每天跑步时和洗澡时。在这两个时...

  • 成神之路

    “他进入了裂谷,他闯入了沙漠,他找到了成神之路,他实现了永生。(完)”——《成神》 “什么 ?怎么一下子就完结了,...

网友评论

      本文标题:Kotlin成神之路

      本文链接:https://www.haomeiwen.com/subject/bbobmftx.html