在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发。
1. Xamarin
2. Cordova
3. C++
Xamarin
官网 :http://xamarin.com/
Xamarin 是由早期的Mono项目演变而来,原本是在Linux上执行C#程序的一个开放原始码项目。后来陆续发表支持iOS的Mono Touch framework以及Mono For Android Framework。因此它在市场上并不是一个新的产品。2011年,原本在Novell的Mono项目团队独立成立一家公司,正式将名称改为Xamarin。
Cordova
官网 :http://cordova.apache.org/
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。
Cordova支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
C++
这个就不用介绍了,历史悠久的老牌编程语言。C语言的语法扩展升级,到后来的VC++ VC.NET Object-C 层出不穷,C#的底层 MSIL 也是基于C++,最终转化为可执行的汇编机器指令。
Xamarin 是一个商业项目,授权价格不菲。但是确实功能强大,更新比较快,活力前景明朗。
Cordova 开源项目,基于Phonegap的前身,貌似使用者较多。成本低廉。
个人更加倾向于商业项目的Xamarin,因为使用C#开发,而不是使用 Javascript开发,虽然Cordova也有 TypeScript的支持,但是,调试,开发IDE依然还是C#强大。
这里仅仅讨论的是功能的实现,没有考虑平台的性能。
论性能而言,当然 原声的性能最佳,其次应该是基于C++的方式,再其次,是 Xamarin Cordova 等调用API 转化的方式。