Kotlin vs Java:Kotlin 会取代 Java 吗?
已发表: 2021-10-05一篇文章主要描述了Android移动开发的两种语言——Kotlin和Java的所有主要优点。
这篇文章可以追溯到 2017 年 3 月 10 日,当时 Kotlin 还没有成为谷歌的官方语言。
当您选择开发人员来开发您的自定义 Android 应用程序时,他们使用的某种技术对您来说至关重要。 Google 现在最常用的两种语言是 Java 和 Kotlin(尽管它仍然缺乏 Google 的官方支持),所以对您来说,乍一看,您的团队使用什么编码似乎并不重要。 但进一步考虑表明,编程语言也可能会减少您的一些时间和费用。
另请阅读:谷歌播放拒绝原因
一个有趣的事实:Kotlin 以一座岛屿命名(Kotlin Island,位于圣彼得堡市附近); Kotlin 这种相对较新的编程语言正逐渐变成一股强大的力量,未来 Android 应用程序的开发潜力巨大。
技术上认识 6 岁,但实际上是 1 岁的 Kotlin。
最初,在 2011 年,作为一个发布版本,Kotlin 首次作为 Java 虚拟机的新语言出现,来自一个名为 Jet Brains 的圣彼得堡程序员团队。 他们决定为 Android 开发设计一个新的“旋转轮”的原因很容易理解; 显然,有几个:
Java 已经存在了 22 年(对于编程语言来说是一个相当大的术语),这就是为什么由于 Java 的庞大和过时而无法实现大量功能的原因。
Java 需要编写长代码组合
用 Java 编写的代码需要很长时间才能编译
然而,Kotlin 开发团队温和地说,并同意许多语言没有全世界工程师渴望的功能组合,除了 Scala; 但是,正如 Jet Brains 公司的技术负责人 Dmitry Jeremov 所指出的,Scala 的编译时间很慢,不足以满足当代 IT 服务的发展速度。
最后,去年 2 月对整个 JB 公司来说是一个特殊的月份——因为第一个 Kotlin 1.0 版本已经正式以稳定版本的形式出现在世界各地。
从那时起,Jet Brains 在他们的官方博客上建议我们继续关注并承诺新的 1.1 Kotlin 更新,专注于错误修复和 Java Script 支持很快就会出现。 在本文发表之时(2017 年 3 月 10 日),Kotlin 1.1 版本仅在一周前发布,但世界已经在谈论它。 因此,如果您进行 Kotlin 与 Java 的比较,会不会有显着差异?
不是轮子重新发明。
在查看 Kotlin 与 Java 的差异时,肯定会出现一些 Kotlin 优于 Java 的优势,这对于那些寻求开发 Android 应用程序的人来说可能会产生预期的效果。

所以,让我们从头开始。
使用 Kotlin 的原因:
1) Kotlin 需要编写更少的代码。
至少减少 20%。 正如前面提到的,22 岁的 Java 已经有点过时了 + Oracle 创建的 Java 是一种向后兼容的语言,这基本上意味着每个新发布的版本都必须支持前一个版本中包含的功能,因此,随着每次更新,包含一些新功能变得更加困难; 因此,要编写的代码量也会增加。
相反,Kotlin 的架构是从头开始创建的,导致没有层到层的架构。
2) 在 Kotlin 上发生的崩溃更少。
Kotlin JVM 的问题要少得多,因为通常称为“十亿美元的错误”——NullPointerExeption 的问题在那里是可以预防的。 NullPointer 还存在于每种编程语言中,但使用它的方式可能有所不同。 为了记录,在Java中您需要手动检查链接是否为空或不为空。 如果错过了 null - 繁荣,崩溃,瞧! 对 Kotlin 有利的是,在这种语言中,每个对象都会自动设置为 Null + 自动检查 NullPointer - 以确保代码在没有它的情况下正常工作。

3) Kotlin 是一种类型安全语言。
同样,在 Kotlin 中,每个类都是一个函数,反之亦然; 更重要的是,与 iOS 的 Swift 一样,Android 的 Kotlin 有 Optional 类型,这有助于所有的安全检查。
另请阅读:使用 Siwft 优于 Objective-C 的优势
4) Kotlin 为您节省了一些宝贵的时间。
如前所述,更少的代码几乎可以保证更少的错误,并且在整个编码过程中跟踪的时间也更少。 软件开发团队经常根据开发人员在编码上花费的时间来计算项目的总成本。
以下是 Kotlin 相对于 Java 的一些优势。 虽然 Kotlin 还没有得到 Google 的官方支持,并且在第一次代码编译时多花几秒钟的时间,但把所有这些都涵盖了,很明显 Kotlin 的编程语言有很多优点,而且考虑到它的速度毫无疑问,这对 Kotlin-Switch 来说是一个明智的想法。
阅读 Android 和 iOS 开发之间的差异
“如果我换了呢?”
我们生活的世界在许多情况下变得非常不可预测,在移动应用程序开发方面,有时需要改变您一直与之合作的团队。 假设您曾经与外包团队合作,但现在需要为您的项目进行内部开发。 从一种语言到另一种语言的“翻译”有多难?
再说一遍,答案实际上取决于您以前的工程师使用的技术。 如果我们以从 Java 切换到 Kotlin 为例 - 那么无疑有一个解决方案。 Jet Brains 创建了一个 Java-Kotlin 转换器来帮助解决这个问题; 但是,在转换过程中还发生了一些错误,因此必须对其进行监控,甚至必须手动设置一些操作。
不利的一面是,从 Java 到 Kotlin 的转换将更加停滞和痛苦,因为并非所有的函数、方法和变量都可以转换。 对于与您合作的新团队而言,最快的解决方法可能是尽可能继续使用 Java 编写代码。
此外,转换为另一种语言的可能性取决于项目的大小。 一般来说,有 3 种类型的项目:小型、中型和大型。
小项目大约需要 160-200 个小时,如果没有复杂的架构——那么它们可能会转移到 Kotlin;
中型项目包括长达 5 个月的开发,转换起来非常不方便;
大型项目开发从5个月开始,此类项目完全不可能转换成另一种语言;
总体而言,“转换”客户的最佳选择始终是开始与使用与以前项目持有人相同的技术、语言和框架的工程师合作。 无论如何,当改变不可避免时,我们强烈建议选择“较新的词典”; 例如,选择 Kotlin 而不是 Java。
一种以更智能的方式为 Android 编码的简洁方法。

或者至少 Kotlin 的口号是这样写的。 毫无疑问,Kotlin 可能有其优点和缺点,但是一旦 Kotlin 出现,很多功能就变得实用了。随着 Kotlin 1.1 的新版本正式支持 Java Script,从现在开始可以实现许多以前梦想般的功能和。
在Mind Studios 中,自从第一个稳定版本出现以来,我们也开始涉足 Android 开发中的 Kotlin。 Mi Band Control(Mi Band Wristband 的活动跟踪器)是完全在 Kotlin 上开发的应用程序。 这一经验也证明 Kotlin 是我们的开发人员为 Android 编写代码的一种更智能、更简洁的方式。 因此,请明智地为您的应用选择语言,但请记住要随时了解情况!
由 Vsevolod Kaganovich 和 Elina Bessarabova 撰写。
