【InfoQ】Kotlin vs Flutter:谁将成为跨平台开发市场的最终统治者?
我们在早些时候已经对比过 Flutter 和 React Native 了 , 这篇文章就来对比一下 Flutter 与 Kotlin 吧 。曾经有一段时间 , 跨平台开发就是 " 使用 React Native 和 Flutter 构建应用 " 的代名词 。 个人开发者和移动应用开发公司都会依赖这两个框架 , 从而以更加经济和高效的方式同时在 Android 和 iOS 上推出自己的产品 。
但是现在 , Kotlin 也加入了这场竞赛 。 谷歌甚至宣布 Kotlin 现在是 Android 应用程序开发人员的首选语言 。 于是所有人都想知道谁将成为跨平台开发市场的最终统治者 。 我们在早些时候已经对比过 Flutter 和 React Native 了 , 这篇文章就来对比一下 Flutter 与 Kotlin 吧 。
什么是 Kotlin Multiplatform?Kotlin Multiplatform 是这种语言的一项附加功能 , 可帮助其扩展到 Android 应用程序开发以外的领域 。 这意味着 , 它让开发人员可以跨多个平台(例如 iOS、Web、Linux、macOS、Android 和 Java 虚拟机 JVM)共享代码、数据和业务逻辑 。
我们将在这里着重介绍 Multiplatform 的功能 , 你还可以在《Kotlin for Android App Development – Whys and Hows and Bonus Tips》这篇博文中了解 Kotlin 的原生平台特征 。
在当下的市场中 , 投资 Kotlin 应用开发以实现跨平台发布还是一个很新的理念 , 但令人惊讶的是很多受欢迎的品牌都接受了这一理念 。
本文插图
这种现象背后的主要原因是 , Kotlin Multiplatform 为移动应用开发人员提供了以下好处 。
使用 Kotlin Multiplatform 的好处这是一个 SDK , 而不是框架选择 Kotlin 的最大好处是你无需迁移整个应用程序 。 你可以从单个模块或功能开始 , 先把这一部分跑起来 , 然后逐步迁移其他部分 。
容易学习由于 Kotlin 的语法与 Swift、Java、Groovy 和 Scala 等顶级编程语言非常相似 , 因此学习这种语言并投入 Kotlin Multiplatform 的开发工作是非常容易的事情 。
重用业务逻辑的确 , 它不是第一个让开发人员能够分离业务逻辑和 UI 的工具 。 像 Xamarin 和 React Native 那样的各种跨平台框架都已经提供了这种服务 。
但让 Kotlin Multiplatfrom 与众不同的是 , 它在 UI 层下采用了共享的逻辑和库 。 这使移动应用程序开发人员可以与原生环境——包括 iOS 的 Swift 和 XCode、Web 上的 JavaScript 和 Android 的 Kotlin 和 Android Studio——来交互 , 而无需使用任何桥接手段 , 并以更加原生的方式交付代码 。
原生 UI 体验Kotlin Multiplatform 不需要开发人员遵循任何有关 UI 创建的指示 。 它使 UI 开发人员可以像应对原生应用一样处理应用程序的外观、行为和性能表现 。
更
更高的性能考虑使用 Kotlin 语言进行跨平台开发的一大优势在于 ,Multiplatform 会将代码编译为与目标平台完全相同的格式 。 这使其性能表现与原生竞品同样出色 。
增强的灵活性和可扩展性它使开发人员可以在不使用任何 VM 的情况下扩展其应用项目 , 并运营维护它们 。 这使它成为制作移动应用的理想选择 , 让开发人员能够同时关注灵活性和可扩展因素 。
然而 , 尽管 Kotlin 语言的 Platform 扩展具有这么多令人印象深刻的优势 , 但它也有着很多缺陷 , 所以想要赢得所有人的喜爱还有很长的路要走 。
Kotlin Multiplatform 的缺陷仍处于实验状态虽然这一 SDK 是在 Kotlin 1.2 中引入的 , 但它尚未达到稳定的 1.0 版本 , 仍处于实验状态 。 这让开发人员在考虑为下一个大型项目选择它时犹豫不决 。
可用的库不够多当前 , 它的开发环境中仅提供了一些基本库 , 例如数据序列化库和 HTTP 客户端库 。 尽管随着 Kotlin 1.4(即 Kotlin 1.3.60 的继任者)的到来 , 会有更多像 DateTime 这样的库进入市场 , 但直到现在 , 要做到无缝且毫不费力地构建应用程序依旧是很困难的事情 。
推荐阅读
- 「InfoQ」月入 2 万的中国程序员,撑起 Zoom 千亿市值
- 『InfoQ』是如何实现每秒 200 万次的数据处理?,Netflix
- 「InfoQ」150 毫秒?,如何做到99%的搜索请求延迟低于
- 【InfoQ】150 毫秒?,如何做到99%的搜索请求延迟低于
- InfoQ@七天清空本地存储,苹果完全屏蔽第三方Cookie
- 「InfoQ」还有多远?,我们距离打“飞的”的日子
- InfoQ▲Cookie,七天清空本地存储,苹果完全屏蔽第三方
- InfoQ:希望还在计算机前,我生命的最后一刻
- InfoQ▲Python 3 这么难?,为什么迁移至
- 『InfoQ』年 22 款最佳软件开发工具,2019
