个人观点,不喜勿喷,愿各位平等交流

跨平台开发已成趋势,毕竟现在的企业都希望降本增效,以最少的人来完成更多的需求,所以也衍生出了各种各样的跨平台开发框架:Flutter、React Native、Compose Multiplatform……每个都有各自的优缺点,大家可以根据自己的喜好来选择

早期我的第一个应用是由Flutter做成的,可以说是我移动开发的“启蒙教师”,也因为它让我很好的了解移动开发

https://github.com/250king/KirafanLauncher

原本想写一个Fanbox App,但因为太忙了弃坑了(

https://github.com/250king/fanbox-app

后面因为开发方向发生改变,项目就弃坑了,接着就用Compose来进行开发。虽然说这玩意也是有跨平台的性质,但目前其也在开发阶段,但如果纯写Android还是很舒服的。但其实也发现了之前写的Flutter有这几个问题

生态太弱了

为了提高效率,我们开发应用都是拿现有优秀的库来进行构造,这样可以避免重复造轮子,提高效率。但在我使用Flutter的时候就很明显感觉到这一点:生态不行

有时候我要的东西没有,哪怕有也是年久失修,在新版本的Flutter又用不了,然后又不得不造轮子写原生码。虽然说我懂Kotlin,但说实话还不如在Compose直接写,你还要处理宿主与Flutter的联系机制,要写的东西也不少

就业不广

这也是要提及的地方。最近Microsoft发布了对Windows Desktop支持的React Native。顿时热度大升,然后也看到一些大咖在试用,都说这玩意体验非常好,我听了之后都打算什么时候也弄个小玩意试试

其中有位提到了同为跨平台技术的Flutter,它也支持Windows,但不少人都持有悲观态度

而且,这玩意的发起人Google都对这玩意好像没什么大动作了,估摸精力都在Compose Multiplatform了😂

实际体验一般

你刚刚开始用还没什么感受,但一旦你开始深入使用,你就会开始难受了

其实我试过用这玩意写Windows Desktop应用,体验依托:我本来不懂C语言,但又不得不接触,还不如以Node.js发家的Electron,人家Node都可以解决很多问题。Flutter连窗口控制都要用C😡(

本来生态很差,加上很多插件都只支持移动端,很多东西都必须要自己手搓,因为成本太高然后就改用其他语言了

其实这一点就可以体现一点:跨平台工作做得还不是很到位

总结

在Fanbox搁浅之后,我过了很长时间才重新写移动App。接着那时候Compose已经发展成熟而且热度不小,我试了一下发现体验是比以前的Flutter好很多了,加上也没需求要开发Android以外的应用,我就一直用Compose

欢迎家人们互相讨论各自的移动开发技术栈!