跟我做?個高德地圖的 iOS / Android MAUI 控件(前言)

Microsoft Build 2022 ?會上正式發布了 .NET MAUI , 對于 .NET 開發者可以? C# 完成跨平臺的前端應?開發。對?起 MAUI 的前身 Xamarin , MAUI 除了可以?傳統的原?開發模式外,還?持了 Blazor 的混合式開發。這也讓更多?向的開發?員能進?到跨平臺的應?開發中來。有?會提出云原?時代,前端開發還重要嗎 ?實際上,多端應?兼容是云原?不可缺少的門面。互聯?時代,有很多出?的應?,并發布了針對第三?應?的 SDK,開發者可以結合這些 SDK 做相關的解決?案。通過 MAUI 能調?這些 SDK 嗎?我會通過系列?章去和?家介紹。作為該系列的開篇,我先來介紹?下需要掌握的技能, 讓?家有所準備。

3bdd8c42897e553233578374de5d2649.png

為何要綁定原生SDK

我們知道?個應?可以融?不同的場景,例如?個打?應?就需要地圖,例如?個拍照應?就需要社交,例如?個如果你是傳統的物聯?應?你需要?個藍?的通信協議。拿來主義就是?個節省的?式,可以結合第三?提供的 SDK 來完成應?的開發。對于 .NET 開發?員會是?個難點,因為習慣性地去調? DLL ,但在iOS / Android 原?開發上,實際上是有不同的庫調?機制。在 Xamarin 時代,就有不少開發者去? C# 綁定第三?的庫,例如在中國市場就有?付寶,微信,?德地圖等。到了 MAUI 有什么不?樣呢?在?致上是和Xamarin 綁定?式?樣。但由于 MAUI 融?到了 .NET 6,實際上就是?個項??件格式的改變。現階段你可以通過命令?的?式快速構建 iOS / Android 的綁定項?。

01

MAUI iOS 庫的綁定

dotnet new iosbinding -o iOS.AMapSDK.Binding

