使用 .NET 和 Uno 平台编写一次,到处运行!

Latest Mailing Database provided you 100% active phone number list
Post Reply
miraz999
Posts: 1
Joined: Sat Nov 04, 2023 8:17 am

使用 .NET 和 Uno 平台编写一次,到处运行!

Post by miraz999 »

微软可能已经结束了对本机移动应用程序的支持,但他们继续为开发团队推广与平台无关的解决方案。在 2016 年购买Xamarin后, Xamarin.Forms的受欢迎程度有了相当大的增长,并且由于 .NET Standard 和 .NET Core 提供了一种简单直观的方法来为所有目标平台创建和管理库,C# 已迅速成为最流行的语言之一用于开发可扩展和高质量应用程序的最推荐语言。

然而,这并不意味着微软团队一切顺利。在通过以下方式创建本机应用程序时,Android 和 iOS 仍然拥有一批狂热的开发者追随者:科特林和 Swift 分别,而跨平台解决方案,如Flutter 和 React Native可以吹嘘不需要 IDE 和重型工具集来完成 Xamarin.Forms 的工作。渐进式网络应用程序都在自己的领域中,JavaScript 驱动的、精心设计的、外观和感觉都像本机应用程序的 Web 应用程序正在吸引企业。

为了给开发者提供 .NET 和 UWP(通用 Windows 平台)方面的指导,微软一直在尝试缩小旧版 Windows SDK 和 UWP 之间的界限,同时将每个人带入他们想要的未来。 NET 5/.NET 6 称霸。

新框架出现
也许了解Uno 的最简单方法是作为 Xamarin 的替代方案,在 .NET 中 阿根廷手机号码列表 开发可在 iOS、Android 和 Web 上运行的应用程序。它宣传自己是一个框架,用于“使用 C# 和 XAML 为 Web 和移动构建类似本机的应用程序”。虽然这听起来不是什么新鲜事,但 Uno 的网站确实提供了一个比较表,展示了它与现有跨平台框架的不同之处。

Uno平台

Uno平台依赖于 Android、macOS 和 iOS 的 Xamarin Native 堆栈(不要与 Xamarin.Forms 混淆),这将成为 .NET 5/.NET 6 的一部分,在 Mono-WASM 上网络组装,并在 Skia 上在 Linux 的画布上绘制 UI。它提供了在所有平台上运行单一代码库(C# 和 XAML)的能力。它构建在 Xamarin 之上,即 Xamarin Native/Xamarin Classic(Xamarin.Android、Xamarin.iOS、Xamarin.macOS,以便支持 Android、iOS 和 macOS 平台)而不是 Xamarin.Forms,尽管 Xamarin.Forms 的渲染器还可以扩展Xamarin。

Uno平台

该平台充当 UWP 和 WinUI 应用程序在 macOS、Android、iOS、WebAssembly 和 Linux 上本地运行的桥梁。C# 和 XAML 源代码可以在不修改的情况下运行,在不同的平台上进行编译,但在运行时的行为是相同的。这Xamarin 应用程序开发团队还受益于 Windows 生态系统,该生态系统在安全性、可访问性、响应式设计等方面进行了数十年的投资。

Uno平台

这些应用程序可以像任何其他应用程序一样通过适用于Android、iOS 和 macOS 的Google Play 商店或Apple App Store进行部署,如果需要,甚至可以作为 PWA 进行部署。对于 Web,可以使用 Azure Web Apps、Azure 静态网站、Github Pages 或任何静态 Web 托管提供商和 CDN 来部署它们。

Image

Uno平台默认使用 UWP/WinUI 2D 指令来绘制 UI。它通过使用底层 2D 图元或 Skia 绘制每个像素来实现像素完美的外观。Uno 还可以选择使用适用于 Android、macOS 和 iOS 的本机 UI 元素,这使开发人员能够在需要时实现更紧密的集成。为此,可以在屏幕上的各个控件上使用 XAML 样式。

Uno 还宣传自己是唯一一个有助于创建真正单一源的多平台应用程序的开源平台。它声称 99% 的 UI 和业务逻辑在所有目标平台上得到了重用。下面提到了一些支持代码和技能重用的功能:

IDE – Visual Studio、Visual Studio Code 和 JetBrains Rider 可以用作 IDE。
XAML 热重载– XAML 热重载功能允许开发人员修改已运行的应用程序中的 XAML 显示,从而加快数据绑定和 UI 更改的迭代速度。
XAML、C# 编辑并继续– 允许开发人员编辑代码、设置任何新属性或添加任何新代码并运行,而无需重新启动整个程序。
代码审查– 与 Gitpod 和 Codespaces 的集成可以为开发人员节省审查拉取请求的时间。
Prism 库– 利用经过时间考验的开发实践和经过验证的模式来创建应用程序。
Lookless 控件– 外观在 XAML 中实现,而控件功能包含在类文件中。这为开发人员提供了更大的控制权,以呈现像素完美的 UI。
OOTB(开箱即用)响应能力– 资产自动重新定位,减轻设计人员的压力。
测试– 用于网络应用程序,Selenium 可用于测试目的,而移动应用、AppCenter 和 Xamarin.UI 测试可用。
Post Reply