InfoQ技术大会双节活动折上折,满10000-1000>> 了解详情
写点什么

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

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

关注

评论

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

当新零售遇上 Serverless

Serverless Devs

阿里云 Serverless 云原生

区块链DAPP钱包开发|波场DAPP开发钱包

橙子区块链l53o56oloo3

区块链 DAPP智能合约交易系统开发 波场DAPP

一文看懂低代码的现状、打法、机会和挑战

小博

中台 云原生 PaaS SaaS/IaaS/PaaS 低代码开发平台

5年Java程序员,五面蚂蚁险拿offer定级P7,大厂面试不过如此?

Crud的程序员

Java 程序员 编程语言 java面试

Golang 实现 RTP

声网Agora

音视频 rtp

极光开发者周刊【No.0806】

极光开发者

循序渐进带你全方位剖析原型链

加百利

前端 原型链 自学 8月日更

架构训练营 - 模块三 - 作业

姑射仙人

#架构实战营

Activiti工作流---简单开发平台,请假实例演示

金陵老街

SpringBoot 2 Java 8 Vue 3 Activiti

Serverless与WebSocket的聊天工具

刘宇

Serverless websocket

为什么宁可提拔一个新同事当领导,也不提我这个来十年的老员工呢?

非著名程序员

认知提升 个人提升 职场成长 8月日更 8 月日更

全国有待形成数据资产市场 区块链、人工智能或成重要支撑技术

CECBC区块链专委会

拳打阿里面试官,脚踢美团HR,全靠这份Java核心面试宝典

程序员改bug

Java 架构 编程语言 程序员面试

高效率程序员都在用什么工具?

狐哥说技术

效率工具

网络安全界基于知识的识别和映射提出网络空间资源分类明细

郑州埃文科技

生产环境全链路压测-影子库落地

国隆

如何改进新员工的入职体验?

石云升

用户体验 入职 体验设计 8月日更

波宝TronLink钱包模式系统开发|波宝钱包模式功能介绍

量化系统19942438797

Vue进阶(二十): 请求方式详解

No Silver Bullet

ajax Vue axios 八月日更 请求方式

运维安全第一步,采购堡垒机做好权限控制!

行云管家

堡垒机 安全运维 企业资产 事前授权

金三银四能跳槽涨薪,全靠这份阿里内部Java面试突击手册

程序员改bug

Java 架构 编程语言 java面试

碳中和将为中国带来什么? 绿色转型如何驱动经济跃升?

CECBC区块链专委会

Netty基础招式——ChannelHandler的最佳实践

普普通通程序员

到底该怎么定义 To B SaaS 产品

姜雨生

SaaS 标准化 To B业务 行业深度

ipfs存储服务器的优势在哪里?ipfs怎么挖矿?

IPFS老胡

IPFS怎么挖矿 ipfs存储服务器的优势

未来的价值互联网主要建立在NFT上

CECBC区块链专委会

快照保护是什么意思?快照的原理是什么?

行云管家

镜像 数据保护 快照 数据安全

C++20 四大特性之一:Module 特性详解

网易云信

后端C++

毕业总结

Presley

对标阿里P7级Java工程师必备知识清单,让你高效学习提升

Crud的程序员

Java spring java程序员 java面试 java编程

番外4. Python OpenCV 中鼠标事件相关处理与常见问题解决方案

梦想橡皮擦

8月日更

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