10 月,开发者不可错过的开源大数据大会-2021 WeDataSphere 社区大会深圳站 了解详情
写点什么

从 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:5912330

评论

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

dex优化对Arouter查找路径的影响

vivo互联网技术

android mongodb

因为一个字符校对问题,我的大厂面试挂了

华为云开发者社区

MySQL 字符 字符校对 语句 MySQL5.7

模块五作业

c

架构实战营

6000 字 |Redis 分布式锁|从青铜到钻石的演进方案

悟空聊架构

redis 缓存 分布式锁 redis分布式锁 6月日更

音视频三:如何搭建自己的流媒体服务

华宇法律科技

聊一聊我最近使用的uniCloud是个什么玩意

麦洛

uniapp unicloud

悟了,电商的千人千面系统,原来还可以这么搞

程序员小毕

Java 程序员 架构 面试 分布式

通证经济— 激励机制、社会生产、后资本主义

CECBC区块链专委会

实战 | 云原生时代的微服务架构

Damon

微服务 k8s 云原生架构 6月日更

react源码解析2.react的设计理念

全栈潇晨

React React Hooks react源码

ModelArts的雪中送炭,让我拿下CCF BDCI华为Severless工作负载预测亚军

华为云开发者社区

modelarts 工作负载 大赛 severless lstm架构

学习总结 已完成的中国大学MOOC课程

万里无云万里天

学习 6月日更 中国大学MOOC

iOS基础原理题目汇总

程序员 面试 iOS 知识体系

架构之:软件架构漫谈

程序那些事

架构 系统架构 软件设计 程序那些事

HTTP协议

IT视界

网络协议 HTTP 网络通信协议

Dubbo 服务治理

青年IT男

dubbo

Serverless over Storage

焱融科技

云计算 云原生 高性能 文件存储 容器存储

不含敌意的坚决|靠谱点评

无量靠谱

自制文件系统 —— 1 什么文件系统

奇伢云存储

Go Linux 文件系统

【Flutter 专题】116 图解 PhysicalModel & PhysicalShape 裁切小组件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

《面试官:谈谈你对索引的认知》之B-树

架构精进之路

MySQL 索引结构 6月日更

在 Python 中解析和修改 XML,你会么?

华为云开发者社区

Python xml 字符串 Python XML 解析器

唵嘛呢叭咪吽|靠谱点评

无量靠谱

Logstash-数据流引擎

进击的梦清

大数据 Linux 运维 后端 Logstash

用敏捷扑克做需求评审的3大优势,你get了吗?

LigaAI

高效工作 团队管理 产品思考

网络攻防学习笔记 Day31

穿过生命散发芬芳

5月日更 网络攻防

One-on-One Meeting

escray

学习 5月日更 朱赟的技术管理课

智慧光伏能源-园区光伏发电能源管控可视化

一只数据鲸鱼

数据可视化 智慧园区 智慧能源 能源管理 光伏发电

人生算法:涌现,在自己身上发挥群体智慧

石云升

读书笔记 6月日更

IoT系列,树莓派监控开关状态

IT蜗壳-Tango

IT蜗壳 IT蜗壳教学 5月日更

百度爱番番与Servicemesh不得不说的故事

百度Geek说

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