有人说,Android开发的冬天来了;也有人说,iOS开发的冬天到了。可是,冬天都已经到了,春天还会远吗?
2015年,Facebook推出了React Native用于跨平台应用开发。2017年,微信官方发布了小程序,小程序依附于微信平台,可以运行在任何安装微信的系统上。以微信的体量来说,小程序其实等价于跨平台应用,不排除微信官方受到了React Native的启发。
为了狙击微信小程序的巨大影响力,支付宝在不久后也推出了自己的小程序平台。而就在昨天,中国九大手机厂商联合推出了“快应用”标准,对标小程序。
随着各种跨平台产品的发布,谷歌官方也坐不住了。在大约2月份的时候,谷歌官方跨平台产品Flutter SDK测试版本发布了。Flutter类似于React Native,只不过它使用自绘控件,而不依赖于系统控件。从这个层面来说,Flutter做的更彻底,也更灵活。
其实移动生态链的形态还不止这些,这几年由于谷歌AlphaGo牵头的人工智能大火,导致机器学习开始也进入移动端领域,成为了移动生态链的一部分。
如果你是一个新加入移动开发的同学,我想你已经晕了。你可能在纠结应该学习Native开发,还是React Native,还是Flutter,还是快应用,还是人工智能。而如果你是一个职场老司机,你可能也开始害怕了。层出不穷的新技术,你恐怕不知道如何下手...
因此,有人说,移动开发的冬天来了。是的,从某种层面来说,这个结论没有错。但我认为,如果你只是一位具备单一技能的移动开发同学,被淘汰并不冤。
换个角度,也许这恰好是移动开发者的春天
不是吗?RN、Flutter、小程序、机器学习等等,它们百花齐放,像极了春天的风景。
我反而觉得这一次的“沙里淘金”是一个好的助推剂,历史就应该淘汰掉那些只有单一技能的开发者。只有这样,技术才能进步,社会才会进步。这不恰好契合达尔文的进化论吗?优胜劣汰,只有足够优秀的人才能继续生存下去!
狭路相逢勇者胜,只有直击困难,你才能全身而退...
那么,如何直面如今的移动生态链呢?我给你总结了三个学习方向:
a)至少学习一种跨平台解决方案
Flutter是谷歌官方推出的跨平台SDK,而且在解决方案上比RN更先进。因此,我推荐你优先选择Flutter。
不过,从现在的工作前景来说,RN的优势更大。RN推出时间更早,也更成熟。Flutter目前只是测试版本,如果你只是希望尽快进入工作岗位。目前,学习RN是一个更好的选择。
b)专注于机器学习
毫无疑问,AI是未来的方向,机器学习未来在移动端领域的比重一定会越来越高。因此,专注机器学习是一个明智的选择。不过,目前国内关于机器学习的岗位很少。如果你选择了机器学习,就注定是一个长期的投资。至于投资是否划算,就要等待时间的检验了。
c)打通Android、iOS双平台开发
这个部分,去年我在移动团队强调过很多次,希望Android端和iOS端同学可以互相学习。可是,最终却并没有达到预期的效果,这实在是一个遗憾!
事实上,如果你掌握了双平台开发知识,你在解决问题的时候,速度会明显提高;在找工作的时候,竞争力就越大。因此,如果你有精力,我建议你搞定双平台。
编后感
2018年,Flutter开了一个好头。我坚信,应该会有越来越多的技术加入到移动生态链。这不是一个坏事,至少这会带来更多的工作岗位。从另一层面来说,这也会淘汰掉一部分“混饭吃”的程序员,这对于社会进化来说是一件好事。
千里之行,始于足下。面对如今的移动生态链,你还坐的住吗?
我是欧阳锋,欢迎关注我的简书,更多涨知识的文章还在准备当中