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

  1. 博客
  2. 文章

liam zheng
18 August 2020

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


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项目。我们推荐你阅读以下内容:

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

点击此处阅读原文


查看更多内容

现代化 Linux 身份管理:让 Ubuntu 从本地认证迈向云端

现代企业在混合环境中运营,本地基础设施与云服务并存,安全威胁也在不断演变。IT 管理员肩负着一项艰难的平衡工作:在维护传统本地工作流程的同时,还需应对不可避免的云原生架构转型。身份已成为新的安全边界,取代了传统的基于网络的防御体系。 在 Canonical,我们开发了一套全面框架,用以提升 Ubuntu 服务器与桌面端部署的身份管理安全性,弥合传统...

全新工具 Workshop 上线:一条命令即可在 Ubuntu 中启动沙箱开发环境

开发者如今可在智能体 AI 等前沿工作流程中,获得环境统一、可复现的开发体验 Canonical 正式发布 Workshop,该解决方案可通过单条命令快速启动开发环境。只需配置一次,此开发环境即可在多台设备上复现使用。这意味着各类开发设备与部署流水线可保持统一工作流程,并可大幅减少管理依赖关系所花费的时间。...

Canonical 技术案例 – 彻底解决 12 年老旧代码中的 Linux 性能漏洞

部分支持案例处理起来十分简单。另一些案例则要深入老旧遗留代码,一处逻辑缺陷就能悄无声息让常规指令引发严重性能故障。本系列将介绍 Canonical 技术支持与持续工程团队如何协作,排查、修复并向上游提交仅靠常规故障排查无法解决的疑难问题。在第二篇帖子中,libnss-db 中一处存在 12 年之久的漏洞导致 getent...

借助全新 NVIDIA OpenShell Snap,在 Ubuntu 上安全管控 AI 智能体工作流

NVIDIA 发布经过验证的 OpenShell Snap 软件包,用于在 Ubuntu 上安全管控 AI 智能体工作流 Canonical 在 COMPUTEX 宣布与 NVIDIA 达成全新合作,将面向智能体的 NVIDIA OpenShell 运行时直接集成至 Ubuntu 生态系统。Canonical 将 OpenShell 封装为 Snap...