Uno Platform 入門:完整 C# 跨平台開發
[[academy-video-youtube({"vid": "Cm2FRfiAzSU", "start_time": "0", "title": "Intro To Uno Platform - Full Cross-Platform C# Development", "creator": "Tim Corey", "length": "53m 19s"})]]
多年前,C# 跨平台開發是許多開發者夢寐以求的目標——寫一次程式碼並在各處部署。 無論是用於行動應用程式、桌面軟體、網頁體驗甚至是嵌入式裝置,使用單一程式碼庫來構建和維護跨平台應用程式在多個平台上是一種巨大的節省時間的方法。
在他的全面影片"Intro To Uno Platform – Full Cross-Platform C# Development"中,Tim Corey 一步一步地引導我們了解 Uno 平台如何讓這一夢想成為 C# 開發者的現實。 Tim 展示了如何安裝 Uno、在 Visual Studio 中建立專案、配置 .NET Framework環境,並在 Windows、Android、iOS、Linux 和網頁上運行應用程式。 過程中,他解釋了關鍵特徵,強調 Uno 為跨平台開發人員簡化工作的地方,甚至展示了一些高級工具如 Hot Design。
讓我們深入探討影片中的演示,密切跟隨 Tim 的解釋,了解 Uno 如何使用開源庫和 .NET 的力量來建構現代移動應用程式及更多內容。
什麼是 Uno 平台?
Tim 影片開頭總結了 Uno 的使命:"一次構建,隨處部署——這就是夢想,而 Uno 平台讓這個夢想成為現實。"
Uno 不僅僅是一個框架或工具包。 正如 Tim 解釋的,"這是一個完整的平台,"使開發者能從單一程式碼庫建立跨平台應用程式。 Uno 支援 Windows、Android、iOS、Linux、macOS 和 WebAssembly,允許一個專案到達每個主要環境——從桌面到行動裝置,甚至網頁。
Tim 立即談到成本。 他向觀眾保證 Uno 是一個免費的開源專案,採用 Apache 2.0 授權:"建構和部屬你的應用程式所需的一切都是免費的。" 核心平台對所有使用者都是完全免費的——無論是個人、小團隊還是大型公司。
唯一的付費工具是 Hot Design,一個加速應用程式構建的 UI 設計器,但這是可選的。 Tim 指出,Uno 的可持續性模式有點像 Red Hat:高級工具和企業支持資助開源基礎。
在 Visual Studio 中安裝 Uno
Tim 步驟演示如何在 Visual Studio 中安裝 Uno。 他前往擴充功能選單,搜尋"Uno Platform",然後進行安裝。
他解釋為什麼這個安裝程式很重要:"跨平台開發不容易,"他說。 為 Android、iOS、Windows、Linux 和網頁建立應用程式意味著需要處理不同的 SDK、模擬器和部屬系統。 Uno 簡化了這些混亂的部分:
"這個安裝程式已為您處理得很好,"Tim 說,因為它同時設置了必需的組件,例如 .NET MAUI、模擬器和背景工具。
建立新的 Uno 專案
安裝 Uno 之後,Tim 在 Visual Studio 中開始一個專案:檔案 > 新專案 > Uno Platform App。他將其命名為"UnoDemo",然後指出一個重要的設置步驟:
"您需要勾選這個選項——'將解決方案和專案放在同一目錄中'——否則會出錯。"
從那裡開始,Uno 啟動了其強大的專案嚮導,Tim 稱其為"驚人。"
探索專案嚮導
Tim 花時間在嚮導上,因為這是跨平台開發者自定義其應用程式基礎的地方。
.NET Framework版本
Uno 支援 .NET 9,Tim 解釋選擇它的原因是因為它具有比 .NET 8 更需要的功能。
平台
他選擇了 Android、iOS、WebAssembly 和桌面。Uno 現在使用 Skia 渲染以提高速度。 Tim 建議始終包括對桌面的支持,即使您的重點是行動應用程式:
"在桌面上開發速度要快得多,因為您不必運行模擬器。"
UI 樣式和標記
Tim 討論了 MVVM(WPF 開發者熟悉)和更新的 MVU/MVUX(模型-視圖-更新延伸)。 Uno 的許多範例使用 MVUX。 對於標記,您可以選擇 XAML 或 C#。
"選擇 XAML,"Tim 建議,因為 Uno 的高級 Hot Design 工具只適用於它。
主題、擴充功能和服務
開發人員可以選擇 Material 或 Fluent 主題,啟用淺色/深色模式,甚至新增依賴注入和本地化。
Tim 指出,如果您選擇 Refit 或 Kyota 等 HTTP 呼叫選項,Uno 會在專案中插入源碼範例,展示這些元件如何運作。
"這個建構器非常有用,因為它為您提供所有這些不同事物的範例,讓您開始。"
第一次運行和環境設置
當 Tim 點擊建立時,項目便編譯,Visual Studio 標記出了環境問題。 這就是 Uno 的 Uno Check 工具的時候。
"複製此命令,運行它,並持續運行直到它不再找到錯誤。 它會修復它能修復的。"
Uno Check 處理安裝 SDK、配置 Android Studio 和設置模擬器。 Tim 稱讚此自動化:
"這裡有很多複雜的地方——但他們將這些複雜的地方都整理得井井有條。"
運行應用程式並使用 Hot Reload
Tim 切換到桌面目標(測試最快)並運行應用程式。生成的演示具有文字框和按鈕——簡單但功能齊全。
他演示了 Hot Reload——讓您能在 XAML 中更改 UI 程式碼並立即看到更新的免費功能:
"我將'輸入您的姓名'改為'輸入您的名字',按下保存,然後直接可以看到變更。"
這種無縫工作流程是針對跨平臺開發者在多個平台上工作的最大生產力提升。
探索 Hot Design——可選但強大
接下來,Tim 點擊火焰圖示——啟用 Hot Design。
"這是付費升級——不需要它,但有它很好。"
Hot Design 讓您能將 UI 元素拖放到正在運行的應用程式上,調整其屬性,並讓這些編輯直接反映在源碼中。
Tim 拖入一個 TextBlock,設置為說"Hello World",並更改其顏色。 他指出:
"Hot Design 不僅僅是預覽——它會修改您實際的程式碼。"
他還展示了 Hot Design 如何處理行動裝置的響應式佈局、淺色/深色主題切換和高級綁定設置——在專案運行時。
Tim 總結其價值:
"如果它每月節省了一小時,那就值得 39 美元。這會節省超過那個時間。"
查看生成的源碼
Tim 檢查 Uno 生成的程式碼。 他展示了專案是基於 MVUX的,模型綁定到頁面,並重點如下:
服務資料夾——包括快取和 HTTP 範例程式碼。
本地化資源——提供英語、西班牙語、法語和葡萄牙語的翻譯範例。
- csproj 差異——Uno 使用自己的 UNO.SDK 而非微軟的預設。
Tim 分享了一個開發者提示:在除錯期間,您可以註解掉除桌面目標以外的所有內容,以加快重建速度。
了解平台和自定義程式碼
Tim 探索了包含 Android、iOS等特定平台程式碼的平台資料夾:
"大多數情況下,您的程式碼會在多平台上運作,但有些事情您需要針對 Android 或 iOS 編寫——這些就放在這裡。"
這種靈活性意味著 Uno 處理了 95% 的跨平臺工作,同時允許您在需要時為獨特的行動裝置或嵌入式裝置撰寫源碼。
超越 Visual Studio——VS Code 和 Rider
Uno 並沒有鎖定 Visual Studio。 Tim 演示了跨平臺開發者如何使用 VS Code 或 JetBrains Rider,得益於 Uno 在 new.platform.uno 的網頁專案嚮導。
"您可以在那裡配置專案,生成 CLI 命令,並在 Visual Studio 之外建立相同的起始專案。"
這使得 Uno 對於從在 Linux 筆記本電腦上實驗的業餘愛好者到在 Windows 機器上構建生產移動應用程式的團隊的所有型別設置的開發人員來說都是靈活的。
總結:一個真正橫跨各地的平台
Tim 總結影片時,強調了 Uno 的覆蓋範圍:
"它部署到 Windows、Mac、Linux、WebAssembly、iOS 和 Android。 您的 C# 程式碼幾乎可以在任何地方運行。"
Uno 允許開發人員編寫具有單一程式碼庫的應用程式並在多個平台上運行——從 iOS 和 Android 上的移動應用程式,到在 Windows 和 Linux 上的桌面應用程式,再到瀏覽器中的網路應用程式。
Tim 鼓勵大家嘗試 Uno,並分享他們希望看到的內容:"有很多事可以深入探討,我迫不及待地想展示給大家。"
結論
跟隨 Tim Corey 的 影片 關於 Uno 平台,清楚看到這個開源專案如何簡化跨平台開發。 通過使用 Visual Studio 等熟悉的 .NET 工具並利用開源庫,開發者可使用一個程式碼庫建構移動應用程式、桌面軟體和網頁體驗——節省時間,降低複雜性,加快將應用程式推出到多個平台。
從其免費的核心工具如 Hot Reload 到其可選的生產力提升 Hot Design,Uno 提供了現代 C# 跨平台開發的完整生態系統——不僅適合個人開發者,團隊,甚至大型企業用於開發移動應用程式及更多內容。


