阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

关注

评论

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

外包学生管理系统架构文档

Geek_7a789a

外包学生管理系统架构文档(架构实战营 模块三作业)

Gor

运算符

Jason199

运算符 js 6月月更

spring4.1.8初始化源码学习三部曲之三:AbstractApplicationContext.refresh方法

程序员欣宸

Java spring Spring Framework 6月月更

【Python技能树共建】lambda 表达式

梦想橡皮擦

6月月更

WordPress 版本更新

海拥(haiyong.site)

WordPress 6月月更

外包管理系统架构设计

地下地上

架构实战营

Camtasia 2022发布更新功能介绍

茶色酒

Camtasia 2022

10 个派上用场的 Flutter 小部件

坚果

6月月更

Web Service进阶(八)BASE64Decoder小解

No Silver Bullet

6月月更 BASE64Decoder

明道云上榜2022年中国信创行业办公软件排行榜

明道云

开发一个软件应用程序需要多少钱?

开源直播系统源码

软件开发 定制开发 直播源码

第三模块作业

Justin1024

MySql多表查询

工程师日月

6月月更

编程简单科普系列-什么是编程(1)

迷彩

编程 科普 二进制 6月月更 电信号

外包学生管理系统架构设计

小马

#架构实战营

学生管理系统架构设计文档

Geek_e8bfe4

JavaScript寄生式组合继承

大熊G

JavaScript 前端 6月月更

Leetcode 349 两个数组的交集 ( Intersection of Two Arrays *Easy* ) 题解分析

Nick

Java LeetCode 6月月更 leetcode 349 两个数组的交集

[模块三]

wuli洋

外包学生管理系统架构文档

Pengfei

Fabric.js 激活输入框

德育处主任

fabric canvas Fabric.js 6月月更

关于在线帮助中心你需要思考以下几个问题

小炮

【高并发】线程的生命周期其实没有我们想象的那么简单!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

RPC的基本原理

卢卡多多

技术 RPC 6月月更

【愚公系列】2022年06月 面向对象设计原则(三)-里氏替换原则

愚公搬代码

6月月更

Django API 开发:实现用户登录与注册

宇宙之一粟

django 6月月更

C#入门系列(九) -- 方法使用

陈言必行

C# 6月月更

InfoQ 极客传媒 15 周年庆征文| 迁移 Eureka 到 Nacos 之双注册双订阅模式

4ye

架构 nacos Eureka springcloudAlibaba InfoQ极客传媒15周年庆

Linux开发_网络编程、网络通信介绍

DS小龙哥

6月月更

企业IT资源管理

阿泽🧸

IT资源 6月月更

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