Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Google 力挺 Kotlin,这是怎么回事!

Google 力挺 Kotlin,这是怎么回事!

作者头像
腾讯Bugly
发布于 2023-04-02 06:13:20
发布于 2023-04-02 06:13:20
6710
举报
文章被收录于专栏:腾讯Bugly的专栏腾讯Bugly的专栏

今年 Google I/O 2017 开发者大会中,Google 宣布正式把 Kotlin 纳入 Android 程序的官方一级开发语言(First-class language)。Kotlin 主要由俄罗斯团队 JetBrains 开发,能与 Java 互通,但拥有 Java 不支持的功能。

话说听到这一消息之后,小伙伴们都炸了。。。

好啦,不说别的,就说说这一消息能给我们带来什么影响呢?

不敢用 Kotlin?

要知道,在 Google 大大在背后撑腰之前,我们在 Android 当中写 Kotlin 都算是野路子,没有人认可这事儿的,出了问题也还要自己负责,代码移交的时候也会带来一堆麻烦(毕竟大家大多数人不愿意学这个东西啊)。

现在好了,你就可以理直气壮的说,哇塞,Kotlin 是官方语言了,这么好的东西你们都不用,都不愿意去用,你们迟早要被遗忘在历史的车轮印里面的那个小缝缝里面!

想用 Lambda?

要说 Kotlin 最早用在写 Android 上,让人感觉最爽的就是可以任性的使用 Lambda,当然这在 Java 8 中也得到了支持(虽然还是支持得很诡异),于是 Google 就差人去折腾个 Jack&Jill,折腾了两年,有一天有个人一进门就冲着 J&J 的开发者们喊了一句 “Hi, Jack!”,于是这个项目就 Deprecated 了。嗯,Android 开发者们想用 Lambda 指望 Google 看来是要等到猴年马月了,而且按照之前的尿性,估计也得等到某个 api 版本才会支持,这就尴尬了。

谁能拯救你?当然是 Kotlin 啊!函数是头等公民的 Kotlin,支持函数式编程都毫无压力,Lambda 的体验更是不在话下,哎呀,不说了,我要去写 Kotlin 了~

想用 Coroutine?

最近在封装 Camera api。用过的小伙伴肯定都知道,Camera 有两套 api,老 api 基本是是同步调用的接口,只有拍照、对角这两个有回调;新 api 呢,所有的指令都类似于 http 请求一样异步发出去,回调呢,运行在我们发请求时传入的一个 Handler 所在的线程上,这样看来,回调恶魔的大戏就要上演了。

遇到这样的 api,我也很绝望啊。。

开发当中类似回调套回调的写法不在少数,我们该如何写出一段看上去是同步执行的代码,实际上却自己处理了异步请求呢?当然是 Coroutine 啊。

开发过 Unity 的朋友肯定会想到这个,去年有个同事去搞了一段时间游戏,对 Coroutine 的用法大为赞赏,它的主要优点有哪些呢?

  • 代码看上去直观,易懂
  • 异常处理简单(一个 try … catch 就解决问题)
  • 资源消耗少(比起你动不动就搞十个八个线程池来说,Coroutine 简直太经济啦)

好,最关键的是什么呢?这在 Kotlin 1.1 当中,Coroutine 已经非常完善了,尽管还被标记为 Experimental,但 Kotlin 1.2 的时候目测也不会有大改动,想想以后的 Android 代码还会有这样的东西,真的感觉世界都很美好呢!

哎呀,咋又说这么多,我要去写 Kotlin 了!

WTFUtils

每次都要提这个东西。你的代码里面一定一堆堆的 StringUtils/ImageUtils/BitmapUtils/LogUtils 这样的东西吧!

更搞笑的是,每个人都有自己的 LogUtils,当然也不排除有些人用的是 LogUtil,结果呢,我在 as 当中 double-shift 输入 LogUti 之后出来一堆,天呐,你们让我选哪一个啊。。

曾经有一次组里面的 iOS 大哥做分享,叫“手把手教 Android 开发写 iOS”,里面特别提到了动态修改方法的特性,以及扩展方法的特性,艾玛,看得我眼馋的不要不要的,想着哪天我也可以给 String 加个什么 util 方法的,该多好。

后来遇到了 Kotlin,Android 的小伙伴们,来吧,删掉你的 XXUtils 或者 XXUtil 吧,让那些不堪回首的往事都随风而去吧。

空指针异常?

