报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

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

关注

评论

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

软件定义汽车时代,1 亿行代码的安全保障,极狐GitLab 这么做!

极狐GitLab

gitlab 安全 DevSecOps 汽车 安全左移

小项目想当大Boss? 你该读读《孙子兵法》 | 京东云技术团队

京东科技开发者

项目管理 项目经理 企业号9月PK榜

中移链交易模块介绍

BSN研习社

传媒软件的未来变革与发展趋势

百度开发者中心

传媒 生成式AI 千帆大模型平台

数据驱动创新,应用场景广泛

百度开发者中心

人工智能 数据分析 生成式AI 千帆大模型平台

美国2009年开始入侵华为总部服务器;马斯克脑机公司将进行首次人体试验;全球首个5G卫星电话拨通丨RTE开发者日报 Vol.54

声网

百度智能云千帆大模型平台 2.0 产品技术解析

Baidu AICLOUD

异构计算 百度百舸 千帆大模型平台

百度APP iOS端包体积50M优化实践(六)无用方法清理

百度Geek说

ios 百度app 企业号9月PK榜

OpenHarmony创新赛 | 您有一份创新激励奖待领取 请查收!

OpenHarmony开发者

OpenHarmony

浅入深出的微前端MicroApp | 京东云技术团队

京东科技开发者

前端 React 微前端 企业号9月PK榜

企业微信针对百万级组织架构的客户端性能优化实践

JackJiang

网络编程 即时通讯 IM

人工智能在云计算中能发挥什么作用?

Finovy Cloud

基于Java开发的neo4j知识图谱、elasticsearch全文检索的数字知识库

金陵老街

GLTF编辑器:在线模型材质编辑工具

3D建模设计

纹理处理 GLTF 材质修改

三步实现BERT模型迁移部署到昇腾

华为云开发者联盟

人工智能 华为云 昇腾 华为云开发者联盟 企业号9月PK榜

开源框架中的责任链模式实践

vivo互联网技术

dubbo 设计模式 sentinel 责任链

CocoaPods 在iOS开发中养活了这么多项目,它到底是个啥? | 京东云技术团队

京东科技开发者

ios CocoaPods 移动开发 企业号9月PK榜

AITO问界全系迎规模最大范围OTA升级,重新定义“智能天花板”

极客天地

什么是模型混合模式?

3D建模设计

3D模型 gltf编辑器

HarmonyOS创作激励计划启动:助力技术创作突破边界

HarmonyOS开发者

HarmonyOS

新生产力范式,重塑工作效率

百度开发者中心

人工智能 ChatGPT 生成式AI

慢SQL原因分析之索引失效 | 京东物流技术团队

京东科技开发者

MySQL 数据库 sql 索引失效 企业号9月PK榜

ELT in ByteHouse 实践与展望

字节跳动数据平台

数据库 大数据 云原生 数仓 企业号9月PK榜

PWA建快应用,小程序建超级App?

没有用户名丶

Mac电脑版MarkDown写作推荐 iA Writer 激活中文最新版

胖墩儿不胖y

markdown Mac软件 Markdown 编辑器 写作软件

GLTF编辑器的另一个作用:格式转换

3D建模设计

格式转换 GLTF glb

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