Xamarin 是一個容許開發人員有效建立可跨 iOS、Android、Windows 應用程序的開發工具集。Xamarin是免費且開源的,遵循 MIT (麻省理工學院許可證)協議,在github上的地址爲:https://github.com/xamarin 。官方網站爲:http://xamarin.com html
簡單的來講,Xamarin 使咱們可使用 C#,F#,VB.NET 等語言開發原生 iOS、Android、Windows 應用程序。android
開發一個傳統的移動開發程序都會有一些流程。好比像打開IDE,拖一些控件,編寫邏輯,而後測試,發佈。這些很是簡單一兩個小時就能夠折騰完成。 ios
可是,若是要開發一些大型的,商業級的移動應用程序就須要一些專業的開發流程。好比需求分析,UX 設計,UI 設計,開發,可用性測試,性能測試,以及數以千計的設備進行測試,再使用不一樣部署方式完成部署。git
建立 UX 原型時,須要考慮應用所面向的各類平臺的界面指南,這一點十分重要。github
iOS 使用左滑編輯,Android 使用長按彈出編輯框,不一樣平臺的設計語言都有差別。編程
設備有不一樣的規格,平板,手機,尺寸等,設備也須要進行適配。架構
肯定了 UX 以後,下一步是建立 UI 設計。 雖然 UX 一般只是黑白原型,不過在 UI 設計階段中會引入並最終完成顏色、圖形等。 在良好的 UI 設計上花費時間是很是重要的,一般狀況下,最受歡迎的應用具備專業的設計。
與 UX 同樣,務必要了解每種平臺都具備本身的設計語言,所以設計良好的應用程序在每種平臺上的外觀可能仍有所不一樣。框架
肯定了 UI 以後,下一步就是開發。iOS,Android,Windows 分別須要使用不一樣的語言或編程方式進行實現,所以須要三種不一樣的開發人員,來承擔特定平臺的開發任務。工具
測試是應用獲得交付過程當中一個重要的環節,一個沒有通過測試的應用,質量是很可貴到保障。因此尤其關鍵。傳統開發過程當中,各個平臺下單元測試,集成測試,性能測試都是不一樣的實現細節。所以跟傳統開發類似,一樣也須要三種平臺的測試人員角色,來承擔特定平臺的測試任務。性能
Xamarin 的核心包含如下及部分:
xamarin-android : 提供 Android SDK的原生開發包,用.NET託管語言如C#,F#等能夠進行 Android 應用程序開發。github地址爲:https://github.com/xamarin/xamarin-android
xamarin-macios : 提供 Mac,iOS,tvOS和watchOS的原生開發包,用.NET託管語言如C#,F#等能夠進行 Mac,iOS,tvOS和watchOS 應用程序開發。github地址爲:https://github.com/xamarin/xamarin-macios
Xamarin.Forms : 提供完整的跨平臺UI工具包。用C#能夠進行徹底原生的 Android,iOS 和通用Windows平臺應用程序開發。github地址爲:https://github.com/xamarin/Xamarin.Forms
從上圖咱們看到,Xamarin 經過 .NET標準庫實現業務邏輯層,模型層,服務訪問層,數據訪問層,接口層,數據層。一套代碼被不一樣平臺引用。即:多個項目共享代碼,重構操做始終更新全部受影響的引用。
下圖是 使用 Xamarin Native 和 使用 Xamarin Forms 開發同一寬App的代碼對比示意圖:
很顯然使用Xamarin Forms 技術進行跨平臺應用開發,將共享代碼比率提高20%,達到很是恐怖的95%。
參考資料:
[1] Xamarin官方英文文檔 來源:https://docs.microsoft.com/en-us/xamarin/
若是你以爲本篇文章對您有幫助的話,感謝您的【推薦】。
若是你對 .NET 或 Xamarin 有興趣的話能夠關注我,我會按期的在博客分享個人學習心得。
本文地址:http://www.cnblogs.com/hexu6788/p/9916038.html
做者博客:何旭
歡迎轉載,請在明顯位置給出出處及連接