要做 iOS / macOS的綁定你除了創建綁定項?外,你還需要安裝 Shapie ?具 (https://aka.ms/objectivesharpie)做對應轉換, 可以通過命令?去針對 iOS 的動態庫和靜態庫做對應轉換。這?補充?點你的 Xcode環境是必須要安裝的。下?是?個簡單的轉換語句,更多具體?家可以關注我的該系列的 iOS 庫?件綁定?章。

sharpie?bind?-framework?/your?path/AMapFoundationKit.framework?-sdk iphoneos15.5

02

MAUI Android 庫的綁定

dotnet new android-bindinglib -o Droid.AMapSDK.Binding

Android 的綁定和 iOS 不?樣,直接把第三?庫 Android SDK 的 jar 或者 aar 包放進去編譯即可。

b09246cc004e4fc5b540bbe5a396e08a.png

如果你希望了解更多可以關注本系列 Android 庫綁定的系列?章。

控件定制

在 Xamarin.Forms 中,通過渲染器機制對跨平臺各?控件的引?,并且依賴于 INotifyPropertyChanged 。.NET MAUI 沒取消了渲染器機制,?是引?了?種稱為 Handler 的模式。有了 Handlers 更靈活 ,?且在需要時更容易擴展或覆蓋。這是 MAUI 全新的 Handler 模式。

8502021a010ed91d95ff4a727c4c1c6d.png

我們通過 Handler 機制可以構建好?德地圖的 MAUI 控件

c2973a7d76c4803939a7e4b32c5274ac.png

你可以通過 https://github.com/kinfey/AMapMAUIControls 使?體驗 MAUI 的?德 Android / iOS 控件。

880c5b508185d0a7d2bc5ecd8a40803b.jpeg??7477dd173d4778f975b699644d3218f2.jpeg

后記

本次系列的發布是希望有更多的?商和開發者能夠針對 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

往期推薦:

CA周記 - 2022年的第一課Rust

CA周記 - 用 Visual Studio Code 做基于 .NET MAUI 跨平臺移動應用開發

CA周記 - 通過 Azure ML + GitHub + GitHub Action 打通 ML 開發的任督二脈

CA周記 - 宇宙最強的IDE - Visual Studio 25歲生日快樂

CA周記 - “探店”低代碼

CA周記 - 云上“煉”碼兵器 GitHub Codespaces

CA周記 - C# 學習經驗分享

CA周記 - 帶你進入 OpenAI 的世界

CA周記 - 跟我做一個可以聊天的 Visual Studio Code 插件

CA周記 - .NET 6 Minimal API 的經驗分享

CA周記 - Microsoft Build 2022 到來,開發者們做好準備了嗎?

CA周記 - Build 2022 上開發者最應關注的七??向主要技術更新

更多原創文章與資源共享

請關注Kinfey Techtalk

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285122.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285122.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Valid Number

Valid Number 題解 題目描述 即判斷某個字符串是否合法的數字表達式。如: 2e10,合法。 75.0.,非法。 0e,非法。 0.1 ,合法。題解 基于規則與狀態判斷。可利用二維數組模擬狀態轉移圖,又或是利用變量記錄狀…

java.util.ListIterator

列表迭代器并不持有當前元素的引用,其持有的游標是位于列表連個元素之間。可以通過調用next()或者previous()返回列表中的元素。一個擁有n個元素的列表擁有n1個游標位置,示意圖如下: 注意:remove和 set(Object)方法并不是以迭代器…

保姆級C語言版高斯坐標正算反算傾情奉獻!

文章目錄 正反算原理速遞C語言正反算實現坐標正算坐標反算擴展閱讀: 【小程序】坐標正算神器V1.0(附C/C#/VB源程序) 測量人看過來:多種語言編寫的測量坐標反算神器附源碼(C#/VB) 正反算原理速遞 已知邊長和方位角,由已知點計算待定點的坐標,稱為坐標正算。已知兩點坐標…

C語言試題164之求定積分

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款刷算法、筆試、面經、拿大公司offer神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目:利用梯形…

我的jekyll配置和修改

主要記錄使用jekyll搭建博客時的一些配置和修改。 注意&#xff1a; >使用時請刪除{和%以及{和{之間的空格。 預覽文章 source ~/.bash_profile jekyll server添加about me 邊欄 參考the5fire的技術博客在index.html頁面加入如下代碼&#xff1a; <section> <h4>…

[轉]白話阿里巴巴Java開發手冊高級篇

不久前&#xff0c;阿里巴巴發布了《阿里巴巴Java開發手冊》&#xff0c;總結了阿里巴巴內部實際項目開發過程中開發人員應該遵守的研發流程規范&#xff0c;這些流程規范在一定程度上能夠保證最終的項目交付質量&#xff0c;通過在時間中總結模式&#xff0c;并推廣給廣大開發…

C語言試題165之求三色旗問題

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款刷算法、筆試、面經、拿大公司offer神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目:有一根繩…

spring boot微服務通用部署啟動腳本

2019獨角獸企業重金招聘Python工程師標準>>> 通用springboot微服務啟動、停止腳本。 #!/bin/bash # # chkconfig: - 20 80 # description: Starts and stops the App. # author:vakingeENVdev RUNNING_USERvakinge ADATEdate %Y%m%d%H%M%S APP_NAMEpassport-serve…

day10 多媒體(文字 圖片 音頻 視頻)

1計算機表示圖形的幾種方式bmp:以高質量保存 用于計算機jpg:以良好的質量保存 用于計算機或者網絡png:以高質量保存圖片大小的計算公式&#xff1a;圖片的總像素*每個像素的大小 (多出的一點是圖片的信息)單色&#xff1a;每個像素最多可以表示2種顏色 要么是黑要么是…

VB實現6大排序算法---動態過程展示(建議收藏)

VB實現6大排序算法&#xff1a;插入排序、基數排序、快速排序、希爾排序、選擇排序、歸并排序。可以隨機生成指定個數的數據&#xff0c;顯示排序過程&#xff0c;給出排序結果&#xff0c;計算排序算法消耗的時間。 生成隨機數&#xff1a; 排序結果&#xff1a; 插入排序&…

C# 實現 Actor并發模型 (案例版)

啥是Actor模型Actor (英語翻譯 演員) 這個概念要回溯到面向對象程序設計的本身上來&#xff0c;更偏向于現實世界&#xff0c;現實世界就是由單個個體&#xff08;人&#xff09;與其他個體或(人&#xff09;通訊&#xff08;消息&#xff09;組成的現實世界&#xff0c;所以&a…

oracle--number

1. oracle的number類型是oracle的內置類型之一&#xff0c;是oracle的最基礎數值數據類型。在9iR2及其以前的版本中只支持一種適合存儲數值數據的固有數據類型&#xff0c;在10g以后&#xff0c;才出現了兩種新的數值類型&#xff0c;即推出本地浮點數據類型(Native Floating-P…

超詳細C語言版數據結構:圖的深度優先遍歷(推薦收藏)

文章目錄一、鄰接矩陣存儲圖的深度優先遍歷過程分析二、結果分析三、C語言編程實現圖的深度優先遍歷四、圖的遍歷及其應用一、鄰接矩陣存儲圖的深度優先遍歷過程分析 對圖1這樣的無向圖&#xff0c;要寫成鄰接矩陣&#xff0c;則就是下面的式子&#xff1a; 一般要計算這樣的問…

Navicat Premium 64 bit 12.1.25

Navicat Premium可讓你以單一程序同時連接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 數據庫&#xff0c;是一個可多重連接的數據庫管理工具&#xff0c;它讓管理不同類型的數據庫更加方便。 官方下載地址&#xff1a;https://www.navicat.com.cn/download/…

C語言試題166之整數逆序輸出

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款刷算法、筆試、面經、拿大公司offer神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目:將一個從…

[JMX一步步來] 7、用JDK5.0的JConsole來連接MBean

前面所有看效果都是通過Html網頁來看的。JDK5.0自帶了一個jmx客戶端&#xff0c;叫jconsole&#xff0c;位于c:\jdk\bin\jconsole.exe。我們來用用這個客戶端來連接Mbean Server。一、vm參數方式1、還是用第一篇的那個HelloAgent&#xff0c;修改HelloAgent&#xff0c;將第一句…

記一次 .NET 某新能源系統 線程瘋漲 分析

一&#xff1a;背景 1. 講故事前段時間收到一個朋友的求助&#xff0c;說他的程序線程數瘋漲&#xff0c;尋求如何解決。等我分析完之后&#xff0c;我覺得這個問題很有代表性&#xff0c;所以拿出來和大家分享下&#xff0c;還是上老工具 WinDbg。二&#xff1a;WinDbg 分析 1…

【原創】請避免GO語言中的攜程空跑(CPU突然激增)

其實GO語言從1.6版本開始非常不錯了&#xff0c;GC性能優化非常到位&#xff0c;并且各種并行設計比從新實現一套C版本的確是方便不少。 語言包也很多&#xff0c;庫也相對穩定&#xff0c;完全可以適用于生產環境。 本文主要是給剛剛入門新手注意一個攜程空跑的問題&#xff0…

在Linux上啟動oracle 11g OEM

[rootfmw ~]# su - oracle[oraclefmw ~]$ emctl start dbconsole轉載于:https://blog.51cto.com/weichanglong/1762783

[轉]ES7、ES8、ES9、ES10新特性大盤點

ES7、ES8、ES9、ES10新特性大盤點 本文轉自&#xff1a;https://mp.weixin.qq.com/s/8bov6788ivV0sHzmwrn5lw 以下文章來源于前端工匠 &#xff0c;作者浪里行舟君 前端工匠 我是浪里行舟&#xff0c;Github博客4000star作者&#xff0c;致力于打造一系列能夠幫助初中級工程師…