前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google 力挺 Kotlin,这是怎么回事!

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

作者头像
腾讯Bugly
发布2023-04-02 14:13:20
5390
发布2023-04-02 14:13:20
举报
文章被收录于专栏:腾讯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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 不敢用 Kotlin?
  • 想用 Lambda?
  • 想用 Coroutine?
  • WTFUtils
  • 空指针异常?
  • 相关阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档