前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CA周记 - 跟我做⼀个高德地图的 iOS / Android MAUI 控件(前言)

CA周记 - 跟我做⼀个高德地图的 iOS / Android MAUI 控件(前言)

作者头像
JusterZhu
发布2022-12-07 20:40:27
8880
发布2022-12-07 20:40:27
举报
文章被收录于专栏:JusterZhuJusterZhu

以下文章来源于Kinfey Techtalk ,作者lokinfey

Microsoft Build 2022 ⼤会上正式发布了 .NET MAUI , 对于 .NET 开发者可以⽤ C# 完成跨平台的前端应⽤开发。对⽐起 MAUI 的前身 Xamarin , MAUI 除了可以⽤传统的原⽣开发模式外,还⽀持了 Blazor 的混合式开发。这也让更多⽅向的开发⼈员能进⼊到跨平台的应⽤开发中来。有⼈会提出云原⽣时代,前端开发还重要吗 ?实际上,多端应⽤兼容是云原⽣不可缺少的门面。互联⽹时代,有很多出⾊的应⽤,并发布了针对第三⽅应⽤的 SDK,开发者可以结合这些 SDK 做相关的解决⽅案。通过 MAUI 能调⽤这些 SDK 吗?我会通过系列⽂章去和⼤家介绍。作为该系列的开篇,我先来介绍⼀下需要掌握的技能, 让⼤家有所准备。

为何要绑定原生SDK

我们知道⼀个应⽤可以融⼊不同的场景,例如⼀个打⻋应⽤就需要地图,例如⼀个拍照应⽤就需要社交,例如⼀个如果你是传统的物联⽹应⽤你需要⼀个蓝⽛的通信协议。拿来主义就是⼀个节省的⽅式,可以结合第三⽅提供的 SDK 来完成应⽤的开发。对于 .NET 开发⼈员会是⼀个难点,因为习惯性地去调⽤ DLL ,但在iOS / Android 原⽣开发上,实际上是有不同的库调⽤机制。在 Xamarin 时代,就有不少开发者去⽤ C# 绑定第三⽅的库,例如在中国市场就有⽀付宝,微信,⾼德地图等。到了 MAUI 有什么不⼀样呢?在⼤致上是和Xamarin 绑定⽅式⼀样。但由于 MAUI 融⼊到了 .NET 6,实际上就是⼀个项⽬⽂件格式的改变。现阶段你可以通过命令⾏的⽅式快速构建 iOS / Android 的绑定项⽬。

01

MAUI iOS 库的绑定

代码语言:javascript
复制
dotnet new iosbinding -o iOS.AMapSDK.Binding

要做 iOS / macOS的绑定你除了创建绑定项⽬外,你还需要安装 Shapie ⼯具 (https://aka.ms/objectivesharpie)做对应转换, 可以通过命令⾏去针对 iOS 的动态库和静态库做对应转换。这⾥补充⼀点你的 Xcode环境是必须要安装的。下⾯是⼀个简单的转换语句,更多具体⼤家可以关注我的该系列的 iOS 库⽂件绑定⽂章。

代码语言:javascript
复制
sharpie bind -framework /your path/AMapFoundationKit.framework -sdk iphoneos15.5

02

MAUI Android 库的绑定

代码语言:javascript
复制
dotnet new android-bindinglib -o Droid.AMapSDK.Binding

Android 的绑定和 iOS 不⼀样,直接把第三⽅库 Android SDK 的 jar 或者 aar 包放进去编译即可。

如果你希望了解更多可以关注本系列 Android 库绑定的系列⽂章。

控件定制

在 Xamarin.Forms 中,通过渲染器机制对跨平台各⾃控件的引⽤,并且依赖于 INotifyPropertyChanged 。.NET MAUI 没取消了渲染器机制,⽽是引⼊了⼀种称为 Handler 的模式。有了 Handlers 更灵活 ,⽽且在需要时更容易扩展或覆盖。这是 MAUI 全新的 Handler 模式。

我们通过 Handler 机制可以构建好⾼德地图的 MAUI 控件

你可以通过 https://github.com/kinfey/AMapMAUIControls 使⽤体验 MAUI 的⾼德 Android / iOS 控件。

后记

本次系列的发布是希望有更多的⼚商和开发者能够针对 MAUI 开发相关的控件和基于 MAUI 的 SDK 。我知道现在跨平台开发都有 Flutter , ReactNative 等。但 MAUI 是⼀个⾮常值得投⼊的解决⽅案,从性能和开发效率都是有竞争性的。我知道传统⾏业有⾮常多的 .NET 开发者, MAUI 会为传统⾏业的数字化转型提供⾮常好的体验。

*相关资料

1.通过 Microsoft Docs 了解 MAUI

https://aka.ms/Docs.MAUI

2.通过 Microsoft Learn 学习 MAUI

https://aka.ms/Learn.MAUI

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JusterZhu 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档