從零開始學Xamarin.Forms(一) 概述
阿新 • • 發佈:2017-06-03
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.Forms的版本號為1.2.2 Prerelease 3 版。bug相當多(但更新較快)。提供的控件不多,最主要的Radio Button和CheckBox沒有(官方解釋:這兩個不是每一個平臺都有的控件),須要自己重寫Renderer。 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。
5.系統支持
1.原理 Xamarin.iOS: 也就是之前的 MonoTouch(Mono for iOS),使?靜態編譯(Ahead-Of-Time)?式將C#代碼編譯為 ARM?進制代碼。 Xamarin.Android: 即之前的MonoDroid(Mono for Android) 。是將C# 代碼編譯成IL封裝到MonoVM+JIT.
當時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群:
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(一) 概述