跳至页脚内容
Iron Academy Logo
C# 框架

Uno 平台介绍:完整的 C# 跨平台开发

Tim Corey
53分19秒

多年来,C# 跨平台开发一直是许多开发人员梦寐以求的目标--一次编写代码,随处部署。 无论是移动应用程序、桌面软件、网络体验,甚至是嵌入式设备,使用单一代码库构建和维护跨平台应用程序的想法都能节省大量时间。

在他的综合视频"Intro To Uno Platform - Full Cross-Platform C# Development"中,Tim Corey 带我们一步步了解 Uno Platform 如何让 C# 开发人员实现这一梦想。 Tim 展示了如何安装 Uno、在 Visual Studio 中创建项目、配置 .NET Framework 环境,以及在 Windows、Android、iOS、Linux 和 Web 上运行应用程序。 在翻译过程中,他解释了主要功能,强调了 Uno 在哪些方面简化了跨平台开发人员的工作,甚至演示了 Hot Design 等高级工具。

让我们深入了解视频中的演示,紧跟 Tim 的讲解,看看 Uno 如何利用开源库和 .NET 的强大功能帮助构建现代移动应用程序等。

什么是 Uno Platform?

Tim 在视频开头总结了 Uno 的使命:"Build once and deploy everywhere - that's the dream, and the Uno Platform makes that dream a reality.""一次构建,随处部署 - 这是我们的梦想,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 平台应用程序。他将其命名为 "UnoDemo",然后指出了一个重要的设置步骤:

"您需要选中'将解决方案和项目置于同一目录'复选框,否则会出错"

在此基础上,Uno 启动了功能强大的项目向导,Tim 称其"令人惊叹"

探索项目向导

Tim 在向导上花了很多时间,因为跨平台开发人员就是在向导上定制应用程序的基础。

.NET Framework 版本

Uno 支持 .NET 9,Tim 解释说,之所以选择.NET 9,是因为.NET 9 具有超出 .NET 8 的功能。

平台

他选择了 Android、iOS、WebAssembly 和桌面。为了提高速度,Uno 现在使用 Skia 渲染。 Tim 建议,即使您的重点是移动应用程序,也一定要包括桌面支持:

"在桌面上开发要快得多,因为您不必运行模拟器。

用户界面模式和标记

Tim 讨论了 MVVM(WPF 开发人员所熟悉的)和较新的 MVU/MVUX(模型-视图-更新扩展)。 Uno 的许多样本都使用了 MVUX。 标记方面,可以选择 XAML 或 C#。

"选择 XAML",Tim 建议,因为 Uno 的高级 Hot Design 工具只能使用 XAML。

主题、扩展和服务

开发人员可以选择 Material 或 Fluent 主题,启用明/暗模式,甚至添加依赖注入和本地化。

Tim 指出,如果您选择 Refit 或 Kyota 等选项进行 HTTP 调用,Uno 会在项目中提供源代码示例,向您展示这些组件是如何工作的。

"这个构建工具超级有用,因为它为您提供了所有这些不同内容的示例,让您可以轻松上手"

首次运行和环境设置

当 Tim 点击 Create 时,项目将开始构建,Visual Studio 将标记出环境问题。 这正是 Uno 的 Uno Check 工具的优势所在。

"复制这个命令,运行它,一直运行到不再发现任何错误为止。 它能解决什么就解决什么 "

Uno Check 负责安装 SDK、配置 Android Studio 和设置模拟器。 蒂姆对这种自动化赞不绝口:

"There's a lot of complexity here - and they take all that complexity and clean it up.""这里有很多复杂的东西--他们将所有这些复杂的东西一扫而空。

运行应用程序和使用热重载

Tim 切换到桌面目标(测试时速度最快)并运行应用程序。生成的演示中有一个文本框和按钮--简单而实用。

他演示了热重载(Hot Reload)--这项免费功能可让您更改 XAML 中的用户界面代码并立即看到更新:

"我将'请输入您的姓名'改为'请输入您的名字',点击保存,然后它就上线了。

这种无缝的工作流程对跨平台开发人员的工作效率大有裨益。

探索热门设计--可选但功能强大

接下来,Tim 点击火焰图标 - 启用热设计。

"这是付费升级--您不必拥有它,但拥有它很好。

Hot Design 允许您将 UI 元素拖放到正在运行的应用程序上,调整其属性,并将这些编辑直接反映到源代码中。

Tim 拖入一个 TextBlock,将其设置为 "Hello World",并更改其颜色。 他指出

"Hot Design 不仅仅是预览,它还能修改您的实际代码"

他还演示了 Hot Design 如何处理移动设备的响应式布局、明/暗主题切换和高级绑定设置--所有这一切都在项目运行过程中进行。

Tim 总结了翻译的价值:

"如果每月能节省哪怕一个小时,就值 39 美元,而且会节省更多"

查看生成的源代码

Tim 检查 Uno 生成的代码。 他展示了该项目如何基于 MVUX,将模型绑定到页面上,并重点介绍了该项目:

  • 服务文件夹 - 包括缓存和 HTTP 示例代码。

  • 本地化资源 - 英语、西班牙语、法语和葡萄牙语的翻译样本。

  • csproj 的差异 - Uno 使用自己的 UNO.SDK 而不是微软的默认设置。

Tim 分享了一个开发人员小窍门:在调试过程中,可以注释掉除桌面目标之外的所有内容,以加快重建速度。

了解平台和自定义代码

Tim 探索了 Platforms 文件夹,其中包含 Android、iOS 等平台的特定代码:

"在大多数情况下,您的代码可以跨平台使用,但有些代码您需要专为 Android 或 iOS 编写,这些代码将放在这里"

这种灵活性意味着 Uno 可以处理 95% 的跨平台工作,同时还能让您在需要时编写适合独特移动设备或嵌入式设备的源代码。

超越 Visual Studio - VS Code 和 Rider.

Uno 并不局限于 Visual Studio。 Tim 演示了跨平台开发人员如何使用 VS Code 或 JetBrains Rider,这要归功于新.platform.uno 上基于网络的 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 Platform 的 视频,您可以清楚地了解这个开源项目是如何简化跨平台开发的。 通过使用 Visual Studio 等熟悉的 .NET 工具并利用开源库,开发人员可以用一个代码库构建移动应用程序、桌面软件和网络体验,从而节省时间、降低复杂性并更快地将应用程序交付到多个平台。

从 Hot Reload 等免费核心工具到可选的生产力促进工具 Hot Design,Uno 为现代 C# 跨平台开发提供了一个完整的生态系统--一个适用于个人开发者、团队甚至是构建移动应用程序等大型组织的生态系统。

Hero Worlddot related to Uno 平台介绍:完整的 C# 跨平台开发
Hero Affiliate related to Uno 平台介绍:完整的 C# 跨平台开发

分享您的所爱,赚取更多收入

您为使用 .NET、C#、Java、Python 或 Node.js 的开发人员创建内容吗?将您的专业知识转化为额外收入!

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我