Kotlin 官网大变样?这是要干啥?,讲的真详细

当然,这个移动端跨平台并不是什么特别新鲜的事儿,毕竟开源项目嘛,没事儿刷刷 Kotlin 的 Slack,啥都能提前知道。而且本身 Kotlin 跨平台共享代码从 1.2 刚开始公测就理论上包含了 Kotlin-Jvm@Android 和 Kotlin-Native@iOS 的代码共享能力,所以我们似乎不应该意外,我只是想说 JetBrains 居然把移动端跨平台专门上升到了这么高的优先级,还专门做了 Kotlin Native 与 Objective-C & Swift 的互调用的支持,真是任性~~

如果过一段时间 Dukat 这个项目逐渐成熟,Kotlin-Js 的编译工具也进一步完善,特别是对 npm 依赖的管理能更加灵活(目前 Kotlin-js 的 Gradle 依赖当中不会自动携带 npm 依赖这个让人非常难受),JavaScript 常见的框架都有了自己的 Kotlin 接口声明,那时候我估计写到最前面的也许还会发生一些变化,那时候也许叫 “Kotlin for 大前端”?

说到这里有人担心 Kotlin 这是不是在跟 Flutter 叫板。显然不是嘛,Kotlin 跨平台一直都声称自己只是为了逻辑代码的共享,UI 大家还是用原生的就好啦。于是乎 Android 原来该用 ConstraintLayout 你就用你的 XML 布局,iOS 呢就还是用你的 storyboard。

image

Flutter 抢的是 UI 的饭碗,UI 层跨平台的问题解决了,有人就说我们底层的逻辑也选一套跨平台的方案好不好?这要是放到几年前,怕是没有别的选择了,C++ 是最好的语言;而现在,你可以选择 Kotlin,最为神奇的是 Kotlin 的跨平台和 C++ 的机制非常不同,它在 Android 上使用 Kotlin-Jvm,iOS 上则使用 Kotlin-Native。你要是非想在 Android 上使用 JNI 的话,Kotlin-Native 也已经支持了绝大多数 Android 的 CPU 架构。所以很早就有人发文章报告 Flutter + Kotlin-Native 实现移动端跨平台开发的优秀体验,所以 Flutter 该学就学,不矛盾。

而且它俩的这基友关系嘛。。。依我看,这 Logo 就已经说明一切了。。。

还有一个比较引人注目的就是 Data science 了吧。毕竟 Python 因为这个都火的不得了了,过去的一年里我已经鼓动我们组好几个小伙伴上手 Python,要恰饭的嘛,艺多不压身,免得错过一些项目的机会。现在好了,Kotlin 也能搞科学计算了,目测大概的切入思路暂时还是依托于强大的 Jvm,Java 能用的框架 Kotlin 自然能用,Java 不能直接用的,例如 Python numpy,可以 JNI 直接搞一个封装 kotlin-numpy;等 Kotlin Native 翅膀硬了之后就更省事儿了,直接跟 C 玩去,连 Jvm 都用不着了。这么发展着,最后也许是我的当然是我的,你的也是我的。。。

忘了说了,现在已经有了 Jupyter 的 Kotlin 内核,所以以前在 Jupyter Notebook 里用 Python 写的代码也可以用 Kotlin 写了,贴一张官网的效果图:

很美是吧,之前 KotlinConf 2019 期间官博就发了一篇文章介绍这个能力,也可以参考一下:Making Kotlin Ready for Data Science [原文] [中文翻译]。

顺便提一句,调用 GPU 其实也是 IO 操作,我看了几个 cuda 的程序都很有意思,要么是阻塞调用,要么就是异步调用之后在主流程里死循环等待结果返回。这似乎与我们的 Socket 读写类似,异步的 API 可能在大规模调用时性能更好,但代码编写起来更加复杂。前几天读到一篇论文讲的就是如何使用 C++ 的协程来降低 GPU 编程的复杂度(Integrating GPGPU computations with CPU coroutines in C++),随着 Kotlin Native 的逐渐成熟稳定,我们可以直接通过 C 接口编写 GPU 相关程序,Kotlin 协程也许可以为 GPU 编程带来一定的便利。

这么看来,预计在 2020年春天发布的 Kotlin 1.4 的形势也比较明朗了,正如 Kotlin 之父 Andrey 说的,这个版本没有什么太多的新特性。因为作为一门语言本身,Kotlin 已经比较成熟,现在最应当关注的是开发体验,开发效率,稳定性,易用性以及应用场景等等语言生态的内容。

我之前还比较担心 Kotlin Multiplatform 和 Kotlin Native 会不会借此机会正式发布,从官网的这次改动来看,这样的担心应该是多余的了。我们来回顾一下过去 Kotlin 的重要版本的发布时间:

  • Kotlin 1.0:2016.2

  • Kotlin 1.1:2017.3(13个月之后)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

资源分享

  • 最新大厂面试专题

这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等

  • 对应导图的Android高级工程师进阶系统学习视频
    最近热门的,NDK,热修复,MVVM,源码等一系列系统学习视频都有!

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

  • 27
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值