- 主题:Kotlin Multiplatform Mobile前景咋样?
Kotlin Multiplatform Mobile,目前是Alpha阶段。
安卓上就是Kotlin/Java那套,JVM运行;
ios上是用Swift写UI,最后编译成native代码(Kotlin -> native, 跟华为的方舟编译器是一样的)。
browser/web、macos/windows/linux等平台也类似,但可能支持的优先级靠后一点。
跟UI无关的business logic做成安卓、ios共享的模块,
跟安卓、ios等各个特定平台紧密绑定的那部分通过expect/actual封装隔离。
好处是business logic的代码只有一份,用Kotlin写。
UI代码是多份,UI是平台的原生UI(这点主要是跟Flutter相比),app的速度基本也是各个平台上的最佳速度。
缺点可能是需要熟悉各个平台的开发,包括平台的UI或者平台特有的特性,适合team或者全栈的熟手独狼。
需要积累用expect/actual封装的库,不过这个可能从社区能搞到不少。
不知道这个前景如何。我看有人宣称是next big thing。
从案例看,Netflix等一些公司是正式使用了。
--
修改:z16166 FROM 125.35.123.*
FROM 125.35.123.*
不知道有多少公司能做到严格的逻辑和UI分层还能双端复用
万一真有这样的,比如视频地图网络之类的引擎也都c/cpp写了吧
【 在 z16166 (Netguy) 的大作中提到: 】
: Kotlin Multiplatform Mobile,目前是Alpha阶段。
: 安卓上就是Kotlin/Java那套,JVM运行;
: ios上是用Swift写UI,最后编译成native代码(Kotlin -> native, 跟华为的方舟编译器是一样的)。
: ...................
--
FROM 61.50.116.2
c# xamarin都已经实现这些功能,正式版好多年了
我们开源产品用着xamarin性能还行,感觉和原生的是一个级别的
喜欢Kotlin/Java语言的同学可以等等看,如果仅仅是想试试这些功能成熟之后的样子,现在试试c#就行了
【 在 z16166 的大作中提到: 】
: Kotlin Multiplatform Mobile,目前是Alpha阶段。
: 安卓上就是Kotlin/Java那套,JVM运行;
: ios上是用Swift写UI,最后编译成native代码(Kotlin -> native, 跟华为的方舟编译器是一样的)。
: ...................
--
FROM 123.116.221.*
看着就不靠谱。如果会swift和kotlin,干嘛还做成跨平台的。另外就是别低估了所谓的把公共模块抽象出来跨平台的工作量,往往埋坑不少。
在我看来以及根据我的项目经验,现阶段跨平台的最好的技术还是uniapp。真正的糙快猛。
看不上uniapp或者性能满足不了需求的。也不用考虑别的跨平台方案。老老实实各端分别原生开发吧。
【 在 z16166 的大作中提到: 】
: Kotlin Multiplatform Mobile,目前是Alpha阶段。
:
: 安卓上就是Kotlin/Java那套,JVM运行;
: ....................
- 来自「最水木 for iPhone Xs Max」
※ 修改:·syssky 于 Feb 8 12:50:38 2021 修改本文·[FROM: 106.121.70.*]
※ 来源:·最水木 客户端·[FROM: 117.136.0.*]
修改:syssky FROM 106.121.70.*
FROM 117.136.0.*
xamarin在ios上是AOT编译为native code的,性能比Object C的差一些,大多数情况下用户对这个差异无感知
这有个2017年的性能测试:
https://www.altexsoft.com/blog/engineering/performance-comparison-xamarin-forms-xamarin-ios-xamarin-android-vs-android-and-ios-native-applications/
KMM主要是给kotlin/java的team用的,老项目得大量重构,新项目可能合适点。性能上也得看Kotlin -> native的翻译咋样。
【 在 leadu 的大作中提到: 】
: c# xamarin都已经实现这些功能,正式版好多年了
: 我们开源产品用着xamarin性能还行,感觉和原生的是一个级别的
: 喜欢Kotlin/Java语言的同学可以等等看,如果仅仅是想试试这些功能成熟之后的样子,现在试试c#就行了
: ...................
--
FROM 125.35.123.*
跟巨硬的技术栈最大的问题是得防巨硬丢了这个技术。
很大的可能性,你对这个技术的投资会在五年内打水漂。
【 在 leadu (leadu) 的大作中提到: 】
: c# xamarin都已经实现这些功能,正式版好多年了
: 我们开源产品用着xamarin性能还行,感觉和原生的是一个级别的
: 喜欢Kotlin/Java语言的同学可以等等看,如果仅仅是想试试这些功能成熟之后的样子,现在试试c#就行了
: ...................
--
FROM 112.47.122.*
精辟,千万别跟着微软的技术栈走。
【 在 hgoldfish 的大作中提到: 】
: 跟巨硬的技术栈最大的问题是得防巨硬丢了这个技术。
:
: 很大的可能性,你对这个技术的投资会在五年内打水漂。
: ....................
- 来自「最水木 for iPhone Xs Max」
--
FROM 106.121.159.*
嗯,架构设计里的抽象化,耗时不可忽略,可能会很纠结,
往往要在投入市场一段时间后才能达到成熟思考的地步,
【 在 syssky (syssky) 的大作中提到: 】
: 标 题: Re: Kotlin Multiplatform Mobile前景咋样?
: 发信站: 水木社区 (Mon Feb 8 12:34:03 2021), 站内
:
: 看着就不靠谱。如果会swift和kotlin,干嘛还做成跨平台的。另外就是别低估了所谓的把公共模块抽象出来跨平台的工作量,往往埋坑不少。
:
: 在我看来以及根据我的项目经验,现阶段跨平台的最好的技术还是uniapp。真正的糙快猛。
:
: 看不上uniapp或者性能满足不了需求的。也不用考虑别的跨平台方案。老老实实各端分别原生开发吧。
:
: 【 在 z16166 的大作中提到: 】
: : Kotlin Multiplatform Mobile,目前是Alpha阶段。
: :
: : 安卓上就是Kotlin/Java那套,JVM运行;
: : ....................
:
: - 来自「最水木 for iPhone Xs Max」
: ※ 修改:·syssky 于 Feb 8 12:50:38 2021 修改本文·[FROM: 106.121.70.*]
: ※ 来源:·最水木 客户端·[FROM: 117.136.0.*]
--
修改:syssky FROM 106.121.70.*
FROM 120.229.49.*