GMTC全球大前端技术大会(北京站)门票9折特惠截至本周五,点击立减¥480 了解详情
写点什么

从 Java 迁移到 Kotlin,这 14 个 App 是怎么想的?

2019 年 8 月 20 日

从Java迁移到Kotlin,这14个App是怎么想的?


在 2017 谷歌 I/O 开发者大会上,谷歌宣布 Kotlin 语言和 Java 一样,成为 Android 应用开发的一级语言。从此,这门由位于俄罗斯的 JetBrain 团队开发的语言开始广受瞩目。


Kotlin 有着简洁的语法,同时可以与 Java 很方便地进行互操作。另外,基于 Android Studio 对它的良好支持,不难看出 Google 在向外界证明 Kotlin 在 Android 应用程序开发中的地位。 2018 年的 Google I / O 继续安排了 Kotlin 专题,也更加验证了这一点。


从 2017 到现在,无论是开发者还是企业,对 Kotlin 的需求都呈指数增长。根据一份对全球范围的移动应用开发者的调查显示,有百分之二十在 Google I / O 2017 大会之前使用 Java 构建的应用程序后续都迁移到了 Kotlin,这一趋势也引发了市场上对 Kotlin 开发者的需求激增。


本文将会为你介绍 14 个从 Java 迁移到 Kotlin 的 App,但在此之前,我们先来看下选择 Kotlin 可以为你带来哪些优势。


Kotlin 的优势

1. 提升代码的可维护性,节省开发时间

Kotlin 比 Java 更简洁,大大减少了代码的数量。这意味着它可以用更少的代码行解决更多问题,工程师也可以更高效地阅读和修改代码。


相比 Java,Kotlin 提供了许多使语言更简洁的特性,比如智能转换、数据类、属性和类型接口。


2. 降低应用程序的崩溃率

Kotlin 的代码比 Java 更安全,因为它在设计上避免了常见的编程错误,从而减少了应用程序崩溃和系统故障。此外,由于 Kotlin 是快速失败机制,因此可以立即报告任何可能导致失败的问题。而且,Kotlin 附带的快速失败编译器会搜索错误并阻止它们再次出现。


3. 大大缩小代码量,让项目更易维护

与 Java 相比,使用 Kotlin 开发需要的代码行数量要少得多,这不仅可以节省开发时间,还可以节省应用程序维护精力。


除了这些商业利益之外,Kotlin 还有许多优势。



从 Java 到 Kotlin 的好处

看到 Kotlin 语言的优势,已经有不少 App 都在从 Java 往 Koltin 迁移,这些优势具体来说有以下几点:



1. 已被大范围采用

虽然 Kotlin 是一门新语言,但是已经有不少公司已经从 Java 迁移到 Kotlin。


2. 简洁

相比 Java,Kotlin 非常简洁,减少了一些本来就没有那么多必要的模板代码,极大地提高了开发效率。因此,也大大降低了出错的概率,使生成的代码更安全可靠。


3. 更好的用户体验

随着出 bug 概率和 App 的崩溃率大大降低,产品的稳定性会有很大提升。因此,用户在使用产品时会更加流畅,用户体验也就更好。


4. 快速失败机制

这一次,谷歌为 Android 应用程序的编程语言带来了新的变化,他们让 Kotlin 有快速失败机制。快速失败的系统会立即报告任何有可能导致失败的编码问题。当问题出现时,快速失败机制会立即响应。


5. 让开发人员更轻松

Kotlin 使 Android 应用开发对开发人员而言变得轻而易举。除了易于使用,还有强大的 Android 应用开发者社区的支持。


所有这些优势累积起来,使 Kotlin 成为“什么是 Android 应用程序的编程语言”的最佳答案。


Kotlin 的采用率非常高,以至于没准你常使用的某个 Android 应用就是用 Kotlin 搭建的。


14 个使用 Kotlin 的 App

这 14 个 App,都是用 Kotlin 开发的。


1. Pinterest

Pinterest 是美国的一个图片分享类社交网站,Pinterest(Pin+Interest),意为把自己感兴趣的东西用图钉钉在钉板(PinBoard)上,用户可以按主题添加和管理自己的图片收藏,并与好友分享。Pinterest 是著名的使用 Kotlin 进行开发的 App 之一。该品牌正式从 Java 迁至 Kotlin,并在 Droidcon NYC 2016 上展示了此举的好处。


2. Gradle

Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具。最近,Gradle 将 Kotlin 作为编写构建脚本的语言。Kotlin 同时支持 IDEA 和 Eclipse,同时为 Gradle 用户提供了从代码重构到自动补全等一系列完整的 IDE 支持。


3.Evernote(印象笔记)

印象笔记是一款多功能笔记类应用笔记,在其 Android 客户端中集成了 Kotlin。


4.Corda

Corda 是一个开源区块链项目,它帮助区块链开发人员创建可互操作的区块链网络,完全基于 Kotlin 开发。


5. Coursera

这个全球知名的在线课程 App 也部分基于 Kotlin。Coursera 与全球一流大学和机构合作提供在线课程,数百万的活跃用户在该平台学习不同主题的课程。


6.Uber(优步)

优步使用 Kotlin 进行内部工具处理,例如注解处理器和 gradle 插件。


7.Pivotal 公司的 Spring 框架

大多数人可能不熟悉 Pivotal 公司。但如果你是一个开发者,在 Java 后台开发使用最多的一个框架——Spring,就是由 Pivotal 开发的。Spring 框架使用 Kotlin 为开发者提供了更简洁的 API。


8. Atlassian | Trello

