Xamarin是一个行动App开发平台,提供跨平台开发能力,开发人员透过Xamarin开发工具与程序语言,即可开发出iOS、Android 与Windows 等平台的原生(Native) App 应用程序,不须个别使用各平台的开发工具与程序语言,不只是「write-once, run everywhere」的跨平台解决方案,更可达到 「write your code once, and present native UIs on each platform.」之跨平台开发能力。由于Xamarin可直接产生各平台之原生App应用程序,相较于其他跨平台方案,藉由Xamarin所开发出来 的App应用程序,更能发挥出各行动平台的功能与特性,且具有最佳的执行效能。
Xamarin 是由早期的Mono项目演变而来,原本是在Linux上执行C#程序的一个开放原始码项目。后来陆续发表支持iOS的Mono Touch framework以及Mono For Android Framework。因此它在市场上并不是一个新的产品。2011年,原本在Novell的Mono项目团队独立成立一家公司,正式将名称改为 Xamarin。
http://www.cnblogs.com/bnbqian/p/4152054.html
xamarin其实也是一个鸡肋
刚刚体验了一把VS 2015,后来因为部分sdk和工具下载太慢,还是最终决定卸载。顺道了解了下xamarin studio。个人感觉Xamarin完全也是一个鸡肋,没必要过多的时间在xamarin上面。
为什么手xamarin是一个鸡肋?
1、xamarin并没有把android和ios等平台的机制给封装起来。类似Cordavo一样,调用统一的API,可以跨平台实现。而是和安卓 API和IOS API一一对应,也就是说我只是用C#来代替了java和oc的开发。虽然我也非常习惯用C#来开发,但是我认为学习一门语言并需要太多的时间,主要是 sdk的实现机制,和开发技巧,是最难的,也是周期最长的。如果花费了大把的价钱,只是为了用C#的 foreach而不是 java的for.就有点鸡肋了。
2、xamarin的教程和培训都是要收费的,而且学习周期和曲线并不会比原生态的理想多少。
3、原生态的app开发的数量大,而且开源的也不少,一旦出现问题,可以在论坛求助,可以找到开源项目做参考,但是xamarin在这方面肯定不比原生态的开发。
4、xamarin可能初次上手会快那么一点点,但是如果时间长了,发展会受到制约的。没有任何一个成熟的商用软件全部用xamarin的,只是可能在初期和原型的时期考虑一下。
5、xamarin 在android上基于moni,效率可能会比java的低一些。
6、xamarin真心贵,太贵了。相比开发android的 Android studio或者eclipse。或者xcode来比,太贵了。贵到我宁愿买个mac pro,然后熬夜看看 swift.
附上xamarin的收费:http://xamarin.csdn.net/module/btc/xamarin/price