我已经多次收到这个问题了,有的是私聊我,有的是公众号留言,就单独写篇文章表达下个人看法。
1. 我的选择
这两个技术在当下如何选择,我之前在公众号上的回复是:
如果你已经处于一个比较满意的公司,并考虑长期发展,公司并未使用这两个技术,你可以专心钻研公司当下使用的,或者未来将要使用的,这些才能助你在公司步步高升。
如果你考虑换工作,且已经有目标公司,那可以看这个目标公司,目标部门的招聘,或者看他们对外的分享,如果有注重Flutter或者Kotlin,那可以优先选择学习。
这两点都没什么问题。
我有点空闲时间,我就想二选一学习,我该怎么选?
我先说下,我的答案:
如果是二选一,我会选Kotlin,因为我每天都会看一些新的库或者文章,包括Google对外的一些库,已经有非常多的一部分都是用Kotlin对外输出的,如果我不会,对我学习起来有一定阻碍。
至于Flutter,我也在项目中使用过,了解到如果没有足够的人力投入进去,其实混合开发,短期内并没有太大的收益。
我的答案是不是就适合你呢?
不适合!
因为我当前所处的工作环境和个人经历导致我做了这样的选择。
2. 你该怎么选
你也要考虑一些问题:
这两个技术,我学习的目标是什么?
你肯定要考虑,你为什么学这个技术,比如我选Kotlin,是为了更好的学习。
我准备学习到什么程度?
这个问题比较关键,比如说你只是想了解下,学习周期只需要几周,那么其实你都可以去做。
如果你想深入学习,那么一定要考虑清楚。
总之,你要充分了解你自己。
3. Flutter有一定机会属性
Flutter相比于Kotlin,算一个新兴事物了,而且它的跨平台的能力,也是非常大的一个优势。
对于这样的技术,是有一定的机会属性的。
怎么说呢?
网上深入的教程、原理类教程比较少,是有机会通过编写博客等对外输出而脱颖而出的。
其次,部分大厂实际有相当大的投入,他们也会招一些Flutter的研发人员,如果你学的较深入,可能会比较容易通过。
4. 给大家的建议
我给大家的建议是,尽可能找到一个自己满意的公司,跟着这个公司的项目成长,学习主要围绕项目所用的技术来。
早期的时间非常宝贵,如果可以和工作切合,成长是最快的。
如果你还没有找到自己满意的工作,那么千万不要随意跟风,什么技术来了学什么,感觉什么都会,什么都不精通。
很多技术你学了几周,确实可以在群里吹牛逼,但是如果你参与面试,而别人已经在生产环境使用多时的项目,你会发现,你学的就是皮毛。
对于新技术,如果你没有想好自己为什么学,并且自己的基础知识还不够扎实,不如看一些常用库源码解析,打牢自己的基础实力更靠谱。
最后,每个人因为他的角度,所经历的事情不同,不要盲从别人的意见,包括我的意见。
如果真要参考,有条件可以让回答者根据自己提出建议说清楚理由,看看这些理由在自己身上是否成立,了解清楚综合自身再做决定。
总之,我们应该了解自己当下最需要的,而不是什么技术最热门。