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

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

    Xamarin 讀 「ˈ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.Fo rms,界面部分也能共享一套代碼了。真正可以達到「write your code once, and present native UIs on each platform.」(一次編寫,在各平臺使用原生控件展示)的效果。這也是Xamarin最吸引個人地方。目前CSDN爲Xamarin在中國大陸的代理,正在開展一些相應的培訓。

        固然,有優點確定也有劣勢。目前 Xa marin.Forms的版本爲1.2.2 Prerelease 3 版,b ug至關多(但更新較快),提供的控件很少,最基本的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、await關鍵字。學過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)
相關文章
相關標籤/搜索