1. 程式人生 > >從零開始學Xamarin.Forms(一) 概述

從零開始學Xamarin.Forms(一) 概述

erl 系統 mod 重寫 fwe 依賴 模式 sil c#

Xamarin 讀 “?z?m?rin”,是一個基於開源項目mono的可以使用C#開發的收費的跨平臺(iOS、Android、Windows Phone、Mac)解決方式。 技術分享 技術分享
技術分享
1.原理 Xamarin.iOS: 也就是之前的 MonoTouch(Mono for iOS),使?靜態編譯(Ahead-Of-Time)?式將C#代碼編譯為 ARM?進制代碼。 Xamarin.Android: 即之前的MonoDroid(Mono for Android) 。是將C# 代碼編譯成IL封裝到MonoVM+JIT.
2.優劣勢 在Xamarin2.0下開發跨平臺應用,最多是邏輯層和數據訪問層的代碼能夠共用,而最花費時間的界面搭建則須要針對不同的平臺進行訂制。

當時Xamarin的優勢是C#開發者不須要再學習java和Objective-C了,缺點是須要了解各個平臺界面的API,實際能節省下來的工作量並不多。

幸運的是Xamarin3.0帶來了Xamarin.Forms,界面部分也能共享一套代碼了。真正可以達到“write your code once, and present native UIs on each platform.”(一次編寫。在各平臺使用原生控件展現)的效果。

這也是Xamarin最吸引我的地方。眼下CSDN為Xamarin在中國大陸的代理,正在開展一些對應的培訓。


當然,有優勢肯定也有劣勢。眼下Xamarin.Forms的版本號為1.2.2 Prerelease 3 版。bug相當多(但更新較快)。提供的控件不多,最主要的Radio Button和CheckBox沒有(官方解釋:這兩個不是每一個平臺都有的控件),須要自己重寫Renderer。

在Android平臺上,使用Xamarin.Forms開發略微復雜些的應用。啟動速度較慢。讓人不得不為它設計一個啟動界面。還有就是Xamarin的中文文檔差點兒沒有,當中大部分資料來自臺灣。CSDN上的論壇才20條帖子...眼下有問題比較靠譜的解決方法是在它的官方論壇或者加QQ群:

385020493提問。


3.開發環境 Xamarin能夠在Windows和Mac上進行開發: Windows: Xamarin Studio 或 Xamarin for Visual Studio(2010 -2013) Plugin(推薦) Mac: Xamarin Studio
4.技術基礎 C#基礎,可以創建WCF、rest服務、掌握C#5.0,.net4.5後async、awaitkeyword。

學過Silverlight或wpf的最好:由於它們布局文件都使用xaml。包含設計模式也是同樣的MVVM,了解Binding數據綁定、Command命令、DI依賴註入、DP依賴屬性等等內容。

知識結構文件夾:AOT靜態編譯 相應中文
5.系統支持
  • Android 4.0 or higher
  • iOS 6.1 or higher
  • Windows Phone 8 (using Visual Studio)


從零開始學Xamarin.Forms(一) 概述