.NET開源免費的跨平臺框架 - MAUI(附學習資料)

前言

前幾天分享了一個.NET MAUI開源免費的UI工具包 - Uranium,然後技術羣有不少同學問.NET MAUI是不是免費的?能做什麼?今天特意寫這篇文章來介紹一下.NET開源、免費(基於MIT License)的跨平臺框架:MAUI。

.NET MAUI官方介紹

.NET 多平臺應用 UI (.NET MAUI) 是一個跨平臺框架,用於使用 C# 和 XAML 創建本機移動和桌面應用。使用 .NET MAUI,可從單個共享代碼庫開發可在 Android、iOS、macOS 和 Windows 上運行的應用。

.NET MAUI 是一款開放源代碼應用,是 Xamarin.Forms 的進化版,從移動場景擴展到了桌面場景,並從頭重新生成了 UI 控件,以提高性能和可擴展性。如果以前使用過 Xamarin.Forms 來生成跨平臺用戶界面,那麼你會注意到它與 .NET MAUI 有許多相似之處。但也有一些差異。通過使用 .NET MAUI,可使用單個項目創建多平臺應用,但如果有必要,可以添加特定於平臺的源代碼和資源。.NET MAUI 的主要目的之一是使你能夠在單個代碼庫中實現儘可能多的應用邏輯和 UI 佈局。

.NET MAUI適合哪些用戶

  • 基於 Visual Studio 中的單一共享代碼庫,使用 XAML 和 C# 編寫跨平臺應用。
  • 跨平臺共享 UI 佈局和設計。
  • 跨平臺共享代碼、測試和業務邏輯。

.NET MAUI支持的平臺

  • Android 5.0 (API 21) 或更高版本。
  • iOS 11 或更高版本。
  • Mac Catalyst 的 macOS 10.15 或更高版本。
  • Windows 11 和 Windows 10 版本 1809 或更高版本,使用 Windows UI 庫 (WinUI) 3。

.NET MAUI 如何運作

.NET MAUI 將 Android、iOS、macOS 和 Windows API 統一到單個 API 中,提供“編寫一次就能在任何地方運行”的開發人員體驗,同時還提供了對每個原生平臺各個方面的深入訪問。

.NET MAUI 提供了用於爲移動和桌面應用生成 UI 的單一框架。下圖顯示了 .NET MAUI 應用體系結構的高級視圖:

.NET MAUI項目源代碼

.NET MAUI開發環境安裝

注意:開發本機跨平臺.NET MAUI應用需要 Visual Studio 2022 17.8 或更高版本,或者 Visual Studio 2022 for Mac 17.6。

安裝.NET Multi-platform App UI 開發工作負荷:

.NET MAUI的優缺點

以下是個人見解,假如你有不一樣的觀點歡迎留言。

優點:

  • 跨平臺性:使用.NET MAUI,開發人員可以編寫一次代碼,然後在多個平臺上運行,包括iOS、Android、Windows 和 macOS。
  • 本地用戶體驗:.NET MAUI 提供了本地用戶界面組件和控件,使開發人員能夠創建具有原生外觀和感覺的應用程序。
  • 單一項目:.NET MAUI 使用單一項目結構,使得在不同平臺上開發和維護應用程序變得更加簡單和高效。
  • 共享代碼:開發人員可以在不同平臺之間共享大部分代碼,從而減少了開發時間和成本。
  • 現有技能:對於已經熟悉.NET 和 C# 的開發人員來說,學習和使用.NET MAUI 是相對容易的,因爲它構建在熟悉的技術棧之上。

缺點:

  • 性能:儘管.NET MAUI 使用了許多性能優化技術,但跨平臺開發仍可能導致性能上的一些損失,特別是對於需要高性能的應用程序而言。
  • 平臺特定功能:某些平臺特定的功能可能無法在.NET MAUI 中直接實現,開發人員可能需要編寫特定平臺的代碼來滿足這些需求。
  • 學習曲線:對於沒有.NET 或 C#開發經驗的開發者而言,學習.NET MAUI 可能需要一定的時間和精力。
  • 社區生態:雖然.NET社區很龐大,但與其他跨平臺開發框架相比,.NET MAUI的社區支持可能相對較少,.NET MAUI社區成熟的解決方案也不多,對於開發者和公司而言這可能是他們技術選型時的一大考覈點。

.NET Multi-Platform App UI文檔

微軟官方提供了詳細的使用文檔,文檔中有詳細的介紹和上手實踐教程,大家可以放心食用。

https://learn.microsoft.com/zh-cn/dotnet/maui/?view=net-maui-8.0

Awesome .NET MAUI

https://github.com/jsuarezruiz/awesome-dotnet-maui

DotNetGuide技術社區交流羣

  • DotNetGuide技術社區是一個面向.NET開發者的開源技術社區,旨在爲開發者們提供全面的C#/.NET/.NET Core相關學習資料、技術分享和諮詢、項目框架推薦、求職和招聘資訊、以及解決問題的平臺。
  • 在DotNetGuide技術社區中,開發者們可以分享自己的技術文章、項目經驗、學習心得、遇到的疑難技術問題以及解決方案,並且還有機會結識志同道合的開發者。
  • 我們致力於構建一個積極向上、和諧友善的.NET技術交流平臺。無論您是初學者還是有豐富經驗的開發者,我們都希望能爲您提供更多的價值和成長機會。

歡迎加入DotNetGuide技術社區微信交流羣👪

參考文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章