Trello 是一个方便的团队协作工具,2017 年被 Atlassian 收购。虽然 Trello 不打算对旧代码库进行转换,但他们的新代码使用了 Kotlin。Java 和 Kotlin 之间有很好的互操作性,因此 Trello 能够两者兼容。


9. Basecamp 3

Basecamp 是 37signals 公司旗下的一款非常流行的基于云服务的项目管理软件。以简单易用和颠覆性的创新而出名。自从他们从 Java 转向 Kotlin 以来,Basecamp 的开发人员已经认识到代码质量和开发速度的巨大差异。


10. Twitter 的 Twidere

Twidere 是一款功能齐全的开源 Twitter 客户端,可以自定义主题、管理无限制帐户和过滤不良推文。Twidere 应用程序用 Kotlin 开发,由于其流畅的性能,已经获得了 100,000+ 的装机量。


11. Shadowsocks

安全的跨平台 socks5 代理可以帮助用户安全私密地上网。 这个在 Google Play 商店下载量超过 1,000,000 的 App 完全基于 Kotlin 开发。


12.Simple Calendar

Simple Calendar 是一款完全开源的无广告日历 App,也是完全基于 Kotlin 开发。界面非常美观,功能也很强大。


13. Kickstarter

Kickstarter 是世界最大的专为创意方案筹资的众筹平台,可以帮助音乐家,艺术家,设计师,电影制作人和其他创意人员筹集将他们的想法转变为现实所需的资源和支持。该应用也由 Kotlin 开发。


14.Square

自从 Square 的 Android 应用使用了 Kotlin,这个支付平台就成为了 Kotlin 的布道者。


原文链接:

Apps migrated from java to kotlin


2019 年 8 月 20 日 12:5912193

评论

发布
暂无评论
发现更多内容

android开发面试准备!Android高级工程师进阶学习,已开源

欢喜学安卓

android 程序员 面试 移动开发

十年运维经验总结出的智能运维系统落地方案

小术晓术

人工智能 运维 企业信息化 运维自动化 信息化

个人信息严控的时代,AI如何实现“安全”的智能营销?

星环科技

大数据

深扒!用6部分讲完Java性能调优:多线程+设计模式+数据库

996小迁

数据库 JVM 设计模式 多线程 性能调优

Android JNI模板与读取系统属性笔记

Changing Lin

android

try-catch-finally中的4个大坑,不小心就栽进去了!

王磊

Java 异常处理 try finally

推荐给所有程序员!这份“Netty最强宝典”你不服不行(实战+权威指南+项目+面试题库)

Java成神之路

Java 程序员 架构 面试 编程语言

百度信息流和搜索业务中的弹性近线计算探索与应用 | 文末送福利

百度Geek说

Java 前端工程 算法工程师 技术宅

首发10万字Mysql实战文档,几乎涵盖你需要的所有操作|超清PDF

Crud的程序员

MySQL 数据库

【Mysql-InnoDB 系列】幻读、死锁与事务调度

程序员架构进阶

MySQL 架构 innodb 事务 28天写作

产业区块链蓬勃发展 联盟链成为落地应用最大杀器

CECBC区块链专委会

区块链

Flink + Iceberg 全场景实时数仓的建设实践

Apache Flink

flink

「产品经理训练营」第三章作业

Sòrγy_じò ぴé

产品经理训练营 极客大学产品经理训练营 产品训练营

2年5个月13天,从外包到拿下阿里offer,没想到屌丝也能有今天

周老师

Java 编程 程序员 架构 面试

Spring Security 实战干货:分布式对象SharedObject

云流

Java spring 分布式

是我太菜,美团四面+蚂蚁金服四面全部凉凉,太难了!!!

Java成神之路

Java 程序员 架构 面试 编程语言

IntelliJ IDEA 20周岁啦,为期2天的周年庆活动对开发者免费开放

YourBatman

eclipse ide IDEA IntelliJ IDEA

我国首个自主可控区块链软硬件技术体系发布

CECBC区块链专委会

区块链

阿里Java性能优化最佳实践指南全新发布!(编程、多线程、JVM、设计模式、数据库优化全都有)

程序员小毕

Java 面试 性能优化 JVM 数据库调优

Maintainer 聚光灯:KubeEdge 和 Volcano 的王泽锋

华为云原生团队

开源 边缘计算 开源项目 华为云 批量计算

IDEA Malformed argument has embedded quote

会飞的猪

IDEA

数学,离一个程序员有多近?

小傅哥

程序员数学 谷歌公司数学面试题

DjangoRestFramework框架简介及基本使用

行者AI

RESTful

技术资讯 | 百度智能云拿下MTCS最高安全评级

百度开发者中心

行业资讯

安卓驱动开发!系统盘点Android开发者必须掌握的知识点,搞懂这些直接来阿里入职

欢喜学安卓

android 程序员 面试 移动开发

程序员必知的几种限流方案

Java架构师迁哥

“删库跑路”,这背后的数据安全你悟到了吗?

CloudQuery社区

数据库 大数据 数据安全 数据库管理工具 删库

Elastic开源协议改了,用户怎么办?

星环科技

为什么这么一道iOS小题目,这么多面试者搞不定?

Geek_24a3d9

面试题 技术交流 面试官 ios开发

七面阿里成功offer,入职就是25k*16薪,还原我的大厂面经

云流

Java 程序员 面试

京东资深架构师推荐学习6本实战文档:多线程+Redis+Nginx+MySQL+JVM....

Java成神之路

Java 程序员 架构 面试 编程语言

从Java迁移到Kotlin,这14个App是怎么想的?-InfoQ