04_Kotlin跨平台初探

2023-01-01  本文已影响0人  刘加城

Kotlin跨平台初探

    在学习Kotlin的时候,发现它居然提供了移动跨平台解决方案。虽然目前还是个beta版本,但也引起了我的好奇心。想着如果Kotlin能够解决跨平台问题,那么不论从语言角度,还是从熟悉角度,都是首选。毕竟相比另外两大方案Flutter和React Native来说,它容易多了。Flutter使用了全新的开发语言Dart,不论是Framework层、View层,还是数据层,都是重新设计的一套。React Native则是在JS 库React基础上发展而来的,它使用JS来描述界面元素。这两者都有较大的学习成本。

(1)主要目录结构

    在AndroidStudio或者IDEA上,根据官方文档步骤,可以创建Kotlin跨平台项目。下面是它的主要结构:

(2)协程

    跨平台的代码,是用kotlin语言编写的,它可以使用协程。对于Android来说,它最终是Java Class字节码。不论是Dalvik虚拟机,还是Art虚拟机,都不知道协程的存在。对于IOS来说,它最终会被实现为回调的方式。

(3)限制

    Kotlin跨平台方案存在很大的限制。大体概括一下:只有数据层的可以跨平台,如网络请求、Json序列化和某些工具方法等;View层不能跨平台,UI绘制分别在各自的Project里;平台相关的如文件、数据库操作等,都不能跨平台,需要各自处理。以下是一些总结:
    可以跨平台的:

    不能跨平台的:

(4)总结

    基于上面的结论,就没有对Kotlin跨平台方案再深入下去。因为限制太多了,可以跨平台的很有限。但总的来说,Kotlin提供了诸多跨平台方案中的一种,对一些公共逻辑代码,提供了很大的方便。期待它能继续发展下去,创造更大的舞台。
    Over !

上一篇 下一篇

猜你喜欢

热点阅读