9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

跨平台移动应用开发迎来“大杀器”,Xamarin.Essentials 正式版发布

  • 2019-01-07
  • 本文字数:945 字

    阅读完需:约 3 分钟

跨平台移动应用开发迎来“大杀器”,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


活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2019-01-07 13:097122
用户头像

发布了 731 篇内容, 共 422.2 次阅读, 收获喜欢 1988 次。

关注

评论

发布
暂无评论
发现更多内容

iOS上架报错:无法添加以供审核

雪奈椰子

从繁琐到高效,探索自动化部署的新境界

Cecilia文艺

了解 Apache JMeter 的使用方法

Liam

程序员 测试 Jmeter 接口测试 测试工具

性能认证+最佳案例,阿里云 ACK@Edge 产品技术、落地能力获信通院综合认可

阿里巴巴云原生

阿里云 容器 云原生 ACK

2023世界人工智能大会如约而至!低代码开发:点燃数智时代,让AI风口助您飞跃

不在线第一只蜗牛

人工智能 低代码 人工智能大会 行业风口

从自研走向开源的 TinyVue 组件库

OpenTiny社区

开源 前端 组件库 OpenTiny TinyVue

研产供销数据一体化,解码汽车集团企业的数据治理之道

袋鼠云数栈

数字化转型

一次解决三大成本问题,升级后的 Zilliz Cloud 如何造福 AIGC 开发者?

Zilliz

SaaS Milvus Zilliz zillizcloud

为什么多数企业的数字化转型都失败了?

优秀

数字化转型 企业数字化 企业数字化 PaaS 平台

MegEngine 使用小技巧:如何使用 MegCC 进行模型编译

MegEngineBot

深度学习 开源 AI 模型编译器 模型编译器

Subquery? No, it's join!

Databend

AI巨兽崛起!如何用低代码开发平台驭服神奇之力?

EquatorCoco

人工智能 低代码 AI大模型

PoseiSwap 更新第二期空投,持有 Zepoch 节点数量将决定空投回报

大瞿科技

云计算在商业运营中的潜力

天翼云开发者社区

云计算

当AI侵权搅动创新之风:低代码开发平台前景岌岌可危?

快乐非自愿限量之名

人工智能 低代码 ChatGPT

人脸识别技术在医疗行业的应用

来自四九城儿

活动开启 | 以梦筑码 · 不负韶华 开发者故事征集令,讲出你的故事,有机会参加HDC.Together 2023

HarmonyOS开发者

HarmonyOS

国产化适配再进一步,融云完成欧拉、TDSQL、优炫等多方适配

融云 RongCloud

开源 运维 信创 融云 适配

提升UE5写实效果的项目设置

3DCAT实时渲染

虚幻引擎5 UE5

Kubernetes网络模型Overlay和Underlay

Geek_b2fe7a

在现场!2023世界人工智能大会

新云力量

人工智能 AI 人工智能大会

VAP and VLAN: Enhancing Network Flexibility and Security

wallyslilly

MT7915

TDengine 3.0.4.0 重要特性之 Python UDF 实战分享

爱倒腾的程序员

九科三周年专访丨创始人万正勇:拥抱AIGC新浪潮,赋能信创产业高质量发展

九科Ninetech

人脸识别技术的优缺点及其在实际应用中的影响

来自四九城儿

精彩回顾|【2023 ACDU 中国行·深圳站】数据库主题交流活动成功举办!

墨天轮

MySQL 数据库 oracle postgresql 腾讯云

WIZMAP-大规模 embedding 向量的可视化交互工具

Zilliz

机器学习 深度学习 Embedding 交互式可视化工具

  • 扫码添加小助手
    领取最新资料包
跨平台移动应用开发迎来“大杀器”,Xamarin.Essentials正式版发布_移动_Sergio De Simone_InfoQ精选文章