Xamarin是Mono创始人Miguel de Icaza创建的公司,旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发。
简介
Xamarin是基于Mono的平台,目前主要有以下产品(更具体请见:http://xamarin.com/products):
- Xamarin Studio:IDE,是从原来的MonoDevelop改名而来。现在从MonoDevelop官方网站下载的其实也是Xamarin Studio:http://monodevelop.com/。 (话说MonoDevelop也是SharpDevelop的一个分支发展而来)
- Xamarin.iOS:原名MonoTouch,用于开发iOS应用程序,并且可以发布到app store上。
- Xamarin.Mac:用于开发mac os x应用程序,类似于windows 桌面应用。
- Xamarin.Android:原名MonoDroid/Mono for Android,用于开发Android应用程序。
- Xamarin for Visual Studio:Visual Studio的插件,包括iOS和Android,不过目前只支持vs2010/vs2012。
- Xamarin Test Cloud:测试云,可以把你的应用程序发布到Xamarin的云上面测试,它可以自动帮你在数百种设备上测试你的应用程序。
- Component Store:组件商店,上面有各种收费/免费的控件提供下载。
话说还有windows phone不知道跑哪去了…
界面设计器
对于Android,不管是Xamarin Studio还是Xamarin for Visual Studio,都有提供一个设计器,方便直接对界面进行设计,具体见:http://docs.xamarin.com/guides/android/user_interface/designer_overview/。
而iOS则没有这么好运了,Xamarin for Visual Studio没有设计器。而Xamarin Studio虽然有设计器提供,不过目前也只提供在iOS上的Xamarin Studio alpha版本,估计目前稳定性还不够,具体见:http://docs.xamarin.com/guides/ios/user_interface/designer/,只好期待未来能够提供。
已经安装了Xamarin Studio或者Visual Studio的可以直接通过切换通道来更新:http://docs.xamarin.com/recipes/cross-platform/ide/change_updates_channel/,目前主要有Stable稳定版、Beta测试版、以及alpha版。
工作方式
Android应用程序会被编译为IL代码,启动时再进行JIT编译(动态编译),发布程序的时候会包含一个mono runtime。