写点什么

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:0010920
用户头像

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

关注

评论

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

《架构师训练营》第四周总结

一文带你学会 Blob(含 7 个使用场景)

Geek_z9ygea

Java 大前端 Web Blob

架构师训练营作业 -Week4

wyzwlj

极客大学架构师训练营

《架构师训练营》第四周命题作业

谈反应式编程在服务端中的应用,数据库操作优化,提速 Upsert

newbe36524

C# MySQL 数据库 mongodb Reactive

ARTS-WEEK5

一周思进

ARTS 打卡计划

python中对字典与列表组合进行排序

开心太平洋

Python List 排序

区块链冷链食品追溯系统

CECBC

区块链技术 上链 溯源 浙冷链

原来使用Postman如此简单,API测试之Postman使用全指南

软测小生

接口 Postman 接口测试 API API测试

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

CATTY

安畅迁移平台的云原生之路

雪雷

Kubernetes DevOps 云原生 CI/CD 迁移

围绕 Office 365 的那些 CLI

手艺人杨柳

Office 365

SQL运行内幕:从执行原理看调优的本质

帅旋

MySQL 数据库

学习总结 - 第 4 周

饶军

央行数字货币:第三方支付产业新变量

CECBC

数字货币 DCEP 区块链技术

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

朱月俊

快来解锁Pepper机器人新技能,够酷Pepper就跟你回家!

阿甜

编程 开发者 App 开发 机器人

Linux系统查询端口命令

打鱼小王子

消息队列(三)如何保证消息不被重复消费?

奈何花开

Java MQ 消息队列

重学 Java 设计模式:实战备忘录模式「模拟互联网系统上线过程中,配置文件回滚场景」

小傅哥

Java 设计模式 小傅哥 重构 备忘录模式

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

牛牛

极客大学架构师训练营 作业

小师妹学JVM之:JIT中的PrintAssembly

程序那些事

JVM 小师妹 性能调优 JIT 签约计划第二季

MyBatis标签trim,你不会以为我是去空格的吧?

Java小咖秀

Java 面试 mybatis

互联网系统常见问题以及解决方案

而立

极客大学架构师训练营

架构师训练营 - 学习笔记 - 第四周

心在飞

极客大学架构师训练营

ARTS打卡 第5周

引花眠

ARTS 打卡计划

关于编码的一点“思考”

damnever

思考 抽象 分层架构 编码 Go 语言

GO语言泛型编程实践

老胡爱分享

泛型 Go 语言

自由职业的前半年,我是如何度过的?

王磊

Java 程序员

CECBC带你一图看懂区块链

CECBC

CECBC 区块链技术 去中心化

系统架构感想

朱月俊

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