linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux基础建设 >

Android开发者应该从Java转到Kotlin吗?谷歌告诉你

时间:2019-05-14  来源:未知  作者:admin666

今年 I/O 大会上,谷歌宣布正在采取的下一个重大步骤是 Kotlin-first,Android 开发将越来越多地以 Kotlin 为主,许多新的 Jetpack API 和功能将首先在 Kotlin 中提供。并且当天谷歌就开源了 Jetpack Compose 呼应这一战略。

消息一出来,“Android 开发以后是不是只能用 Kotlin 了”、“Android 开发者应该从 Java 转到 Kotlin 吗”等问题困扰了开发者。对此,谷歌 Android Studio 技术负责人 Jeffrey van Gogh 进行了回应。

“我们将在很多方面继续支持 Java 编程语言”,Jeffrey 首先回答了 Android 关于 Java 支持的问题,同时给出了一张 Java 与 Kotlin 支持对照表。

表中可以看到,Kotlin 相比 Java,在 Android 开发中确实获得了更加重要的地位,“比如在线培训、样本,我们首先会在 Kotlin 中支持,Java 中将是‘尽力而为’。同时,有一些功能,如多平台项目和 Jetpack Compose,只会在 Kotlin 中提供。”

Jetpack Compose 是一个非捆绑 UI 工具包,结合了反应式编程模型和 Kotlin 编程语言的简洁性和易用性,旨在简化 UI 开发。

这样来看,很显然在今后一段时间内 Android 开发者并不是只有 Kotlin 一种选择,Java 同样可用。而至于这是否只是一个过渡,则要听听 Jeffrey 是如何回答“是否应该从 Java 迁移到 Kotlin?”这一问题的。

“不要把‘Kotlin-first’误解成必须将现有 Java 开发的 Android 使用 Kotlin 重写”,Jeffrey 说到,并补充说明谷歌自家的应用也没有这样做。 

Jeffrey 的意思是 Java 与 Kotlin 具有极高的互操作性,所以两者完全可以共存于同一个项目中。“看看 Android Studio,它有几十万行代码,其中大约有 10% 的 Kotlin 代码。我们所做的只是使用 Kotlin 编写新功能。Kotlin 与 Java 具有很好的互操作性,可以在 Kotlin 中编写单个类,其余部分使用 Java 编写,或者使用 Kotlin 编写 99% 的代码,而剩下的一点点用 Java 来写。”

而具体应该继续使用 Java 还是转到 Kotlin,Jeffrey 表示这需要考虑一些因素,比如团队对于 Kotlin 的兴趣、Kotlin 的学习曲线之陡峭,还有能不能接受 Kotlin 本身相比 Java 在开发 Android 上的弱点,比如软件构建过程需要更长的时间,因为 Kotlin 编译器比通用 Java 编译器要慢,以及 Kotlin 生成的 APK 相对较大。

此外应用开发所处的阶段也需要考虑,Jeffrey 表示新项目使用 Kotlin 编写是更好的选择。

友情链接
  • Mozilla发布Firefox 67.0.4,修复沙箱逃逸漏洞
  • 蚂蚁金服正式成为CNCF云原生计算基金会黄金会员
  • Firefox 68将采用Microsoft BITS安装更新
  • OpenSSH增加对存储在RAM中的私钥的保护
  • 谷歌想实现自己的curl,为什么?
  • Raspberry Pi 4发布:更快的CPU、更大的内存
  • Firefox的UA将移除CPU架构信息
  • Ubuntu放弃支持32位应用程序实属乌龙,Steam会否重回Ubuntu怀抱
  • Qt 5.13稳定版发布:引入glTF 2.0、改进Wayland以及支持Lottie动
  • 红帽企业Linux 7现已内置Redis 5最新版
  • Slack进入微软内部禁用服务清单,GitHub也在其列?
  • 安全的全新编程语言V发布首个可用版本
  • Windows Terminal已上架,快尝鲜
  • 阿里巴巴微服务开源生态报告No.1
  • 面世两年,Google地球将支持所有基于Chromium的浏览器
  • 推进企业容器化持续创新,Rancher ECIC千人盛典完美收官
  • CentOS 8.0最新构建状态公布,或于数周后发布
  • Debian移植RISC
  • 微软拆分操作系统的计划初现雏形
  • Oracle发布基于VS Code的开发者工具,轻松使用Oracle数据库
  • Ubuntu 19.10停止支持32位的x86架构
  • 微软为Windows Terminal推出全新logo
  • 联想ThinkPad P系列笔记本预装Ubuntu系统
  • 微软发布适用于Win7/8的Microsoft Edge预览版
  • 启智平台发布联邦学习开源数据协作项目OpenI纵横
  • 经过六个多月的延迟,微软终于推出Hyper
  • ZFS On Linux 0.8.1 发布,Python可移植性工作
  • DragonFly BSD 5.6.0 发布,HAMMER2状态良好
  • Linux Kernel 5.2
  • CentOS 8.0 看起来还需要几周的时间
  • 百度网盘Linux版正式发布
  • PCIe 6.0宣布:带宽翻倍 狂飙至256GB/s
  • PHP 7.4 Alpha 发布,FFI扩展,预加载Opcache以获得更好的性能
  • Canonical将在未来的Ubuntu版本中放弃对32位架构的支持
  • Scala 2.13 发布,改进的编译器性能
  • 微软的GitHub收购了Pull Panda,并且使所有订阅完全免费
  • Windows Subsystem for Linux 2 (WSL 2)现在适用于Windows 10用
  • Debian 10 “Buster”的RISC
  • MariaDB宣布发布MariaDB Enterprise Server 10.4
  • DXVK 1.2.2 发布,带来微小的CPU开销优化
  • DragonFlyBSD 5.6 RC1 发布,VM优化,默认为HAMMER2
  • PrimeNG 8.0.0 发布,支持Angular 8,FocusTrap等
  • GIMP 2.10.12 发布,一些有用的改进
  • 清华大学Anaconda 镜像服务即将恢复
  • Debian GNU/Linux 10 “Buster” 操作系统将于2019年7月6日发布
  • 时时彩论坛
  • 五星体育斯诺克
  • 北单比分直播
  • 河北11选5走势图
  • 福建体彩36选7开奖结果
  • 九龙图库下载