我到底应该学Kotlin还是Flutter呢?
这个问题要视情况而定。
不过在展开讨论具体的情况之前,我们更应该先来审视一下,这是否是一个恰当的问题。因为,拿Kotlin和Flutter来进行比较,在一定程度上就好像是在拿苹果和橘子来进行比较。
从概念上讲,Kotlin是一门编程语言,而Flutter是一个跨平台的UI工具集。
不过,由于这两门技术之间的差异太过巨大,导致这个问题本身其实就是一个庞大的问题,因此要想很好地回答这个问题,我们必须得要先去了解一些其他相关的问题。
为什么你想要学习Kotlin或Flutter?
首先,你要问自己的第一个问题就是:“我为什么要学习Kotlin或Flutter?学会之后可以用来做什么?” 这个问题又可以展开为以下3点:
- 你想要学习移动开发吗?
- 你想要得到一份移动开发者的工作吗?
- 你想要以个人开发者或小型团队来开发一款自己的移动产品吗?
关于这几点我们逐个来进行分析。
1. 你想要学习移动开发吗?
如果你的首要目标是对移动开发有所涉猎,并且能够构建出一个小型的业余项目,那么选择Kotlin还是Flutter其实是没有什么太大区别的。
然而,需要谨记的是,当你在Flutter和Kotlin之间做选择的时候,其实你也是在选择:
- Flutter/Dart
- iOS/Swift/Objective-C
- Android/Kotlin/Java
Flutter是一个完整的应用开发工具集,其中包括了使用Dart来作为编程语言,以及一系列的UI组件,还有一些独有的编程模式、最佳实践技巧、调试方法、工作流程等。
要想将Flutter和其他的平台工具集进行对比,你还需要对它们所处的生态有比较完整的了解才行。
2. Kotlin和Flutter哪个更容易获得一份工作?
如果你的首要目标是得到一份移动开发者的工作,那么比较好的一种选择方式就是看哪种技能的需求量更高一些。
在LinkedIn上搜索与Kotlin和Flutter相关的工作岗位,得到的结果如下(数据限定在美国区域,时间截止到2019年6月):
- Flutter:315份结果
- Kotlin:3342份结果
Flutter毕竟还是一门比较新的技术,并且它对于一位移动开发者而言,学习成本是比较巨大的。相比之下,Kotlin对于Android开发者而言则非常容易上手。可能也是因为这些原因,Flutter的工作岗位相对少了许多。
而工作岗位数量上的差别,可能同时意味着这两件事情:
在你所在的地区,想要找一份Flutter相关的工作会相对比较困难。