当前位置:   article > 正文

Java 真的失宠?谷歌宣布 Kotlin 现在是 Android 开发的首选语言?_现在多人用kotlin吗

现在多人用kotlin吗

所以到底是怎样的呢?

在Google I/O 大会上,Google 官方正式宣布,Kotlin 编程语言现在是 Android 应用程序开发人员的首选语言。Java 占据 Android 开发绝对统治的时代一去不复返了。

Kotlin,东宫太子

=========================================================================

谷歌今天宣布,Kotlin 编程语言现在是 Android 应用程序开发人员的首选语言。

谷歌在今天的声明中写道:“Android 的开发将越来越以 Kotlin 为先。”许多新的 Jetpack API 和特性将首先在 Kotlin 中提供。如果你要开始一个新项目,你应该用 Kotlin 来写;用 Kotlin 编写通常意味着更少的代码——更少用于类型、测试和维护方面的代码。”

就在两年前的 2017 年 I/O 大会上,谷歌宣布在其 Android Studio IDE 中支持 Kotlin。考虑到 Java 长期以来一直是 Android 应用程序开发的首选语言,这有点令人惊讶。在过去的两年里,Kotlin 的人气只增不减。谷歌说,超过 50% 的专业 Android 开发人员现在使用该语言开发他们的应用程序,在最新的 Stack Overflow 开发人员调查中,它被列为第四大最受欢迎的编程语言。

第一次看我文章的小伙伴可以关注一下我,顺便关注一下我的专栏:Android高级架构,每天更新各种技术干货,分享更多最热程序员圈内事。

image

Android 的首席倡导者切特·哈斯 (Chet Haase) 表示:“我们宣布,我们正在采取的下一个重大举措是,我们将以 Kotlin 为先。”

哈斯说:“我们知道,不是每个人现在都在用 Kotlin,但是我们相信,你会需要它的。”“你可能有充分的理由继续使用 C++ 和 Java 编程语言,这完全没问题。这些语言不会消失。”

Kotlin,Android 世界的 Swift?

=======================================================================================

早在 2015 年,Kotlin 就有“Android 世界的 Swift ”的称号。

Kotlin 是一门与 Swift 类似的静态类型 JVM 语言,由 JetBrains 设计开发并开源。与 Java 相比,Kotlin 的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与 Java 高度可互操作,可以同时用在一个项目中。

按照 JetBrains 的说法,根据他们多年的 Java 平台开发经验,他们认为 Java 编程语言有一定的局限性和问题,而且由于需要向后兼容,它们不可能或很难得到解决。因此,他们创建了 Kotlin 项目,主要目标是:

  • 创建一种兼容 Java 的语言

  • 编译速度至少同 Java 一样快

  • 比 Java 更安全

  • 比 Java 更简洁

  • 比最成熟的竞争者 Scala 还简单

若在当时看来,Android 世界的 Swift 称号似乎底气不足,更像是一种美好的愿望。那么在 2017、2019 两届的 Google I/O 以后,这个说法可以站住脚了。

Kotlin 真比 Java 强?

===============================================================================

许多新语言的出现似乎都是源于对某种其它语言的厌倦。似乎 Kotlin 也是如此。但在 JetBrains 看来,Kotlin 项目的原始动机就是为了提升生产力。JetBrains 开发者支持组组长 Hadi Hariri 在接受 InfoQ 采访时表示:

”尽管当时我们已经开发了对几种基于 JVM 的编程语言的支持,我们还是基本都在 Java 环境下写基于 IntelliJ 的 API。IntelliJ 开发系统是基于 Groovy 和 Gant 的,Groovy 也用于测试,RubyMine 中还有一些 JRuby 代码,情况就是如此。我们希望转向更具表现力的语言从而提高生产力。同时,我们不能接受在 Java 互操作性或编译速度方面的妥协。“

Kotlin 与 Java 总是在主观比较

“Kotlin 比 Java 好”,“Kotlin 可读性比 Java 强”,“Kotlin 开发速度比 Java 快”,类似这样的陈述缺少相关准确数据的支持,所以都归为主观看法一类。

主观看法是个体开发人员在对与 Kotlin 或 Java 相关的主题作出一个或多个主观判断时形成。

开发人员的主观判断存在如下问题:

  • 没有与主观判断相关联的量化指标。

  • 主观判断存在很大的偏见。

  • 主观判断的偏见在开发人员之间存在很大的差异。

由于没有与主观判断相关联的量化指标,建立在这些判断基础上的观点只是反映出了开发人员之前就有的偏见。不同的开发人员可能有着截然不同的偏见,因此,有开发人员认为 Kotlin 是不错(或糟糕)的 Java 替代者并不意味着其他开发人员也这么认为。

而且,由于没有客观指标,主观分歧就无法客观地消除,这经常会导致“口水战”。

相较于 Java,Kotlin 的确在一些方面有较大优势:效率高、易维护、可靠、简单易学。在一些特定场景下,许多 Java 开发者因为某些方面的问题选择了切换到 Kotlin:比如受够了 Java NullPointerException 的人都喜欢 Kotlin 的 Null 安全特性;扩展函数被大量使用;除了扩展 Java 类,人们也常常将 Java 代码迁移到 Kotlin。

根据英国软件公司 Pusher 调查的数据显示,在样本数 2744 人的调查中,超过 87% 的受调者已经完成了迁移。他们有的使用了迁移向导,有的直接手动修改代码。超过四分之一的受调者迁移到 Kotlin 后又回到了 Java。有技术方面的原因,也有组织方面的原因。其中使用了反射或代码生成的工具是被提及最多的因素。

  • “Kotlin 的枚举不能包含常量。在自定义注解时(比如 @IntDef),为了保持接口的整洁,需要将值保存在枚举中。”

  • “我们正在使用 Realm,但它不能与数据类一起使用。”

  • “我们的 Java 代码中使用了 Retrolambda,因为类型缺失,很难转到 Kotlin。”

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

学习分享,共勉

Android高级架构师进阶之路

题外话,我在阿里工作多年,深知技术改革和创新的方向,Android开发以其美观、快速、高效、开放等优势迅速俘获人心,但很多Android兴趣爱好者所需的进阶学习资料确实不太系统,完整。今天我把我搜集和整理的这份学习资料分享给有需要的人

  • Android进阶知识体系学习脑图

  • Android进阶高级工程师学习全套手册

  • 对标Android阿里P7,年薪50w+学习视频

  • 大厂内部Android高频面试题,以及面试经历

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/580933
推荐阅读
相关标签
  

闽ICP备14008679号