极客视点
极客时间编辑部
极客时间编辑部
113243 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/06:20
登录|注册

Kotlin&Flutter,该选哪个?

讲述:丁婵大小:8.70M时长:06:20
个人开发者和移动应用开发公司都会依赖 Kotlin 和 Flutter 这两个框架,从而以更加经济和高效的方式同时在 Android 和 iOS 上推出自己的产品。日前,解决方案架构师阿维纳什·沙玛(Avinash Sharma)从多方面对比了 Kotlin 和 Flutter 的优劣势,以帮助开发者更好地进行选择。

什么是 Kotlin Multiplatform?

Kotlin 是谷歌官宣的 Android 开发首选语言。Kotlin Multiplatform 是这种语言的一项附加功能,可帮助其扩展到 Android 应用程序开发以外的领域。这意味着,它让开发人员可以跨多个平台共享代码、数据和业务逻辑。
Kotlin Multiplatform 为移动应用开发人员提供了以下好处:

1. 这是一个 SDK,而不是框架

无需迁移整个应用程序,你可以从单个模块或功能开始,先把这一部分跑起来,然后逐步迁移其他部分。

2. 重用业务逻辑

它在 UI 层下采用了共享的逻辑和库,这使移动应用程序开发人员可以与原生环境交互,而无需使用任何桥接手段,并以更加原生的方式交付代码。

3. 原生 UI 体验

Kotlin Multiplatform 不需要开发人员遵循任何有关 UI 创建的指示。它使 UI 开发人员可以像应对原生应用一样处理应用程序的外观、行为和性能表现。
此外,Kotlin 还容易学习,具有更高的性能、增强的灵活性和可扩展性。然而它也有很多缺陷,比如:
仍处于实验状态。
可用的库不够多,很难做到无缝且毫不费力地构建应用程序。
需要熟悉其他技术栈。
Kotlin SDK 提供了一些半原生功能,因而构建移动应用需要更高的成本。
探讨了 Kotlin 的上述优缺点后,下面再来回顾一下 Flutter,然后进一步深入市场,探究两者之间的关系。

什么是 Flutter UI 框架?

Flutter 是谷歌的一个开源 SDK,让人们可以使用单个代码库制作出设计精美且具备原生体验的移动设备、Web 和桌面应用程序。
选择 Flutter 的好处在于:

1. 免费使用

Flutter 及其底层编程语言 Dart 都是开源的,开发人员可以查看它们的文档,在开放的开发论坛中发布自己的问题。

2. 热重载功能

这一功能使任何人都可以更轻松地在后端做出各种更改,并即时在前端查看更改的效果。

3. 高度可定制

投入 Flutter 应用程序开发后,开发人员就有能力在开发环境中使用多种小部件。这使他们更容易创建速度更快且拥有自定义外观的移动解决方案。

4. 缩减开发周期和成本

Flutter 可以让开发人员使用单个代码库,同时为 iOS 和 Android 创建类似原生版本的应用程序。这大大降低了创建 Flutter 移动应用的成本,也使得它更适合创建 MVP 和 App 原型。
尽管 Flutter 有诸多优势,但也避免不了其缺陷带来的影响。选择 Flutter SDK 的缺陷包括:
更大的应用体积。
需要用 Dart 编程。
分析完 Kotlin 与 Flutter 的优劣势之后,再来二者更多方面的对比结果。

1. 市场知名度

据谷歌趋势数据,与 Kotlin 相比,Flutter 的受欢迎程度正在飞速增长。同样,从 GitHub 的数据来对比 Kotlin 和 Flutter,会发现前者有 28.3K 星和 3.29K forks,而后者有 69.5K 星和 8.11K forks。这些数据表明,在市场上 Flutter 相比 Kotlin 获得的发展动力要大得多。

2. 性能

Flutter 可以支持开发人员使用相同的语言来同时满足前端布局和后端需求,但与 Kotlin 相比,Flutter 仍然远远落后。因为 Kotlin Multiplatform 的代码是完全按照目标平台的格式编译的。

3. 第三方库和工具的集成

Kotlin Multiplatform 运行在原生平台生态系统内,无需第三方库和工具来对接原生环境。但对于 Flutter 跨平台 SDK 来说,第三方库和工具是必需的。

4. 后端开发领域

Flutter 使用的是 Firebase,来提供出色的后端体验。 Firebase 是一个高效的后端即服务平台。而 Kotlin Multiplatform 让开发人员可以直接编写后端代码。

5. 工作机会和薪资范围

在 StackShare 社区中,有 268 家公司和 210 位开发人员在技术栈中提到了 Kotlin 编程语言,而 Flutter 被 42 家公司和 146 位开发人员纳入了技术栈。现在,由于 Kotlin Multiplatform 还不是一个独立的平台,而是对原生语言的一种实验性扩展,可以在 Kotlin 原生环境中使用,所以看起来它在市场上有更多的工作机会。

6. 文档和社区支持

与 Flutter 相比,Kotlin Multiplatform 仍然比较新。因此,后者的文档和社区支持在某些方面落后于前者。但是,一旦 Multiplatform 变得稳定起来,可以预期它的文档和社区实力将有所提高,从而进一步鼓励大家使用 Kotlin 进行跨平台开发。
总而言之,Kotlin Multiplatform 和 Flutter 都是可靠的工具,均旨在减少同时在 Android 和 iOS 平台上发布产品所需的时间,并且都得到了谷歌的支持。要在 Kotlin 和 Flutter 中做出选择,还要根据跨平台应用需求和优先级来确定。
以上就是今天的内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 小斧
    工具的使用,在于场景与目的。
    1
  • 兰芳林
    没啥可比性,要看需求而定
收起评论
大纲
固定大纲
什么是 Kotlin Multiplatform?
1. 这是一个 SDK,而不是框架
2. 重用业务逻辑
3. 原生 UI 体验
什么是 Flutter UI 框架?
1. 免费使用
2. 热重载功能
3. 高度可定制
4. 缩减开发周期和成本
1. 市场知名度
2. 性能
3. 第三方库和工具的集成
4. 后端开发领域
5. 工作机会和薪资范围
6. 文档和社区支持
显示
设置
留言
2
收藏
35
沉浸
阅读
分享
手机端
快捷键
回顶部