你在使用哪种编程语言?快来投票,亲手选出你心目中的编程语言之王 了解详情
写点什么

Kotlin 成为正式的 Android 编程语言

2017 年 5 月 22 日

在 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 年 5 月 22 日 19:008296
用户头像

发布了 321 篇内容, 共 112.3 次阅读, 收获喜欢 113 次。

关注

评论

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

架构师训练营:第四周第一节,互联网架构系统架构的演化

zcj

极客大学架构师训练营

JDBC 批量插入:MyBatis、PostgreSQL

羊八井

postgresql mybatis JDBC

mysql字符匹配批量修改

毛佳伟🐳

MySQL

Week2:作业二

车小勺的男神

ARTS 第五周 6.21-6.28

我笔盒呢

LeetCode 655. Print Binary Tree

liu_liu

算法 LeetCode

网络性能篇 (13讲)

程序员老王

[深入理解Redis]读取RDB文件

老胡爱分享

redis 源码阅读

在以后的高校招生中,应用区块链技术,可以防、治冒名顶替吗?

CECBC区块链专委会

区块链技术 高考 信息防篡改

计算机操作系统基础(二)---进程管理之进程实体

书旅

php laravel 多线程 操作系统 进程

游戏夜读 | 这是一款情绪游戏

game1night

ARTS 第四周 6.15-6.21

我笔盒呢

如何搭建一个Hadoop集群

Rayjun

大数据 hadoop

如何让你的大脑更健康

兆熊

学写PEP,参与Python语言的设计

早睡蟒

Python Python PEP PEP

疫情常态下区块链构建分布式数字身份

CECBC区块链专委会

疫情 区块链技术 分布式数字身份

serverless之一:入门

毛佳伟🐳

Serverless

计算机操作系统基础(一)---操作系统概览

书旅

php laravel 多线程 操作系统 进程

Week2:作业一

车小勺的男神

MySQL InnoDB存储引擎 - 事务

Arthur

微信支付的软件架构究竟有多牛逼...

程序员生活志

微信 架构

ARTS打卡-04

Geek_yansheng25

架构师训练营 - 第 3 周学习总结

红了哟

ARTS Week5

时之虫

ARTS 打卡计划

来了!8M/S+速度,Pdown复活!

程序员生活志

架构师训练营 - 第 3 周命题作业

红了哟

Github仓库如何选择开源许可证

早睡蟒

GitHub 开源许可证 GitHub license

计算机操作系统基础(三)---进程管理之五状态模型

书旅

php laravel 多线程 操作系统 进程

计算机操作系统基础(四)---进程管理之进程同步

书旅

php laravel 多线程 操作系统 进程

神器工具:新一代多系统启动 U 盘装机解决方案

JackTian

工具软件 U盘启动盘 安装操作系统 ventoy ISO 镜像文件

架构师训练营第四周总结

hiqian

云原生场景下企业API 网关选型及落地实践

云原生场景下企业API 网关选型及落地实践

Kotlin成为正式的Android编程语言-InfoQ