在移动应用开发方面,Kotlin 和 Flutter 是目前比较火热的两门技术。其中,Kotlin 是由 Jetbrains 研发,后被 Google 大力扶持,Flutter 则是由 Google 自己独立研发的。从目前 Google 官方的态度来看,这两门技术都被无限看好,Google 也是在它们身上投入了大量的资源。但也正是由于 Google 的这种态度,导致很多开发者变得迷茫了:我到底是应该学习 Kotlin 还是 Flutter 呢?
关于这个问题,我也是被问了无数次,但每次回答都只能简单回复几句,无法全面概括,可能也做不到直至要害。因此一直以来,我都准备专门写一篇文章来详细对比 Kotlin 和 Flutter,帮助大家答疑解惑。
巧合的是,前段时间浏览网页,无意看到了一篇英文文章专门对这个问题进行了深度分析,我阅读完之后深感自己写不出比这更好更全面的文章了,因此决定直接将这篇文章翻译并分享出来,相信一定会对大家有所帮助。
本篇文章的英文原文地址是:
goobar.io/2019/06/13/…
我到底应该选 Kotlin 还是学 Flutter 呢?
这个问题要视情况而定。
不过在展开讨论具体的情况之前,我们更应该先来审视一下,这是否是一个恰当的问题。因为,拿 Kotlin 和 Flutter 来进行比较,在一定程度上就好像是在拿苹果和橘子来进行比较。
从概念上讲,Kotlin 是一门编程语言,而 Flutter 是一个跨平台的 UI 工具集。
不过,由于这两门技术之间的差异太过巨大,导致这个问题本身其实就是一个庞大的问题,因此要想很好地回答这个问题,我们必须得要先去了解一些其他相关的问题。
为什么你想要学习 Kotlin 或 Flutter?
首先,你要问自己的第一个问题就是:“我为什么要学习 Kotlin 或 Flutter?学会之后可以用来做什么?” 这个问题又可以展开为以下 3 点:
- 你想要学习移动开发吗?
- 你想要得到一份移动开发者的工作吗?
- 你想要以个人开发者或小型团队来开发一款自己的移动产品吗?
你想要学习移动开发吗?
如果你的首要目标是对移动开发有所涉猎,并且能够构建出一个小型的业余项目,那么选择 Kotlin 还是 Flutter 其实是没有什么太大区别的。
然而,需要谨记的是,当你在 Flutter 和 Kotlin 之间做选择的时候,其实你也是在选择:
- Flutter/Dart
- iOS/Swift/Objective-C
- Android/Kotlin/Java
Flutter 是一个完整的应用开