《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

Kotlin 成为正式的 Android 编程语言

  • 2017-05-22
  • 本文字数:940 字

    阅读完需:约 3 分钟

在 Google I/O 2017 大会上,Google 正式宣布 Android Studio 3.0 完全支持 Kotlin ,Kotlin 也将从 JetBrain 移交给独立的非盈利组织来进行后续的开发。

Google 正式将 Kotlin 加入到 Android 的开发语言行列,其他为数不多的语言还包括 Java 和 C++。关于为什么选择 Kotlin,Google 说“Kotlin 简洁、表现力强,而且具有类型安全和空值安全(null-safe)的特点,很多 Android 开发者发现 Kotlin 可以让开发变得更快也更有趣”。另一个很重要的原因是 Kotlin 可以与 Java 进行完整的互操作,并且也是运行在 JVM 上。Kotlin 还能调用 C++ 和 Android 代码,因为它可以通过 external 标识符来支持 JNI。Kotlin 的源代码可以被编译成 JVM 的字节码,也可以生成 JavaScript 代码。

在过去,开发人员需要通过 Android Studio 的插件来使用 Kotlin,而现在,他们可以在 Android Stuido 3.0 里直接使用 Kotlin,包括重构、自动完成、lint、调试和其他操作。Android Studio 3.0 也是在 Google I/O 2017 大会上发布的,不过现在只有处于 canary 阶段的预览版本,可能还需要几个月的时间才能发布正式版。

Kotlin 与 Java 之间的互操作性是它被广泛采用的特性之一。Android 的 Java 代码可以被 Kotlin 调用,Kotlin 的代码也可以被 Java 调用,一个 Android 项目里可以包含 Java 文件和 Kotlin 文件,Java 文件还可以被转成 Kotlin 文件。开发人员不一定要全面地学习 Kotlin,他们可以继续使用 Java 开发,然后试试水,看看会不会喜欢上 Kotlin。对于喜欢 Kotlin 简洁性的开发者来说,他们或许会更多地使用 Kotlin。

Kotlin 兼容 JDK 6 及以上版本,它可以运行在大多数 Android 版本上,包括一些比较旧的版本。Android 同时也支持 Kotlin 的 coroutine,不过因为这是一个实验性质的特性,所以 Google 并没有针对这个特性做出任何承若,它完全取决于这门语言自身的发展。

Google 透露,他们正在与 JetBrain 展开合作,将 Kotlin 移交给第三方的非盈利组织进行后续的开发。虽然说 Kotlin 是开源的,不过交给这样的一个组织来看管,可以在一定程度上保证语言的未来不会落入某一家的公司手里。这一举动也意味着 Google 将会介入 Kotlin 的推广工作,这对于 Kotlin 来说是一个利好消息。

查看英文原文: Kotlin Is Now a Supported Android Language

2017-05-22 19:0010959
用户头像

发布了 322 篇内容, 共 151.7 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

腾讯看点基于 Flink 的实时数仓及多维实时数据分析实践

Apache Flink

flink

提高网站的吞吐量

架构师修行之路

week13--课后总结

Geek_165f3d

week13---课后作业

Geek_165f3d

第13周作业

机器学习笔记-概念

superman

架构师训练营第 1 期第 2 周作业

好吃不贵

极客大学架构师训练营

华为,与山河共舞这支芭蕾

脑极体

Mac 系统 VS Code 设置向下复制粘贴当前行快捷键(Ctrl + D)

AlwaysBeta

ide vscode Mac

架构师训练营第 1 期第 2 周学习总结

好吃不贵

极客大学架构师训练营

北京自贸区总体方案公布:建设法定数字货币试验区

CECBC

金融 国内宏观

01_Eureka源码初探

阿亮

源码 微服务 SpringCloud Eureka

“工业互联网+区块链”融合发展新图景

CECBC

区块链 互联网 信息安全

有感-人工智能学习

superman

机器学习如何推进现代医疗护理服务的变革

Geek_b33b8e

学习 开源 跨平台 行业资讯 医疗方案

学习笔记-人工智能概念(小白)

superman

按自己的逻辑,避免千篇一律的呈现品牌官方商城

boshi

产品设计 页面展示 商城

Apache Pulsar 社区周报|09-12~09-18

Apache Pulsar

开源 云原生 pulsar Apache Pulsar 消息中间件

你觉得Android又凉了?那带你看下2020年Android开发的前景如何?

Geek_211aa0

android 程序员 中年危机 移动开发 前景

为什么选择敏捷软件开发-考虑敏捷开发的主要优势

小隐乐乐

敏捷开发

中国消费者独享长达三个月的年终跨境网购狂欢季

爱极客侠

Flink 源码 | 自定义 Format 消费 Maxwell CDC 数据

Apache Flink

flink

阿里3轮面试都问了RecyclerView

Geek_211aa0

android 面试 阿里 移动开发 RecyclerView

Spring 5 中文解析数据存储篇-DAO支持

青年IT男

Spring5

Java8 之 Lambda 表达式

hepingfly

Lambda java8 新特性

磨刀不误砍柴工,搞定云网络系统性能测试

lklmyy

IaaS 云网络 质量保障

第二周-框架设计-学习总结

刘希文

Initialization failed for 'https://start.spring.io' Please check URL, network and proxy settings解决办法

Geek_416be1

区块链行业简报

CECBC

区块链 金融 银行

甲方日常 21

句子

生活 工作 随笔杂谈 日常

【MySQL】面试官:如何添加新数据库到MySQL主从复制环境?

冰河

MySQL 高可用 主从复制

Kotlin成为正式的Android编程语言_Java_Abel Avram_InfoQ精选文章