时间:2017-04-11 来源:互联网 浏览量:
对于程序员来说,“一次编写,到处运行”可谓是终极梦想。为了满足程序员这一梦想,很多工具或平台都有“跨平台”这一特性。今天我们就来聊一聊Xamarin和React Native。在开始正题之前,我们先为大家梳理一下Xamarin的最新动态。
2016年2月25日,微软发布公告称其收购了移动跨平台开发公司Xamarin,此次收购让微软一下子拥有了横跨Android、iOS、windowsphone三大平台的移动开发能力,也瞬间成为海内外开发者共同关注的话题。
微软负责云计算业务的执行副总裁Scott Guthrie说:“我们与Xamarin有着长期的合作关系,我们将进一步推动这一工作,以便让我们世界级的开发者工具和服务更好地进行深度整合,从而为开发者带来无缝的移动应用开发体验。”
今年3月8日,Visual Studio 2017正式发布,微软也满足了广大开发者的心愿,在Visual Studio中整合了Xamarin,用户可以在Visual Studio中直接用C#语言为IOS、Android、Windows开发真正原生体验的应用。
Xamarin SDK作为.Net基金会的一部分将会逐步开源,在Evolve 2016大会上,微软宣布将Xamarin的运行时开源,其它的类和命令行工具也将在未来几个月陆续推出。
使用Xamarin直接用C#开发应用实现只用一种工具、一种主要编程语言即可完成跨平台应用的开发,对企业开发和程序员来说应该都是一件大好事,且C#从语言特性上来说也比Javascript(react native)和Swift(iOS)和Java(Android)好很多。那么为什么Xamarin已经开源免费了,企业在开发或者招聘时还会选择React Native?
笔者通过多方收集信息,总结出了以下原因:
1.资料较少,第三方库严重匮乏
笔者在查找资料时发现,大家几乎都会吐槽Xamarin的学习资源。的确,Xamarin除了官网之外几乎没有什么比较好的学习途径,中文资源更是少得可怜,相关书籍不仅数量少而且年份久远。
除了学习资源较少,第三方库也严重匮乏,知乎网友表示,“当你还在研究Xamarin的基础使用、类库绑定桥接、踩各种坑时,原生Android的插件化开发、热修复、各种丰富牛逼的类库框架已经很成熟了。”
资料和第三方库的匮乏导致了一系列的连锁反应,由于缺各种开源工具和库,导致程序员应用较少,缺乏经验,这样就导致了大公司不愿轻易尝试,没有更多的人才培养。
2.学习曲线陡峭,招聘难度大
继Visual Studio 2017发布之后,Visual Studio for Mac 也迎来了第四个预览版本,其中 Xamarin.Forms 预览器得到了增强增强,且新增和更新了开发模板。虽然,Xamarin在不断的发展,但想要只懂C#就写出APP还是有一定难度的,除此之外,Xamarin的生态圈离友好也还有一段距离。
对于Xamarin的招聘难度,笔者个人认为有一位网友的总结特别有趣到位,“会写JavaScript的人远比C#人多;会写JavaScript的人不仅可以会写前端,还会写Native React;招一个会写JavaScript的人远比C#轻松。”
3.虽然有爹,但是这个爹有点不靠谱
万事万物都是一样,是否流行除了取决于自身实力,资金、渠道、宣传等等外部因素也是必不可少的。从历史来看,微软这个爹实在不能算是称职,从XNA、SliverLight、诺基亚等的命运来看,莫不是一看风头不对,掉头就跑。而相对来说,Facebook的大腿虽然没有微软粗,但至少还是比较靠谱的,知乎网友lucifron表示:虽然React现在还没有达到稳定,但是感觉微软的坑会更多。最关键的是React很早就已经是云养的孩子了。