谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

在Linux上使用Visual Studio开发Uno Platform项目

by liam zheng on 18 August 2020

Uno平台正在支持Linux。Uno允许你从单一代码库使用C#和XAML构建原生的移动,桌面和WebAssembly应用。你可以在WSL上的Ubuntu使用Uno和Visual Studio(VS)来构建Linux应用。与Uno的协作,我们构建了示例snap应用来演示在IoT设备上监测和调节速度。请参考Uno的声明。或者观看文末的视频。


在Ubuntu上使用Uno做开发

为每个平台维护独立的代码库需要大量的时间和工作。为每个平台(Windows,Android,macOS或Ubuntu)构建应用,然后承诺支持和维护使得跨平台开发的艰巨任务。例如功能差异,不兼容和重复工作等问题可能成为常见的做法。

Uno展示了一个解决方案。你可以使用Uno构建C#和XAML代码库,以使其可方便移植。使用WebAssembly,Uno动态地调节你的应用外观和与系统更匹配。你所需要的只是维护一个代码库。

在Visual Studio上构建Linux应用程序的支持由WSL上的Ubuntu和开源的Mono AOT-wasm项目提供支持。Uno也支持在VS code上WASM开发。在Linux上,Uno平台项目使用Skia渲染引擎和绘制图形元素。Uno应用程序与GTK Shell整合至Ubuntu桌面,全部都是开源软件,在Mono项目上构建。

用snap应用来部署Uno

一旦你有了应用程序,支持和维护将成为一个挑战。就像我们的demo应用,你的IoT设备应用,支持和维护将是安全的关键因素。应用程序或设备的用户应该能够信任开发人员,以使应用程序保持最新和有补丁可用。

不管在Ubuntu还是其他主流发行版上的Snap应用,你都能使用和保持Uno平台项目自动远程地更新和打补丁。你也可以塑造一个发布策略来满足项目或设备需要使用的snap通道。在其他用户使用稳定版时,大胆的用户可以使用你的dege(边缘)版,或者订阅一个鉴于2者的一个中间版本。

构建Uno IoT应用 

当你的应用程序在所有操作系统上运行并且易于支持,下一步该怎么办呢?随着你的Uno 平台项目迅速发布,你可以无忧地部署到工作站或服务器。同时,你可以更进一步创建一个基于Ubuntu Core的产品。

Uno和snap2者都可在X86和ARM上运行。因此,开发者可以树莓派为目标,测试IoT应用。Uno平台IoT demo就是一个例子,它可在armhf和amd64上工作。作为一个严格限制的snap,它可使用Ubuntu Core来轻松的部署到生产环境设备上。Ubuntu Core时一个最小,容器化版的Ubuntu。为了安全,其完全由snap应用构成,也拥有和你的应用一样的更新能力。

用Uno和snap来开发项目也给与你访问其他工具和其他现有的Ubuntu Appliances特性。例如,我们的演示版snap用到了Mir来做窗口管理和显示你的Uno平台应用。

下一步

如果你不熟悉Uno平台,我们推荐你阅读Uno Platform的公告。浏览他们的网站和体验我们的演示snap。需要注意的是这是一个简单的演示,展示了可能的情况,我们很高兴看到其他Uno项目在将来能充分利用snap的好处。

如你对Ubuntu Core和snap开发感兴趣,或者在树莓派上构建Uno项目。我们推荐你阅读以下内容:

或者与我们交流你的应用,我们可以帮助你发布,并且你也可以找到其他和你一样的开发者。

点击此处阅读原文

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

Canonical 发布 Ubuntu 25.10 Questing Quokka

Ubuntu 的这一最新临时版本从芯片层面增强了兼容性,提供辅助功能升级和强大的安全保障,为下一 LTS 版本奠定基础。 2025 年 10 月 9 日 Canonical 正式发布 Ubuntu 25.10,代号 “Questing Quokka”,用户可前往 ubuntu.com/download 进行下载并安装。  Ubuntu 25.10 推出 GNOME 49 以及 Ptyxis 终端模拟器和 Loupe 图片查看器等全新默认应用,还推出重大平台升级,例如蓝牙音频处理优化、新增机密计算功能支持等。Ubuntu 25.10 是首个受益于内存安全“coreutils”和“sudo-rs”实现的版本,同时还改进了 TPM 支持的全盘加密技术,并支持 Arm 嵌套虚拟化 […]

Real-time OS 跨行业用例

在精度与可预测性毫无妥协的行业中,时间就是一切。无论是协调工厂车间的机械臂,还是维持电信网络的超高可靠低延迟,亦或是确保汽车制动系统的即刻响应,这些系统的顺利运行都取决于是否满足严格的时限要求。 这就是实时计算领域。在该应用领域中,操作系统(OS)必须确保关键任务能够准确无误地在需要时运行,不得有任何延迟或不确定性。如今,实时 Linux 正逐渐成为此类场景中的主流解决方案。 本文将首先介绍实时操作系统的基本概念,以及其对于依赖绝对可靠性与瞬时性能的行业而言为何至关重要。其次将深入探讨实时 Linux 在制造业、电信行业与汽车行业的应用。 实时 Linux 适用于工业用例吗? 在整体运行成败取决于能否满足时间约束要求的场景中,精确且可预测地执行时间关键型任务至关重要。具备 […]

Canonical 官方构建版 OpenJDK – 正式发布

长久以来,Java 在大型企业级软件开发领域占据领军地位,90% 的《财富》500 强企业将其用于后端开发,尤其在金融、医疗及政府等关键行业。  相较于大多数开发者,Java 开发者更需要承担这样的任务:在实现新功能与满足遗留应用的安全性、稳定性和性能等关键要求之间取得平衡。管理不同的 Java 版本、安全更新及部署构件,面临极大的复杂度。 基于上述原因,我们决定加强对工具链的投入,提供一套更全面的解决方案,让企业用户和社区成员都能从中受益。Canonical 的 OpenJDK 支持方案围绕以下核心原则构建: 下面我们将针对上述各要素逐步展开深入探讨。 安全增强保障:提供长效安全保障与稳定运行支持 Ubuntu Pro 订阅服务为所有 OpenJDK LTS 构建版提供 […]