适用于多平台应用的Kotlin编程语言
您的位置 : 首页 > 安博体育网页版登录

适用于多平台应用的Kotlin编程语言

2024-01-15 06:26:10 安博体育网页版登录

  语言界的翘楚就此诞生。而在不断地迭代与适配中,今时今日,Java以需要满足各个层面的需求与横扫各大编程语言榜单的成绩给了 24 岁的自己一张值得骄傲且满意的答卷。不过与此同时,我们也发现正值本命年之际的 Java,在未来的一段时间内,或将迎来一次大考。

  虽然在过去的一些年中,常青藤 Java 一直在被如C++C#、Erlang、Python等其他编程语言挑战,但最终结果均不一而终。不过,近两年间,一门新崛起的多用途编程语言——Kotlin,在硅谷科技巨头之一的 Google 扶持下,开始逐渐蚕食 Java 的应用市场。目前来看,Kotlin 对 Java 虽构不成致命的威胁,但是当未来 Google 的 Kotlin-first 政策完全落实之后,再加上 Oracle 对 Java 放任的态度,一切将变得难以轻易下定论。

  而除却以上外因,就 Kotlin 本身而言,其是否有抗衡 Java 的潜力?接下来,我们将从近日 Kotlin 的开发商 JetBrains最新发布的一份《Kotlin Census 2018》的报告中寻找到答案。

  Kotlin 是一门静态编程语言,可用于开发几乎所有类型的应用程序,包括服务器端、桌面、移动甚至嵌入式。由 JetBrains 设计和开发,一直以来,Kotlin 获得了科技巨头和开发商们的大力支持。

  那么当前大环境下,有多少开发者在使用 Kotlin?Kotlin 的真实应用现状又如何?接下来,我们与大家详细分享。

  根据调查显示,有超过一半的收房的人说,他们在生产代码中使用了 Kotlin 语言,而这一使用数据相较于去年,也有所增长。当下如 Gradle、Piterest、Atlassian、Pivotal 以及更多公司和项目在开发中使用了 Kotlin 语言。

  不过,有 13 % 的开发者称,虽当前正在使用 Kotlin,但尚未发布项目。

  而基于以上数据,我们也不禁好奇,相较于 Java,Kotlin 还存在哪些挑战?又是什么阻碍了开发者上手 Kotlin?

  据以下的数据统计结果,我们得知,阻碍开发者学习 Kotlin 最大的因素源于不少人觉得自身缺乏 Kotlin 相关的技术知识,且这一数据占比高达 55%。其次,有 18% 的收房的人说 Kotlin语言的采用率低。

  在此,针对在上手过程中缺乏专业方面技术知识的开发者,JetBrains 也分享了一份资源汇总,希望对大家有所帮助:

  另外,从 Kotlin 的使用来看,距离 Kotlin 1.0 版本至今已有 3 年的发展历史,但事实上,让Kotlin 大火起来还是源于 Google 对其的支持。因此对于 Kotlin 使用的年限,根据报告数据显示,大多数的开发者还处于 1-2 年之间,这也属于意料之中。

  不过在未来,慢慢的变多的开发者会拥有更为丰富的Kotlin 开发经验。且如果他们使用 Kotlin 超过一年,看起来他们通常会坚持下去。

  Kotlin 最重要的目标之一是在多平台上共享代码,当前主要有四种支持环境能够在一定程度上帮助开发者简化编码过程,并为跨平台开发提供更多机会。Kotlin 主要支持 JVM、JavaScript、Android 和 Native。这使得该语言可开发所有类型的应用程序并在流行的操作系统(如iOS,macOS,Windows 和Linux)上运行它们的绝佳代码。

  在这一问题中,一直以来,Java 的长期支持版本都极具优势。这不在此次调查中,有84% 的 Kotlin 用户选择了 JDK 8。而第二个最受喜爱的版本是JDK 11,占 27%;与此同时,JDK 9 和 10 使用率均为 8%。

  在对以 Kotlin 开发者为主的调查中,我们得知有 70% 的开发者表示不会使用 Java 模块,仅有 18% 的受访者称在日常的开发中会用到 Java 模块。

  从中我们也能够准确的看出一个问题,即当前大环境下,Android 的碎片化依旧很严重。

  据报告显示,25% 的用户正在使用 Kotlin 开发 2 种类型的 App。

  15% 开发了 3 种类型的 App,但大多数开发者仍然只在一种类型的 App 中使用 Kotlin。

  在移动互联网时代,无论是 Java 还是 Kotlin,大多数会被用于移动应用开发。在本次调查中,有 58% 的收房的人说,他们正在使用Kotlin 开发移动应用,48% 的开发者称用其开发 Web 后端。此外,Kotlin 还被用于库和框架、桌面、工具、Web 前端、游戏开发、数据分析、IoT机器学习以及嵌入式等场景中。

  在 Kotlin 1.2 版本中,首次引入了多平台项目特性,可通过多平台项目支持 JVM 和 JavaScript 平台的代码共享,随后在Kotlin 1.3 版本中,JetBrains 的开发团队对其进行了大幅改进。彼时它包含了一组特定的库,可帮助开发者编写多平台代码。

  作为 Kotlin 开发者,你是否在 Kotlin 中使用多平台项目(MPP)功能?

  对于这一新功能,有 89% 的收房的人说并未用过,仅有 11% 的开发者称使用过。

  整体而言,依旧是移动领域使用 MPP 最为广泛。其次为 Web 后端,占比 56%。

  “Write once,run anywhere”应该是每位开发者在开发过程中最为期待的一件事。根据调查报告数据显示,Kotlin 开发者在跨平台开发过程中最常共享的代码为算法和数据架构部分,而这一部分相对而言,也比较复杂。

  随后 JetBrains 也对尚未使用 MPP 功能的开发者进行了深入的调查,其中,有 41% 的受访者希望有机会能够实现算法和数据结构的代码共享,32% 的人表示希望数据格式能实现共享。

  对于 Kotlin 开发者,基于不同的环境开发,所使用的 IDE 均不一样。就 JVM 平台而言,开发者最喜欢使用IntelliJ IDEA Ultimate 版本;

  无论是哪个平台或环境,对于开发者而言,其最常用的工具均为 Gradle,整体占比高达 86%。

  根据调查发现,自 2017 年以来, Kotlin 库的使用率几乎翻了一番,而且最常用的库也继续受欢迎。其中,开发者最常使用的 Kotlin 库或者框架为outines。其次,令人诧异的是,有 26% 的开发者没用过任何的 Kotlin 库和框架。

  在此次的调查中,Java 仍是最受喜爱的编程语言,占比高达 42%,不过相比去年,这一数据会降低。而其中,Kotlin 的发展与其相反,当前有 39% 的受访者称 Kotlin 为其主要的编程语言。

  最后,对于 Kotlin 的发展前途,根据调查显示,Kotlin 在处理数据方面似乎更有前途。有 64% 的开发者表示,正在使用 Kotlin 来进行机器学习、数据分析、BI 等场景中。