GMTC深圳站本周日开幕,14大专题全部上线,完整日程>> 了解详情
写点什么

Kotlin 成为正式的 Android 编程语言

  • 2017 年 5 月 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 年 5 月 22 日 19:008407
用户头像

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

关注

评论

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

【T1543.003】利用 ACL 隐藏恶意 Windows 服务

比伯

Java 大数据 编程 架构 计算机

O'Reilly出版社又一经典之作——Python设计模式

计算机与AI

Python

一个技术总监的忠告:精通那么多技术,你为何还是受不到重用?

四猿外

程序人生 技术管理 加薪 职场成长 源码阅读

甲方日常 48

句子

工作 随笔杂谈 日常

实时指挥调度的发展和优势

anyRTC开发者

ios android 音视频 WebRTC RTC

当我们在讨论实时性的时候,我们在讨论什么?

VoltDB

数据分析 5G 工业互联网

cglib入门后篇

Rayjun

Java cglib

数字人民币都来了 黄金还有什么用?

Geek_987812

数字货币

深度解析ThreadLocal原理

AI乔治

Java 架构 线程 ThreadLocal

Spring bean 加载顺序导致的 bug 问题

AI乔治

Java 架构 Spring Boot

Rethink:多版本文件的命名细节

小匚

团队 随笔杂谈

Reactor中的Thread和Scheduler

程序那些事

响应式编程 reactor 多线程 程序那些事 reactivex

2020双11:每秒58.3万笔!阿里云又扛住了!

阿里云情报局

云计算 互联网 运维 云原生 科技

从零到千万用户,我是如何一步步优化MySQL数据库的?

冰河

数据库 架构 性能优化 分布式数据库 分布式存储

「Java并发编程」从源码分析几道必问线程池的面试题?

Java架构师迁哥

甲方日常 47

句子

工作 随笔杂谈 日常

这份笔记我必啃完!美团T9首发内部JVM高级特性笔记,差距不止一点点

Java架构追梦

Java 源码 架构 面试 JVM

低代码开发平台核心功能设计——组件自定义交互实现

徐小夕

前端 编辑器 H5 大屏可视化 lowcode

5G为数字化转型插上翅膀

Geek_987812

5G网络安全

如何应对大促流量洪峰?揭秘京东技术人的备战手册

京东科技开发者

云计算 大数据 亿级流量

如何预防工业物联网中的恶意攻击?

VoltDB

大数据 数据分析 5G 工业互联网

靠脑机接口“隔空探物”,大脑植入芯片可实现“心灵感应”

脑极体

代码简易调试方法.md

HQ数字卡

Java LeetCode 调试

可以解除程序员中年危机的职业规划

Java架构师迁哥

区块链产业,怎样“链”住未来?

Geek_987812

区块链

记不住Spring中Scheduled中的Cron语法?让我们看看源码吧

AI乔治

Java spring 编程 架构

什么?美团T9首发内部JVM高级特性笔记,看完差距不止一点

小Q

Java 学习 程序员 架构 面试

Pulsar Summit Asia 2020 | 主题演讲:大咖呈现,紧扣社区

Apache Pulsar

大数据 开源

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

好吃不贵

极客大学架构师训练营

当人脸识别对准执法者,AI的应用边界博弈

脑极体

微信视频号强制置顶朋友圈:盈利不可牺牲用户体验

石头IT视角

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

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