Android 开发者应该从 Java 转到 Kotlin 吗?谷歌告诉你
今年 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 编写是更好的选择。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
5月语言排行榜:R 跌出前二十,Python 紧咬 C++
TIOBE 今天公布了2019年5月编程语言排行榜,总体排名变化不大,排名前十的依旧是:Java, C, C++, Python, Visual Basic .NET, C#, JavaScript, SQL, PHP 和汇编语言。 本月值得关注的亮点包括: 在进入 TOP 20 大约三年后,用于数据统计的 R 语言在本月首次跌出前二十名 Python 保持积极的发展速度,继续缩小与 C++ 的排名差距 Swift 排名较上个月有所上升,不过与 Objective-C 仍有较大差距 PHP 排名虽然仍保持第 9 名,不过整体呈下降趋势 Go 与上个月相比下跌了一名,整体变化比较稳定 R 语言突然由上个月的第 16 名跌出至现在的第 21 名确实有点出乎意料。毕竟在数据统计分析领域,R 语言是当之无愧的第一编程语言,而数据统计编程目前也仍在蓬勃发展,特别是数据挖掘和人工智能的日益流行。不过这可能正是 R 语言下跌的原因 —— 人工智能的流行使得数据统计分析被整合至更多的领域,Python 也从之前主要用于学术研究,到现在大规模应用于市场。与 R 语言相比,在数据统计分析方面,Python...
- 下一篇
除了 async 速度翻 10 倍,JavaScript 还带来了什么?
今天的 JavaScript 已经无处不在了,以传统的方式使用JavaScript,开发者可以在各种 Web 浏览器中创建 Web 应用;通过 Node.js,可以开发命令行工具与服务器等应用;而在桌面领域,通过基于 JavaScript 与 HTML、CSS 等 Web 技术的 Electron 框架可以构建跨平台桌面应用;React Native 则可以用来开发跨平台移动应用;此外,JavaScript 甚至可以在 IoT 设备上运行。 Ecma TC39管理着 ECMAScript 生态的发展,它是当前 JavaScript 语言背后的标准,谷歌 V8 团队一直积极参与 JavaScript 相关标准化工作。 V8 是谷歌开源的JavaScript 引擎(同时也是 WebAssembly 引擎),前面提到的Chrom、Node.js 与 Electron 等平台都基于 V8。同时除了 Chrome,基于 Chromium 的一系列 Web 浏览器,如 Opera 与即将正式发布的 Microsoft Edge 在底层也基于 V8。 在前几天的Google I/O 2019 上,V...
相关文章
文章评论
共有0条评论来说两句吧...