Kotlin取代Java?no,但是在加速掠夺Java开发市场
五家研究机构发表报告:Kotlin的快速成长是否是以牺牲爪哇为代价的?
提供移动应用开发工具和平台的Realm在一份报告中指出,从2017年5月谷歌官方宣布发布后,Kotlin的采用率从版本发布时的0%上升到同年9月年。 ,而同期Kotlin的使用率从0%上升到0%。
Redmonk 是一家专注于软件开发人员的行业分析公司,也报告了 Konfutse 的强劲增长。报告显示,截至2017年第三季度,Kotlin语言在Redmonk最常用的100种语言排行榜上从第65位上升至第46位。到 2018 年 1 月,Kotlin 已跃升至第 27 位,成为继 Swift 之后增长最快的语言。要知道,Redmonk只统计了同时出现在Github和StackOverflow上并且有一定变化趋势的编程语言。
同时,根据对搜索引擎结果的分析,TIOBE 在 2018 年 6 月发布的 100 种最流行的编程语言排行榜中将Kotlin排在第 49 位。TIOBE 首席执行官 Paul Jansen 表示,总体来说编程语言的采用曲线是一个相对缓慢的过程,但Kotlin的采用却相当快。
在基于Google搜索引擎数据研究的PYPL排行榜中,Kotlin排名第18位,Java排名第2。有趣的是,2017 年 6 月至 2018 年 6 月期间,Kotlin 的受欢迎程度有所上升,而 Java 的受欢迎程度则下降了同样的幅度。更具体地说,该列表显示,2018 年 6 月,Kotlin 的市场份额为 ,而 Java 的市场份额为 。
近日,一家专门为开发者提供工具和云基础设施的后起之秀公司Pusher发布了对2744名开发者的调查结果,其中60%的开发者使用Kotlin进行研发和个人项目。
虽然所有迹象似乎都表明,Kotlin 的快速增长是以牺牲 Java 为代价的,但 Gartner 研究副总裁 Mark Driver 表示,Kotlin 开发者的数量实际上很少。目前,我们认为Kotlin在任何指标上都没有超越Java的机会,所有数据都在合理范围内。
当Kotlin发布了新版本时,我们该如何客观地评价这门编程语言呢?
Android Studio 可以支持更稳定的开发者体验,这让 Kotlin 相对于其他语言具有独特的优势。由于Android Studio直接提供了Kotlin语言,因此只需点击一下即可启动Kotlin项目,并且不需要任何插件。而且,调试 Kotlin 代码所花费的时间与调试 Java 代码一样多。
Kotlin最适合的用户是不会使用Java的Android开发者。这听起来有悖常理,但确实有一些人在转向 Android 时不需要具备 Java 技能。他们也可以是 iOS 用户。要求主要精通 Objective-C 或 Swift 的开发者暂时编写 Android 版本。毕竟Kotlin开箱即用还是很方便的。
对于 Java 开发人员来说,Kotlin 可以与 Java 进行互操作,应用程序团队可以按照自己的节奏进行操作,而无需重写整个应用程序。互操作性允许将Kotlin代码转换为 Java 代码,反之亦然,并将Kotlin代码和 Java 代码组合在同一应用程序中。然而,在进行切换之前,开发人员需要阅读简短的互操作性指南,从长远来看这将节省时间。整个过程没有不兼容的风险,因为它运行在JVM上。
Kotlin应用程序性能与 Java 相当,但Kotlin工件所花费的时间与 Java 不同,具体取决于所执行工件的类型。例如,纯 Kotlin 工件可能比 Java 花费更长的时间,而增量 Kotlin 工件实际上可能更快。不过,建造时间的差异还不足以影响Kotlin的使用。
另外,开发者还喜欢Kotlin简洁的语法,因为它减少了出错的可能性。开发者可以用更少的代码做同样的事情,这大大降低了代码的错误率,因此很可能会降低维护代码的成本,但这只是一个小小的改进,类似于苹果对 Swift 所做的事情。
Kotlin的零安全感也很吸引人。软件分析公司 OverOps 发现,在 10 亿个 Java 记录错误中,97% 的错误是由唯一性引起的,其中 NullPointerException 错误是最常见的。经过分析,对 1,000 个应用程序的研究证实这些错误影响了 70% 的生产环境。
Google 在 2018 年 Google I/O 活动上发布了最新一代 Android 组件 Android Jetpack。 Jetpack 提供向后兼容性并能够立即升级到更大的组件集,因此开发人员可以更快、更便宜地构建更高质量的应用程序。它还负责后台任务、导航和生命周期管理。
Android Jetpack 包含 Android KTX,这是一个特定于 Kotlin 的组件,旨在改善开发人员体验。谷歌还改进了 Android 运行时 (ART) 性能,使 Kotlin 应用程序运行得更快。代码片段已经添加到官方文档中,并且Google发布了儒家版的API参考文档。该公司还在 Udacity 推出了Kotlin训练营,现在为 Google 开发者专家计划提供了Kotlin专业课程。
同时,语言本身也在不断发展。目前最新版本的Future 1.2支持JVM和JavaScript之间的代码重用,因此开发人员只需编写一次应用程序的业务逻辑,然后在后端、浏览器界面和Android移动应用程序中重用它。翻译速度比 .Kotlin1.1允许开发者将Kotlin代码翻译成Javascript以在浏览器中运行。次要版本包括对 Gradle 构建缓存() 的支持、错误修复、JUnit 5 支持等。
虽然Kotlin比Java有很多优势,但由于它是基于几年Java开发经验的总结而开发的,因此其优势无法直接评估。如果Java发展到今天,同样可能会有更简单的编码过程和更好的性能。说Kotlin正在取代 Java 是令人不安的,但Kotlin确实占有 Java 市场的一小部分。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。