网站首页 > 教程文章 正文
作者 | Frederic Lardinois
译者 | Sambodhi
策划 | Tina
自 2017 年谷歌 I/O 全球开发者大会上,谷歌首次宣布将 Kotlin(JetBrains 开发的 Java 虚拟机静态类型语言)作为编写安卓应用的一流语言,至今已超过五年。自那以后,谷歌又进一步将 Kotlin 列为 2019 年度编写安卓应用的首选语言,尽管许多开发者依然在使用 Java,但是 Kotlin 很快就成为了谷歌移动操作系统中构建应用的默认方式。追溯到 2018 年,谷歌和 JetBrains 联手创建了 Kotlin 基金会。
TechCrunch 编辑 Frederic Lardinois 与谷歌公司的 Kotlin 产品经理 James Ward 坐在一起,讨论了该语言在安卓生态系统及其他领域的角色,以及该公司对它的未来计划。
谷歌希望随着时间的推移,所有的安卓开发者都能改用 Kotlin,这不足为奇。Ward 表示:“在安卓上还有很多 Java 应用。我们知道,相比 Java,开发者更满意 Kotlin。我们知道,他们的工作更有效率,应用的质量也更好,因此,我们的首要任务就是,让更多的人将他们的代码库转移到 Kotlin 上面来。Kotlin 与 Java 的互操作性让人们能够逐渐地把代码库迁移到上面来,如果能够实现一切都是 Kotlin,那就太好了。”
然而,谷歌并未完全实现这一目标,部分是因为 Java 的生态系统太过庞大,所以它仍然具有巨大的吸引力。因为 Kotlin 与 Java 具有互操作性,所以开发者可以将这两者组合使用,并对库进行匹配,但是要想从 Kotlin 中得到全部的好处,开发者就必须待在 Kotlin 的生态系统中。虽然所有人都在关注 Kotlin,但是有一点很重要,那就是安卓平台的内核和 API 依然基于 Java。目前已经有了使用 Kotlin 编写的安卓库,但是很明显,这仅仅是整个平台的一小部分。
但是,Kotlin 现在也不仅仅局限于安卓。现在,服务器端的 Kotlin 在谷歌已经非常普及了,到目前为止,Kotlin 代码在谷歌内部代码库里已经有 850 万行了。谷歌表示,这一数字,每年都会增加一倍。
谷歌和 JetBrains 最近几年来都在致力于重新编写 Kotlin 编译器。新的编译器保证速度更快,接口更好,IDE 可以改善更好的代码提示和静态代码分析,目前已经进入测试阶段,明年有望发布。因为该公司在此项目上投入了大量的资金,同时并行维护两个编译器,这就使得语言自身的开发速度放缓了一些。
Ward 说:“我们故意放缓了语言的变化速度,因为我们有两个编译器在并行进行,一旦我们发布了新的编译器,并且所有人都开始使用它,我们就可以在新的语言功能上投入更多的资源。”
在这些新功能中,有上下文接收器,它目前仍然在标志后面。这些将允许开发人员将参数传递给某个函数,比如,只要一次写入与数据库相连的代码和值,就可以在每次需要重新连接时,都会再次使用相同的上下文。
至于 Kotlin 基金会,值得注意的是,直到现在,只有谷歌和 JetBrains 是基金会的成员,这两家公司利用该基金会来协调他们对 Kotlin 的投资。但 Ward 解释说,这两家公司都希望通过新的成员来扩大该基金会。他说:“我们有一个扩展计划,这是发展 Kotlin 生态系统的核心:发展 Kotlin 基金会,而不仅仅是作为创始成员的两家公司。”他指出,这两家公司还没有理由将基金会纳入 Linux 基金会这样的组织的保护伞之下,部分原因是,因为如果只有两名成员的话,会显得有些过分,但是随着时间的推移,谷歌和 JetBrains 带来更多的成员,这种情况可能会改变。
作者简介:
Frederic Lardinois,2012 年在 TechCrunch 任编辑。之前曾创立 SiliconFilter,并为 ReadWriteWeb(现为 ReadWrite)撰稿。
原文链接:
https://techcrunch.com/2022/08/18/five-years-later-google-is-still-all-in-on-kotlin/
猜你喜欢
- 2025-03-23 精通Kotlin协程:异常处理与取消技巧
- 2025-03-23 编程语言Kotlin 2.0.0现已发布,K2编译器进入稳定状态
- 2025-03-23 都2023年了,来聊聊Kotlin 的Lazy属性
- 2025-03-23 kotlin和java开发哪个好,优缺点对比
- 2025-03-23 Kotlin基本语法(kotlin语言教程)
- 2025-03-23 Kotlin 2.0.0 发布:性能提升,大语言模型来助力
- 2025-03-23 两年外包公司经验,拿到字节跳动offer,我的付出不止一点点
- 2025-03-23 Kotlin与Java的不同之处(kotlin vs java)
- 2025-03-23 Kotlin变量与基本类型(kotlin定义类)
- 2025-03-23 超干货详解:kotlin(4) java转kotlin潜规则
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)