跨平臺移動應用開發迎來“大殺器”,Xamarin.Essentials正式版發佈!

近日,跨平臺移動應用開發迎來了“大殺器”——Xamarin.Essentials正式版。Xamarin.Essentials是可以將移動原生特性抽象成跨平臺的API,經過了長達數個月的預覽之後,正式版終於和大家見面了。據悉,此版本中不僅包含了30多個原生特性,還包含了衆多由社區貢獻的增強特性。

Xamarin.Essentials可以將移動原生特性抽象成一組跨平臺的API,旨在簡化針對多種平臺的移動應用開發。經過了長達數個月的預覽之後,正式版終於和大家見面了。

Xamarin提供了一種使用宿主平臺原生特性的方式,開發者通過原生C# API使用公開的綁定。例如,開發者可以通過使用Xamarin.iOS框架獲得iOS功能,如ARKit、加速計,甚至是Objective-C運行時。開發人員可以通過C#來使用基於iOS、Android或macOS API的原生特性。

而Xamarin.Essentials採用了另外一個不同的方法,其提供了可支持所有平臺的單個API。這樣做的好處是大部分業務邏輯可以保持通用。微軟Xamarin工程師James Montemagno表示,Xamarin.Essentials經過高度優化,Xamarin鏈接器只鏈接開發者實際使用的特性,其他部分均會移除。

目前,Xamarin.Essentials包含了30多個原生特性,包括連接性、地理位置、設備信息以及安全存儲等等。

Xamarin.Essentials的很多API都嘗試使用了類似設計。例如,磁力計、陀螺儀、指南針等都要求使用start和stop方法來啓動或停止監聽相應的傳感器,並通過ReadingChanged事件將傳感器的變更信息傳回。其他Essentials API遵循更爲命令式的風格。例如,如果要打開或關閉閃光、安全地存儲一系列字節,或在主線程上執行一段代碼,只需要調用相應的方法即可。

跨平臺的主要差異在於每個平臺的權限系統以及應用程序必須滿足的不同要求。而這些信息都與每個API一起列在了文檔中。

Xamarin.Essentials可應用在Android 4.4或更高版本、iOS 10.0或更高版本、UWP 10.0.16299.0或更高版本。開發者可以使用NuGet將Xamarin.Essentials添加到項目中,並在源文件中通過using Xamarin.Essentials;引用它。如果開發者想要從Xamarin應用程序遷移到Xamarin.Essentials,那麼可參考Montemagno編寫的遷移指南或者官方的Xamarin GeoContacts應用程序。

查看英文原文:https://www.infoq.com/news/2019/01/xamarin-essentials-native-apis

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章