.NET MAUI 的跨平台能力和相容性探索
[[academy-video-youtube({"vid": "HmyfjAaPW0g", "start_time": "0", "title": "探索.NET MAUI跨平台能力與相容性", "creator": "Tim Corey", "length": "37m 50s"})]]
建立跨平台應用程式是現代開發者的基礎技能,理解核心底層專案結構至關重要。 這篇文章靈感來自Tim Corey的關於".NET MAUI初探——它是什麼,我們如何使用它,以及它是否準備好了"的影片,深入探討了使用.NET MAUI框架構建跨平台應用的複雜性。
.NET Framework支持構建和運行專為Windows設計的.NET應用,為桌面、網頁和伺服器應用提供強大的環境。 相反,.NET MAUI透過.NET實現擴展了這一功能至跨平台開發,使您能用統一的程式碼庫建立可在Windows、Android和iOS上運行的應用程式。
根據Tim的見解,我們將探討如何設置、配置和優化此軟體開發框架,充分利用.NET MAUI的潛力來構建高效且可維護的移動和桌面應用程式。
介紹.NET MAUI
.NET MAUI是.NET生態系統中的一個尖端跨平台框架,允許開發人員使用托管程式碼為Android、iOS、macOS和Windows建立應用程式。 它利用全面的.NET framework類庫和通用語言運行時(CLR),在不同操作系統上實現高效表現。
.NET MAUI的模組化及優化架構支持多種編程語言,包括C#和Visual Basic。 與Visual Studio無縫整合,確保高效的.NET開發,由.NET Foundation及活躍的.NET開發者社群支持。
此框架體現了.NET開發的未來,為網頁、桌面和移動應用提供跨平台相容性。 由於它能將.NET程式碼編譯成機器程式碼並支持像WPF和Windows Forms這樣的應用框架,.NET MAUI成為現代.NET應用開發者一種多功能和強大的工具。
理解.NET MAUI及其組件
Tim還概述了.NET MAUI,說明它代表多應用程式使用者介面,允許應用程式在包括Android、iOS、macOS、Windows和Tizen等多個平台上運行,全部在單一編程語言下編寫。 但Linux目前不受支持。 他闡述了.NET MAUI作為Xamarin的繼任者角色,以及如何將不同的.NET Core和.NET Framework版本整合到.NET 6之下。
在Visual Studio中設置.NET MAUI
Tim展示了如何使用Visual Studio的預覽版設置.NET MAUI專案,因為在影片拍攝時.NET MAUI尚未發布。 他指出預覽版中的些微差異,並提到了發佈候選版本的穩定性。
建立新的.NET MAUI專案
首先,Tim Corey展示了如何設置一個新的.NET MAUI專案。 以下是他影片中的步驟:
打開Visual Studio:首先打開Visual Studio,選擇建立新專案的選項。
選擇MAUI模板:從專案模板中選擇".NET MAUI App"、".NET MAUI Blazor App"或".NET MAUI Class Library",然後點擊"下一步"。Tim選擇了.NET MAUI App。

配置專案設置:輸入專案名稱,選擇位置和解決方案名稱。

- 建立專案:點擊"建立"來生成具有預設配置和必要程式碼的專案。
此設置為探索跨平台開發提供了基礎,Visual Studio生成了一個基本結構,包括MauiProgram.cs、平台專用資料夾和共享資源等基本元件。
檢查專案結構及.NET MAUI程式碼
Tim探索了專案結構,指出了與WPF和WinUI專案的相似之處。
XAML熟悉度
Tim強調.NET MAUI使用XAML進行設計,類似於WPF和WinUI專案。
專案結構
Tim解釋了CreateMauiApp。 這與其他.NET專案類似,具備字體、依賴注入和日誌的配置。
目標框架
該專案針對多個框架:.NET 6 用於 Android、iOS、macOS(Catalyst)和Windows。 它支持Windows 10(版本19041及以上)和Windows 11。
條件構建及平台
Tim解釋了專案檔中使用條件語句來處理多個框架,以分號分隔。 這允許針對特定平台,並管理平台特定的依賴。
平台特定程式碼
每個平台(Android、iOS、macOS、Tizen、Windows)的資料夾管理平台特定程式碼。 開發人員可以透過從專案檔中刪除相應的目標和資料夾來排除平台。
構建過程及抽象
.NET MAUI抽象了很多平台特定的工作,編譯程式碼以使用每個平台的API。這確保了每個平台的原生外觀。
配置及資產
Tim介紹了像Info.plist這樣的配置文件,用於iOS處理平台特定設置。 GUI工具可用於更容易地編輯這些文件,尤其是在iOS上。
探索平台特定功能
Tim強調了平台特定功能的重要性及.NET MAUI如何處理它們。 他討論了平台資料夾,其中包含每個支持平台的子資料夾以包括平台特定程式碼。
共享專案文件
然後Tim探討了共享專案結構,解釋共享程式碼如何一次編寫,可在多個平台上運行。 他透過檢查MainPage.xaml.cs文件來說明這一點,展示了如何使用XAML進行UI設計,及C#用於後台程式碼。
在多個平台上運行應用程式
在多個平台上測試.NET MAUI應用程式對於評估性能及外觀至關重要。 Tim強調在Windows機器、Android模擬器及擁有Apple開發者帳戶的iOS裝置上進行測試。
設置開發環境
Tim概述了根據平台需要不同設置的需求。 對於Android,安裝Android模擬器。 對於iOS,需要Apple開發者帳戶,費用約為每年100美元。
為Windows啟用開發者模式
在Windows啟用開發者模式對於測試.NET MAUI應用程式至關重要,允許載入不需通過Microsoft Store的應用程式。

在Windows上測試
Tim展示了在Windows機器上測試.NET MAUI應用程式,利用熱重載功能來修改應用程式程式碼並即時查看更新。

在Android模擬器上測試
Tim使用運行Android 12的Galaxy Nexus模擬器進行測試,解釋了啟動模擬器、安裝和啟動應用程式的過程。

Windows及Android版的比較
Tim比較了在兩個平台上應用程式的表現,指出了功能的一致性,儘管外觀有所不同。

.NET MAUI與Xamarin的未來
.NET MAUI得到Microsoft的全面支持,預計會持續獲得改進。 作為其繼任者,Xamarin專案可升級至.NET MAUI,確保開發者的平滑過渡。
結論
Tim Corey提供了對.NET MAUI、其設置及功能的全面介紹。 他的影片是對雄心勃勃探索此框架的開發者而言充滿價值的資源。 欲深入探究及獲取實際編碼範例,請造訪他的YouTube頻道IAmTimCorey並查看iamtimcorey.com上提供的更多資源。



