熬夜再战Android之修炼Kotlin-为什么要搞她?

709 阅读4分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

欢迎关注公众号【空名先生】获取更多资源和交流!

👉前提

从2011年7月诞生,截止现在2021年10月Kotlin的V1.0发布出现也已经是5年前的事了。当初刚发布出来的时候听说过,不仅仅是因为她刚出来没多久担心技术栈稳定性,也是因为开发任务紧加上小空是Unity+Android双开发,也在做Unity项目,所以一直耽搁下来了。

这么久了,Kotlin已经越来越稳定了,毕竟被谷歌爸爸推荐首选,所以该学一学了。

程序员工作就这样,一个技术还没用多久,就又得学习新的技术了。

image.png

Kotlin官方说有五个应用方向,但是小空搞的是Android,所以其他方向不清楚,有了解的可以留言讨论啊。

image.png

👉实践过程

😜Kotlin优缺点

  • 空类型安全
  • Java和Kotlin可互操作
  • 结构化并发,异步协程像阻塞代码易用
  • Lambda表达式
  • 扩展方法
  • 类型推导
  • 没有了分号!!!!

Kotlin 本身扩展了非常多的常用操作,像文本读写、定时器调度、流式操作集合(类似RxJava),而这些都是Java语言是没有的。

Kotlin 的使用范围并不局限在 Android 开发领域,官方目前看到有5个应用方向。。

可以说,只要是 Java 能做的事情,Kotlin 都可以做,甚至还可以做得更好。

这些都是谷歌将Kotlin作为优先Android开发的原因之一。

缺点

额…,怎么说呢,这篇文章基本都是我查询后知道的。全网大部分都在鼓吹, 我不信一个语言没有缺点。

小缺陷小Bug一定存在,在这先不讨论

包体积略增算是一个

另外Java和Kotlin的互转上算一个坑

还有暂不全代码的智能提醒算一个

所以在用的时候一定要保持清醒,不要深陷各种Kotlin宣传中,先学习一段时间,再简单应用,最后再考虑是否真的应用。

至于下面,可以当我是在吹水。哈哈哈哈~咯

image.png

😜为什么要用Kotlin

小空记着2017年谷歌大会就宣布Kotlin是Android的官方首选语言了。如果你留意的话会看到每日使用的Android Studio关于Kotlin的功能越来越多,而且你看招聘岗位上的要求,需要Kotlin的也是越来越多了,所以仅仅掌握Java是不够的,还得搞定Kotlin,才能更加迎刃有余。

前两年甲骨文提出Java收费的新闻闹到沸沸扬扬,现在都还是饭否谈资。国内新闻有些断章取义,胡乱搞胡乱误导,加上各种原因确实能让一些公司渐渐的不再重视Java。

甲骨文虽然没有一刀切直接收费,但是已经在收费的路上开始实施了,想想那么多的JAVA

项目,多大的香饽饽啊。

甲骨文和谷歌的十年争夺战,Java版权侵权案在前两年也是闹的挺欢,谷歌官方也迫切的需要新的语言来解决问题,以免后续不断的麻烦。

从Android P(9)开始,系统源码中大量使用了Kotlin语言。

😜所以人们为什么渐渐喜欢上Kotlin

简单来讲一句话,Kotlin代码比Java更简单易懂,而且不牺牲性能和安全性。

没错,提升工作效率,简洁是有效方法之一。

但是不要钻牛角尖,所谓简洁是有“简”和“洁”两部分组成的,正则表达式看起来很短吧?但他并不简单,上来一个人很少能直接说明其含义。所以简洁是在简单易读懂和干净整洁之间取一个微妙的平衡关系。

而Kotlin就是努力变得比Java更简洁,事实上谷歌也一直在履行承诺。

Java和Kotlin是兼容的,这点比较人性化,谁不想开开心心写编程呢。

社区活跃,官方教程完善,没有理由不去尝试。

image.png

所以经过学习和实验,小空还是喜欢Java!!!

👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:芝麻粒儿 的个人主页 - 专栏 - 掘金 (juejin.cn)

📢欢迎点赞👍收藏🌟留言📝