现在智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热。可是在Android平台下只能使用Java开发,iOS平台下也只能使用Objective-C或Swift开发本文选自Xamarin Android开发实战上册。程序员
对于那些C#程序员却只能眼看着这些火热的平台流口水。在几年前只能从新学习一门新的语言,才能够进入这些智能手机开发行业。如今,咱们有了Xamarin。C#程序员不须要了解其它语言,就能够开始编写Android、iOS或Windows Phone平台下的软件。在本章中,读者将了解使用Xamarin开发Android应用的必备知识。框架
在使用C#开发Android应用时,必须使用Xamarin。在开始使用Xamarin前,须要对Xamrin有必定的了解本文选自Xamarin Android开发实战上册。工具
Xamarin由Mono、Mono Touch和Mono For Android开发而来。Xamarin的出现主要是为了实现C#开发跨平台的移动应用。从如今也能够看出,Xamarin确实实现了跨平台的应用开发。实现了一次编写,多平台发布。Xamarin是Mono项目的一个分支,但Xamarin并不像Mono同样是开源的,Xamain是一个商业项目,在使用时须要缴纳一些费用。学习
早在2000年4月份,微软公司发布了他们的.NET框架。而Miguel De Icaza的Ximian开始审查其是否能够支持Linux版本。通过一年的审查,在2001年7月19日,Mono开源项目开始启动。后来,Ximian被Novell公司在2003年8月4日收购,而Novell则在2011年4月归于Attachmate之下。在归于Attachmate之下后,Attachmate裁掉了不少人,其中包括大量的Mono开发者。这样,一些Mono中的问题也搁置起来。开发工具
到了2011年5月6日,Miguel De Icaza在他的博客上宣布Mono将经过Xamarin开发和支持。这意味着一个新的公司会发布一个适用于移动开发平台的产品。最后,Miguel De Icaza将最初的Mono团队带到了新的公司中。随后在解决了Mono Touch和Mono for Android的问题后,Xamarin也提供了完整的技术支持。测试
在2012年12月,Xamarin发布了Xamarin.Mac和为C#程序员提供的MonoDevelop集成开发环境。在2013年2月,Xamarin宣布发布Xamarin 2.0。该发行版包含了两个部分:Xamarin Studio,其中包含了过去Xamarin的全部内容,包括iOS、Andriod和Apple OS X开发工具;集成了Visual Studio中微软的.NET框架,并容许Visual Studio在Windows系统中,使用并建立iOS和Android的应用。spa
在整个发过程当中,Miguel De Icaza功不可没,没有Miguel De Icaza也没有Xamarin的今天。而Xamarin也成了C#程序员的福音,而且为C#跨平台的功能提供了可能。插件
Xamarin提供了不少产品和工具,如Xamarin.Forms、Xamarin Test Cloud、Xamarin for Visual Studio、Xamarin Studio、Xamarin.Mac和.Net Mobility Scanner。而最主要的就是使用Xamarin平台开发程序。orm
q Xamarin Platform:它是Xamarin 2.0,发布于2013年2月,将之前单独的iOS、Andriod和Mac OS X开发工具统一到一个平台中。Xamarin.iOS和Xamarin.Andriod使得在Windows上能够经过Xamarin Studio或Visual Studio开发本地的iOS、Andriod和Windows应用。开发者能够重复利用本身的C#代码到不一样的平台上,而且不须要作太多的修改。开发
q Xamarin.Forms:在2014年5月8日被引入Xamrin 3中。它容许使用便携式控制子集映射到本地控制Android、iOS和Windows Phone。
q Xamarin Test Cloud:Xamarin的测试云,能够模拟真实不一样机型的UI操做,用于测试用户的应用是否能够正常运行。
q Xamarin for Visual Studio:Xamarin申明该软件只包含iOS、Andriod和Windows,IDE插件,该插件主要用于Visual Studio,容许程序员经过Visual Studio建立并运行iOS、Andriod和Windows应用。
q Xamarin Studio:Xamarin标准的移动端IDE平台。做为Xamarim 2.0的一部分发布于2013年。
q Xamarin.Mac:这是Mac OS下的一款开发软件,该软件能够在Mac OS中进行开发移动端程序,不管是iOS仍是Andriod。
q .Net Mobility Scanner:.Net Mobility Scanner可让开发看到本身的.NET代码中有多少内容是能够运行在其它系统中的,特别是iOS、Andriod和Windows Phone。该功能使用了Silverlight而且是免费的本文选自Xamarin Android开发实战上册。