現在智能手機已經盛行了好幾年,而針對這些智能手機的軟件開發也變得異常火熱。可是在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開發實戰上冊。