浅谈移动应用的跨平台开拓器材(Xamarin和React Native)语言&工具

来源:互联网 / 作者:SKY / 2016-08-17 14:57 / 点击:
与上述HTML5平台差异,Xamarin和React Native通过各自的方法来实现跨平台。Xamarin基于Mono框架将C#代码编译为原平生台代码,React Native则是在UI主线程之外运

移动用的跨平台开拓不能不提HTML5,PhoneGap和Sencha等平台一向致力于行使HTML5技能来开拓跨平台的移动应用,此刻看来这个偏向根基算是失败的,基于HTML5的移动应用在用户体验上与原生应用如故存在着明明的差距。

与上述HTML5平台差异,Xamarin和React Native通过各自的方法来实现跨平台。Xamarin基于Mono框架将C#代码编译为原平生台代码,React Native则是在UI主线程之外运行一个JavaScript线程,两者泛起给用户的都是原生体验。

笔者刚巧两个平台都各行使过一段时刻,在这里就抛砖引玉、分享一下小我私人概念。对付资源有限的创业团队,假如认识JavaScript,行使React Native再加上React,中国站长站,Redux等技能可以实现移动端、Web端、和Service端整套体系的开拓,还可以重用一部门代码(好比Reducer和Action中的营业逻辑,以及通用的JavaScript组件代码),React Native也很是得当快速原型的开拓。对付气力相对雄厚的大中型公司,假如已经在行使Microsoft的.Net技能,而且拥有成系统的体系架构,那么Xamarin或者是一个更好的选择,加上好的架构计划在代码重用方面并不逊于React Native。

下面从几个方面说一说两者各自的优弱点:

从编程说话的角度来说,C#和JavaScript都是成熟的主流编程说话,都有富厚的第三方库和强盛的社区支持。两种说话都可以或许实现以前端一向到后端的整套方案。

从开拓器材的角度来说,Xamarin Studio的示意只能说方才合格,有种和Xamarin整个产物线不在一个程度线的感受,出格是一些常用成果如重构和界面可视化编辑等尚有很大的改进空间,而且在版本进级中常常会引入新的BUG,让笔者几多有点患上了进级惊骇症。React Native自己没有IDE,开拓职员可以选择本身认识的JavaScript IDE,好比:IntelliJ等。

从第三方库的角度来说,Xamarin的第三方库给人一种不多不少、恰恰够用的感受。在IDE中集成了Xamarin Component Store往后,第三方库的数目质量都有了晋升,开拓职员行使起来也很是利便。假如碰着非凡环境必要本身开拓可能绑定(binding)原生代码库时也许会较量贫困一些。React Native则完全依靠于JavaScript社区,NPM和GitHub,在必要自行开拓和桥接(bridging)原生代码库时小我私人认为比Xamarin轻易一些。

价值方面,Xamarin有免费版本,但在应用包尺寸上有限定。对付企业级开拓最好照旧选择它的Enterprise License,固然价值不菲,可是可以得到技能支持和行使平台的其他产物(如:Xamarin.Forms和Xamarin Test Cloud)。React Native则是完全免费的。

至于进修难度,许多人对JavaScript缺乏信念,认为这门说话很难把握和用好,而C#和Java则相对安详轻易许多。这里笔者保举图灵的 《你不知道的JavaScript》系列 ,看过之后也容许以或许改变这一观点。

下面是对两者各方面的一个总结:

浅谈移动应用的跨平台开辟器械(Xamarin和React Native)

阅读延展

1
3