Xamarin.Essentials简化了对本机iOS,Android和UWP功能的跨平台访问

Xamarin.Essentials将本机移动功能抽象为一组跨平台API,旨在简化其使用。经过几个月的预览,现已正式发布,社区提供了许多增强功能。

Xamarin长期以来一直提供使用主机平台提供的本机功能的方法。它以公开C#中本机API的绑定形式出现。例如,可以通过Xamarin.iOS框架使用诸如ARKit,加速计甚至是Objective-C运行时之类的iOS功能。这种方法允许开发人员使用实际的iOS,Android或macOS API使用本机功能-现在,他们无需离开C#就可以做到这一点。

Xamarin.Essentials基于所有支持平台上相同的单个API追求不同的方法。这样的好处是您的业务逻辑的大部分可以保持通用。根据Microsoft Xamarin工程师James Montemagno的说法,Xamarin.Essentials进行了高度优化,Xamarin链接器仅链接您实际使用的功能,而其余部分将被删除。

目前,Xamarin.Essentials包括30多种本机功能,从连接地理位置,从设备信息安全存储等等

Xamarin.Essentials包含许多API,它们试图共享相似的设计。例如,磁力计陀螺仪罗盘等都需要您使用startstop方法来启动或停止以侦听相应传感器上的更改,并将更改通过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应用程序

原文出处:InfoQ【作者:Sergio De Simone】

原文链接:https://www.infoq.com/news/2019/01/xamarin-essentials-native-apis/

本文观点不代表Dotnet9立场,转载请联系原作者。

发表评论

登录后才能评论