听说你用 Java 写的 Android 代码经常出空指针异常啊?是不是辛辛苦苦大半月,一跑就挂千百遍?千百遍,还每次都是那个空指针,急得你直把眼泪掉,哎,这TM是什么破逻辑,模板代码数不尽,查着查着就懵逼。

Kotlin,安全类型来帮你,从此不怕空指针。

。。。

哈哈,我去写 Kotlin 了,别拦着我。

相关阅读


如果您觉得我们的内容还不错,就请转发到朋友圈,和小伙伴一起分享吧~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯Bugly 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Kotlin简单问
今天复习下kotlin相关的知识点和常考考点,通过这些问答相信你也能更一步了解Kotlin。
码上积木
2020/12/25
9190
为什么建议大家加快拥抱Kotlin,说点不一样的
Kotlin自2017年起被Google正式宣布为Android的编程语言之一,随后在2019年进一步宣布Kotlin为Android的首选语言,普及速度逐渐加快,越来越多的公司和项目在引入Kotlin。
AntDream
2024/06/03
2000
为什么建议大家加快拥抱Kotlin,说点不一样的
如何让你的回调更具Kotlin风味
简述: 这应该是2019年的第一篇文章了,临近过年回家一个月需求是真的很多,正如康少说的那样,一年的需求几乎都在最后一两月写完了。所以写文章也搁置了很久,当然再忙每天都会刷掘金。很久就一直在使用Kotlin写项目,说实话到目前为止Kotlin用的是越来越顺手了(心里只能用美滋滋来形容了)。当然这次依然讲的是Kotlin,说下我这次需求开发中自己一些思考和实践。其中让自己感受最深的就是: "Don't Repeat Yourself"。当你经常写一些重复性的代码,不妨停下来想下是否要去改变这样一种状态。
Android技术干货分享
2019/03/27
1.7K0
干货 | Kotlin超棒的语言特性
作者简介 何伦,携程度假BU移动端资深研发经理,负责iOS、Android平台上跟团游产品预订流程的前端页面的研发工作。对新技术有着浓厚的兴趣。 自从2017年Google宣布Kotlin成为Android官方开发语言之后,Kotlin受到广大Android开发者的追捧。其强大的安全性,简洁性和与Java的互操作性,为开发者带来了耳目一新的开发体验,也极大提升了Android原生代码的开发效率。 不过大部分开发者对Kotlin的使用,仍然局限于把Java代码逻辑按照Kotlin语法进行转换的层面,其实Ko
携程技术
2018/07/05
1.5K0
在 Fragment 当中使用 Kotlin-Android-Extensions 需要注意的
自从有了 kotlin-android-extensions,小伙伴们的感觉就是一个字,爽!再也不用什么 findViewById 了,也不用什么反射和注解注入了,吾有奇招,黄油刀们速速退散!
bennyhuo
2020/02/20
1.7K0
前沿 | 为什么我要改用Kotlin
作者|技术小黑屋 原文|http://droidyue.com/blog/2017/05/18/why-do-i-turn-to-kotlin Google I/O 2017 首日 Keynote 刚刚落幕,其中 Google 宣布 Android 系统将对 Kotlin 提供 first-class 的支持算是一个非常重磅的新闻。对于大众来说,Kotlin 编程语言可能是相对陌生的,它究竟有何过人之处呢?不如让我们听听开发者是怎么说的。 写在前面的话,作为一个不熬夜的人,一觉醒来发现Kotlin成为了An
用户1097444
2022/06/29
7000
前沿 | 为什么我要改用Kotlin
Kotlin协程实现原理:Suspend&CoroutineContext
今天我们来聊聊Kotlin的协程Coroutine。 如果你还没有接触过协程,推荐你先阅读这篇入门级文章What? 你还不知道Kotlin Coroutine? 如果你已经接触过协程,相信你都有过以下
Rouse
2020/11/16
1.8K0
使用 Kotlin 构建 Android 应用 | Kotlin 迁移指南 (上篇)
今年五月份的 Google I/O 上,我们正式向全球宣布 Kotlin-first 的这一重要理念,Kotlin 将成为 Android 开发者的首选语言。接下来的几周我们将会为大家连载关于 Kotlin 迁移指南的系列文章,包含 Kotlin 的优势和介绍 (上篇)、迁移到 Kotlin (中篇),以及使用 Kotlin 的常见问题 (下篇),帮助开发者们顺利迁移并开始使用 Kotlin 构建 Android 应用。
Android 开发者
2019/11/01
1.3K0
使用 Kotlin 构建 Android 应用 | Kotlin 迁移指南 (上篇)
为什么我要改用Kotlin
写在前面的话,作为一个不熬夜的人,一觉醒来发现Kotlin成为了Android的官方语言,可谓是大喜过望。为了趁热打铁,我决定提前三天放出原定本周日Release的文章。希望能及时让大家了解一下Kotlin。
技术小黑屋
2018/08/29
6980
hello Kotlin
1.1 Kotlin的身世 写了许久 Java,有没有发现其实你写了太多冗余的代码? 后来你体验了一下 Python,有没有觉得不写分号的感觉真是超级爽? 你虽然勤勤恳恳,可到头来却被 NullPoi
xiangzhihong
2018/02/05
9660
hello Kotlin
第1章 Kotlin是什么第1章 Kotlin是什么
当下互联网大数据云计算时代,数以百万计的应用程序在服务器、移动手机端上运行,其中的开发语言有很大一部分是用流行软件界20多年的、强大稳定的主力的编程语言Java编写。
一个会写诗的程序员
2018/08/17
1.3K0
第1章 Kotlin是什么第1章 Kotlin是什么
遇见 Kotlin 先导篇:Kotlin 相比 Java 好在哪里?
本文主要介绍了Kotlin编程语言的一些主要优点,包括代码简洁易读、跨平台、强大的标准库、更少的代码完成、支持多种编程范式、良好的性能表现、现代化的IDE支持、以及逐渐增长的生态系统。同时,也探讨了Kotlin和Java的异同点,以及如何在实际项目中选择使用Kotlin或Java。
YingJoy_
2017/06/07
2.6K0
遇见 Kotlin 先导篇:Kotlin 相比 Java 好在哪里?
Google I/O 2019 Android 开发者关注些什么?
整体上看,这一年,Android 只专注一件事,就是帮助开发者提高生产效率。(developer productivity)
程序亦非猿
2019/08/16
6370
Google I/O 2019  Android 开发者关注些什么?
Google 推荐在 MVVM 架构中使用 Kotlin Flow
链接:https://juejin.im/post/6854573211930066951
陈宇明
2020/12/16
4.9K0
Google 推荐在 MVVM 架构中使用 Kotlin Flow
认识 Kotlin 语言
使用一行代码创建一个包含 getters、 setters、 equals()、 hashCode()、 toString() 以及 copy() 的 POJO:
码脑
2019/04/11
9920
认识 Kotlin 语言
Kotlin 初体验:主要特征与应用
让我们从一个小例子开始,来看看 Kotlin 代码长什么样子。这个例子定义了一个 Person 类来表示“人”,创建一个“人”的集合,查找其中年纪最大的人,并打印结果。尽管这是非常小的一段代码,从中也可以看到 Kotlin 许多有趣的特性。
博文视点Broadview
2020/06/11
9590
Kotlin 初体验:主要特征与应用
Android平台的Swift—Kotlin
原文链接:http://wetest.qq.com/lab/view/383.html
WeTest质量开放平台团队
2018/05/04
3.6K7
Android平台的Swift—Kotlin
前端开发者的 Kotlin 之旅:kotlin核心概念解析
Kotlin 的 Lambda 表达式语法更简洁,且天然支持高阶函数(以函数为参数或返回值的函数):
骑猪耍太极
2025/04/09
2460
前端开发者的 Kotlin 之旅:kotlin核心概念解析
Kotlin vs Java:深入解析两者之间的最新差异与优劣(全面指南)
Kotlin 和 Java 是两种常用的编程语言,尤其是在 Android 开发领域。尽管它们有许多相似之处,但也有显著的区别。本文将详细介绍 Kotlin 和 Java 之间的区别,帮助你更好地理解这两种语言的特点和优缺点。
IT_陈寒
2025/06/01
860
Kotlin vs Java:深入解析两者之间的最新差异与优劣(全面指南)
你为什么需要 Kotlin
导语 在当今的互联网时代,新技术犹如雨后春笋般层出不穷。精神哥之前也和开发同学一起讨论过程序员的成长离不开哪些软技能?当时很多人都有提到探究新技术对程序员的重要性。 精神哥身边就有一位热衷于探究新技术的同事——Benny(霍丙乾)。相信经常关注Bugly的同学对他一定很熟悉了,我们之前推送过好几篇Benny写的干货文章,如“深入理解 ButterKnife,让你的程序学会写代码”,还有“深入浅出 Retrofit,这么牛逼的框架你们还不来看看?”,等等...... 这期咱们再跟随Benny一起来看看“Kot
腾讯Bugly
2018/03/23
1.1K0
相关推荐
Kotlin简单问
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档