原文:Xamarin体验:使用C#开发iOS/Android应用html
Xamarin是Mono创始人Miguel de Icaza建立的公司,旨在让开发者能够用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发。java
Xamarin是基于Mono的平台,目前主要有如下产品(更具体请见:http://xamarin.com/products):node
话说还有windows phone不知道跑哪去了…android
对于Android,不论是Xamarin Studio仍是Xamarin for Visual Studio,都有提供一个设计器,方便直接对界面进行设计,具体见:http://docs.xamarin.com/guides/android/user_interface/designer_overview/。ios
而iOS则没有这么好运了,Xamarin for Visual Studio没有设计器。而Xamarin Studio虽然有设计器提供,不过目前也只提供在iOS上的Xamarin Studio alpha版本,估计目前稳定性还不够,具体见:http://docs.xamarin.com/guides/ios/user_interface/designer/,只好期待将来可以提供。windows
已经安装了Xamarin Studio或者Visual Studio的能够直接经过切换通道来更新:http://docs.xamarin.com/recipes/cross-platform/ide/change_updates_channel/,目前主要有Stable稳定版、Beta测试版、以及alpha版。api
Android应用程序会被编译为IL代码,启动时再进行JIT编译(动态编译),发布程序的时候会包含一个mono runtime。缓存
而iOS则是直接经过AOT编译(静态编译)为ARM汇编代码。oracle
具体见:http://xamarin.com/how-it-worksapp
API文档
Xamarin提供了API文档:
Xamarin Studio能够直接从http://monodevelop.com/Download下载,目前最新的稳定版为4.0.13。
android依赖JDK6以及android SDK,因此须要先下载:
安装好JDK及androidSDK以后,再安装Xamarin.Android,会让你选择是否安装Visual Studio插件。
安装好Visual Studio插件以后,在菜单Tools->Options->Xamarin->Android Settings设置好Android SDK和NDK的路径。
额外说一句,eclipse实在是太差劲,跟intellij IDEA无法比,若是用java开发的话Android Studio是最佳选择,ADT就不用考虑了。
因为android SDK提供的模拟器是在是巨慢无比,太差劲了,因此不得不找一个替代品。
基于Virtual Box的GenyMotion绝对是最佳选择,运行速度很是流畅,不过目前只支持Android4.1.一、4.2.2。
在官网:http://www.genymotion.com/注册好帐号,并下载安装GenyMotion,目前最新版本为1.3.0。
安装以前须要你的电脑上已经安装Virtual Box(目前最新版为4.3.2),不过我发现我安装了Virtual Box 4.3.2的状况下GenyMotion没法启动,因此后来又换成官方推荐的4.2.12,从https://www.virtualbox.org/wiki/Download_Old_Builds_4_2下载。
安装完成以后:
虚拟机启动以后,VS的Xamarin.Android工具栏会列出设备的名称,选择这个设备就能够在GenyMotion模拟器上调试Android应用程序了。
在mac os x要使用Xamarin Studio必须先安装XCode。假设已经安装好Xamarin Studio,那么也同样直接安装Xamarin.iOS便可,而后就能够直接经过Xamarin Studio直接开发调试iOS应用程序了。
windows下的Xamarin.iOS直接安装便可,因为没有windows下的模拟器,因此须要链接到mac的模拟器进行调试。
前提条件是(具体见:http://docs.xamarin.com/guides/ios/getting_started/installation/mac/):
还有一个最重要的前提是,你必须有有个iPhone Developer Program(IDP)证书,不然没办法调试,没有的话须要到:https://developer.apple.com/programs/ios/申请(我的开发者$99每一年)。
作好以上操做以后:
Xamarin.iOS的Visual Studio插件调试有两种模式:
默认状况下是iPhone,能够在Build->Configuration Manager的Platform进行更改,不然没有链接iPhone会显示”No Devices Attached”。
具体的配置请见:http://docs.xamarin.com/guides/ios/getting_started/introduction_to_Xamarin_iOS_for_visual_studio/。
而后就能够调试了,某些状况可能mtouch没有运行权限,还须要经过chmod +x /Developer/MonoTouch/usr/bin/mtouch来赋予运行权限。
Xamarin的Visual Studio插件目前还不支持VS 2013,因此须要在安装Xamarin的VS插件时把2010和2012全选上 (因为个人电脑里只剩2013,而安装VS2013的时候还会安装部分VS2010的Shell,因此VS插件会被安装到VS2010的目录下)。
接下来须要手动复制一些文件(假如VS2013安装在C盘的话):
上面的方法来自:http://blog.fire-development.com/2013/07/01/install-xamarin-in-vs-2013-preview-1/,再由囧月改造。
如今就能够在VS2013上开发Android及iOS应用了。
更多的资料请看官方Developer Center:http://docs.xamarin.com/
更多中文资料:
http://www.microsoft.com/taiwan/vstudio/Xamarin/
Terry's IT Note:http://www.dotblogs.com.tw/taihon64/Tags/Xamarin/default.aspx
James's Tech Blog:http://www.dotblogs.com.tw/jamestsai/category/9345.aspx
Donma 當麻許:http://www.dotblogs.com.tw/junegoat/Tags/Xamarin/default.aspx
浩呆的技術研究網站:http://www.dotblogs.com.tw/toysboy21/category/9451.aspx
最后,顺便推荐两本书:
--EOF--