Loading...
Loading...
Compare original and translation side by side
Target platforms?
|
+-- Web browser only
| --> Blazor (Server, WebAssembly, or Auto)
| See "Blazor Hosting Model Selection" below
|
+-- Windows only
| --> WinUI 3, WPF, or WinForms
| See "Windows Framework Selection" below
|
+-- Mobile (iOS / Android)
| +-- Also need desktop?
| | +-- Yes --> MAUI or Uno Platform
| | +-- No --> MAUI or Uno Platform
| |
| +-- Also need web?
| +-- Yes --> Uno Platform (WASM target) or Blazor Hybrid in MAUI
| +-- No --> MAUI or Uno Platform
|
+-- All platforms (web + mobile + desktop)
| --> Uno Platform (broadest reach)
| or Blazor Hybrid in MAUI (web UI, native shell)
|
+-- Desktop cross-platform (Windows + macOS + Linux)
--> Uno Platform or Avalonia
MAUI supports macOS/Windows but not LinuxTarget platforms?
|
+-- Web browser only
| --> Blazor (Server, WebAssembly, or Auto)
| See "Blazor Hosting Model Selection" below
|
+-- Windows only
| --> WinUI 3, WPF, or WinForms
| See "Windows Framework Selection" below
|
+-- Mobile (iOS / Android)
| +-- Also need desktop?
| | +-- Yes --> MAUI or Uno Platform
| | +-- No --> MAUI or Uno Platform
| |
| +-- Also need web?
| +-- Yes --> Uno Platform (WASM target) or Blazor Hybrid in MAUI
| +-- No --> MAUI or Uno Platform
|
+-- All platforms (web + mobile + desktop)
| --> Uno Platform (broadest reach)
| or Blazor Hybrid in MAUI (web UI, native shell)
|
+-- Desktop cross-platform (Windows + macOS + Linux)
--> Uno Platform or Avalonia
MAUI supports macOS/Windows but not Linux| Team Strength | Strong Fit | Moderate Fit | Steeper Curve |
|---|---|---|---|
| WPF / WinUI XAML | WPF, WinUI 3 | Uno Platform (WinUI XAML surface) | Blazor (Razor syntax) |
| Web (HTML/CSS/JS) | Blazor | Uno Platform (WASM target) | WPF, WinUI (XAML) |
| Xamarin.Forms | MAUI (direct successor) | Uno Platform | Blazor, WPF |
| C# but no UI framework | WinForms (simplest), Blazor | MAUI | WPF, WinUI (XAML learning curve) |
| React / Angular | Blazor WebAssembly (SPA model) | Uno Platform (WASM) | WPF, WinUI |
| 团队优势 | 强适配 | 中等适配 | 学习曲线陡峭 |
|---|---|---|---|
| WPF / WinUI XAML | WPF, WinUI 3 | Uno Platform (WinUI XAML surface) | Blazor (Razor syntax) |
| Web (HTML/CSS/JS) | Blazor | Uno Platform (WASM target) | WPF, WinUI (XAML) |
| Xamarin.Forms | MAUI (direct successor) | Uno Platform | Blazor, WPF |
| C# but no UI framework | WinForms (simplest), Blazor | MAUI | WPF, WinUI (XAML learning curve) |
| React / Angular | Blazor WebAssembly (SPA model) | Uno Platform (WASM) | WPF, WinUI |
| UI Need | Best Fit | Also Consider |
|---|---|---|
| Rich native Windows UI (custom controls, animations) | WinUI 3, WPF | Uno Platform (WinUI surface) |
| Web-style layouts (responsive, CSS-based) | Blazor | Uno Platform (Skia rendering) |
| Simple data-entry forms, internal tools | WinForms | Blazor (Static SSR), WPF |
| Pixel-perfect cross-platform UI | Uno Platform (Skia rendering) | Avalonia |
| Platform-native look per OS | MAUI (native controls) | Uno Platform (native mode) |
| Embedded web content in desktop/mobile app | Blazor Hybrid in MAUI | Blazor Hybrid in WPF/WinForms |
| UI需求 | 最佳适配 | 其他可选 |
|---|---|---|
| 丰富的原生Windows UI(自定义控件、动画) | WinUI 3, WPF | Uno Platform (WinUI surface) |
| Web风格布局(响应式、基于CSS) | Blazor | Uno Platform (Skia rendering) |
| 简单的数据录入表单、内部工具 | WinForms | Blazor (Static SSR), WPF |
| 像素级完美的跨平台UI | Uno Platform (Skia rendering) | Avalonia |
| 各平台原生外观 | MAUI (native controls) | Uno Platform (native mode) |
| 在桌面/移动应用中嵌入Web内容 | Blazor Hybrid in MAUI | Blazor Hybrid in WPF/WinForms |
| Performance Factor | WinUI 3 | WPF | WinForms | Blazor Server | Blazor WASM | MAUI | Uno Platform |
|---|---|---|---|---|---|---|---|
| Startup time | Fast | Fast | Fast | Fast (server) | Slow (download) | Moderate | Moderate |
| Rendering | DirectX (native) | DirectX (managed) | GDI+ | Server-side HTML | Browser DOM | Platform-native | Skia or native |
| AOT support | N/A (Windows) | N/A (Windows) | N/A (Windows) | N/A (server) | Yes (.NET 8+) | Yes (required on iOS) | Yes (WASM) |
| GPU acceleration | Yes | Yes | Limited | N/A | Browser GPU | Platform GPU | Skia GPU |
| Memory per user | Local only | Local only | Local only | Server circuit | Browser sandbox | Local only | Local only |
| Offline capable | Yes | Yes | Yes | No | Yes | Yes | Yes (native targets) |
| 性能因素 | WinUI 3 | WPF | WinForms | Blazor Server | Blazor WASM | MAUI | Uno Platform |
|---|---|---|---|---|---|---|---|
| 启动时间 | 快 | 快 | 快 | 快(服务器端) | 慢(需下载) | 中等 | 中等 |
| 渲染方式 | DirectX(原生) | DirectX(托管) | GDI+ | 服务器端HTML | 浏览器DOM | 平台原生 | Skia或原生 |
| AOT支持 | N/A(Windows) | N/A(Windows) | N/A(Windows) | N/A(服务器端) | 是(.NET 8+) | 是(iOS必需) | 是(WASM) |
| GPU加速 | 是 | 是 | 有限 | N/A | 浏览器GPU | 平台GPU | Skia GPU |
| 每用户内存占用 | 仅本地 | 仅本地 | 仅本地 | 服务器连接会话 | 浏览器沙箱 | 仅本地 | 仅本地 |
| 离线支持 | 是 | 是 | 是 | 否 | 是 | 是 | 是(原生目标平台) |
| Current Framework | Natural Target | Alternative Target | Decision Factors |
|---|---|---|---|
| UWP | WinUI 3 | Uno Platform | Windows-only: WinUI 3. Cross-platform needed: Uno Platform. |
| Xamarin.Forms | MAUI | Uno Platform | Direct API successor: MAUI. Broader platform reach: Uno Platform. |
| WPF (.NET Framework) | WPF on .NET 8+ | WinUI 3 or Uno Platform | Minimal risk: WPF .NET 8+. Modern UI: WinUI 3. Cross-platform: Uno Platform. |
| WinForms (.NET Framework) | WinForms on .NET 8+ | Blazor or WPF | Minimal risk: WinForms .NET 8+. Better UI: WPF. Web delivery: Blazor. |
| ASP.NET MVC / Razor Pages | Blazor (Static SSR) | Stay on Razor Pages | Interactive needs: Blazor. Content-heavy: Razor Pages is still valid. |
| React / Angular SPA | Blazor WebAssembly | Keep existing SPA | .NET-only team: Blazor. Existing JS team: keep SPA. |
| 当前框架 | 自然迁移目标 | 替代迁移目标 | 决策因素 |
|---|---|---|---|
| UWP | WinUI 3 | Uno Platform | 仅Windows平台:WinUI 3。需要跨平台:Uno Platform。 |
| Xamarin.Forms | MAUI(直接继任者) | Uno Platform | 直接API继任者:MAUI。更广泛的平台覆盖:Uno Platform。 |
| WPF(.NET Framework) | .NET 8+上的WPF | WinUI 3或Uno Platform | 最小风险:.NET 8+上的WPF。现代UI:WinUI 3。跨平台:Uno Platform。 |
| WinForms(.NET Framework) | .NET 8+上的WinForms | Blazor或WPF | 最小风险:.NET 8+上的WinForms。更好的UI:WPF。Web交付:Blazor。 |
| ASP.NET MVC / Razor Pages | Blazor(Static SSR) | 保留Razor Pages | 需要交互性:Blazor。内容为主:Razor Pages仍适用。 |
| React / Angular SPA | Blazor WebAssembly | 保留现有SPA | 纯.NET团队:Blazor。现有JS团队:保留SPA。 |
| Concern | Static SSR | InteractiveServer | InteractiveWebAssembly | InteractiveAuto | Blazor Hybrid |
|---|---|---|---|---|---|
| Interactivity | Forms only | Full | Full (after download) | Full | Full (native) |
| Server required | Yes (render) | Yes (persistent circuit) | Static file host only | Yes (initial), then static | No |
| Offline | No | No | Yes | Partial | Yes |
| Scalability | High | Limited by circuits | High | High (after WASM) | N/A (local) |
| First paint | Fast | Fast | Slow (WASM download) | Fast (Server first) | Instant |
| SEO | Yes | Prerender | Prerender | Prerender | N/A |
| Best for | Content sites, simple forms | Dashboards, LOB apps | Public apps, offline PWAs | Best of both worlds | Desktop/mobile with web UI |
| 关注点 | Static SSR | InteractiveServer | InteractiveWebAssembly | InteractiveAuto | Blazor Hybrid |
|---|---|---|---|---|---|
| 交互性 | 仅表单 | 完整 | 完整(下载后) | 完整 | 完整(原生) |
| 是否需要服务器 | 是(渲染) | 是(持久连接会话) | 仅需静态文件托管 | 是(初始阶段),之后静态 | 否 |
| 离线支持 | 否 | 否 | 是 | 部分支持 | 是 |
| 扩展性 | 高 | 受连接会话限制 | 高 | 高(WASM加载后) | N/A(本地运行) |
| 首次渲染速度 | 快 | 快 | 慢(WASM下载) | 快(先服务器渲染) | 即时 |
| SEO支持 | 是 | 预渲染 | 预渲染 | 预渲染 | N/A |
| 最佳适用场景 | 内容站点、简单表单 | 仪表板、LOB应用 | 公共Web应用、PWA | 兼顾两者优势 | 原生外壳中的Web UI(移动/桌面) |
| Concern | WinUI 3 | WPF (.NET 8+) | WinForms (.NET 8+) |
|---|---|---|---|
| UI paradigm | Modern XAML, Fluent Design | Classic XAML, optional Fluent (.NET 9+) | Designer-driven, drag-and-drop |
| Rendering | DirectX (Windows App SDK) | DirectX (WPF layer) | GDI+ |
| MVVM support | CommunityToolkit.Mvvm | CommunityToolkit.Mvvm, mature ecosystem | Possible but not idiomatic |
| DI / Host builder | Yes | Yes | Yes (.NET 8+) |
| High-DPI | Native | Improved in .NET 8+ | PerMonitorV2 (requires config) |
| Dark mode | Native Fluent | Application.ThemeMode (.NET 9+) | Experimental (.NET 9+) |
| Touch / pen | Full support | Basic support | Limited |
| Learning curve | Moderate (XAML) | Moderate (XAML) | Low |
| Maturity | Newer (2021+) | Very mature (2006+) | Very mature (2002+) |
| UWP migration path | Direct | Indirect (XAML differences) | N/A |
| 关注点 | WinUI 3 | WPF(.NET 8+) | WinForms(.NET 8+) |
|---|---|---|---|
| UI范式 | 现代XAML、Fluent设计 | 经典XAML,可选Fluent(.NET 9+) | 设计器驱动、拖拽式 |
| 渲染方式 | DirectX(Windows App SDK) | DirectX(WPF层) | GDI+ |
| MVVM支持 | CommunityToolkit.Mvvm | CommunityToolkit.Mvvm、成熟生态系统 | 可行但非惯用方式 |
| DI / Host builder | 是 | 是 | 是(.NET 8+) |
| 高DPI支持 | 原生支持 | .NET 8+中已改进 | PerMonitorV2(需配置) |
| 深色模式 | 原生Fluent支持 | Application.ThemeMode(.NET 9+) | 实验性(.NET 9+) |
| 触摸/手写笔支持 | 完整支持 | 基础支持 | 有限支持 |
| 学习曲线 | 中等(XAML) | 中等(XAML) | 低 |
| 成熟度 | 较新(2021+) | 非常成熟(2006+) | 非常成熟(2002+) |
| UWP迁移路径 | 直接迁移 | 间接(XAML差异) | N/A |
| Concern | MAUI | Uno Platform | Avalonia |
|---|---|---|---|
| Target platforms | iOS, Android, macOS, Windows, Tizen | iOS, Android, macOS, Windows, Linux, Web (WASM) | iOS, Android, macOS, Windows, Linux, Web (WASM) |
| UI rendering | Platform-native controls | Skia (pixel-perfect) or platform-native | Skia (pixel-perfect) |
| XAML dialect | MAUI XAML (Xamarin.Forms successor) | WinUI XAML surface | Avalonia XAML (WPF-inspired) |
| Hot Reload | XAML + C# Hot Reload | XAML + C# Hot Reload | XAML Hot Reload |
| Maintainer | Microsoft (first-party) | Uno Platform (open source, commercial support) | Community (open source, commercial support) |
| Ecosystem | NuGet + MAUI Community Toolkit | NuGet + Uno Toolkit + Uno Extensions | NuGet + Avalonia community |
| Blazor Hybrid | Built-in (BlazorWebView) | Supported | Not built-in |
| Linux desktop | Not supported | Supported (Skia + GTK/Framebuffer) | Supported |
| Web (WASM) | Not supported | Supported | Supported (browser) |
| Migration from | Xamarin.Forms (direct) | UWP (direct WinUI surface) | WPF (similar XAML) |
| 关注点 | MAUI | Uno Platform | Avalonia |
|---|---|---|---|
| 目标平台 | iOS、Android、macOS、Windows、Tizen | iOS、Android、macOS、Windows、Linux、Web(WASM) | iOS、Android、macOS、Windows、Linux、Web(WASM) |
| UI渲染方式 | 平台原生控件 | Skia(像素级完美)或平台原生 | Skia(像素级完美) |
| XAML方言 | MAUI XAML(Xamarin.Forms继任者) | WinUI XAML层面 | Avalonia XAML(WPF启发) |
| 热重载 | XAML + C#热重载 | XAML + C#热重载 | XAML热重载 |
| 维护方 | 微软(官方) | Uno Platform(开源、商业支持) | 社区(开源、商业支持) |
| 生态系统 | NuGet + MAUI Community Toolkit | NuGet + Uno Toolkit + Uno Extensions | NuGet + Avalonia社区 |
| Blazor Hybrid支持 | 内置(BlazorWebView) | 支持 | 非内置 |
| Linux桌面支持 | 不支持 | 支持(Skia + GTK/Framebuffer) | 支持 |
| Web(WASM)支持 | 不支持 | 支持 | 支持(浏览器) |
| 迁移来源 | Xamarin.Forms(直接迁移) | UWP(直接WinUI层面) | WPF(相似XAML) |
| Framework | Platforms | Rendering | XAML | Offline | AOT | Best For |
|---|---|---|---|---|---|---|
| Blazor Server | Web | Server HTML | Razor | No | N/A | LOB apps, dashboards |
| Blazor WASM | Web | Browser DOM | Razor | Yes | Yes | Public web apps, PWAs |
| Blazor Hybrid | Mobile + Desktop | WebView | Razor | Yes | Partial | Web UI in native shell |
| MAUI | Mobile + Desktop | Native | MAUI XAML | Yes | iOS required | Mobile-first apps |
| Uno Platform | All | Skia / Native | WinUI XAML | Yes | WASM | Broadest reach |
| Avalonia | Desktop + Mobile | Skia | Avalonia XAML | Yes | Partial | Linux desktop, WPF teams |
| WinUI 3 | Windows | DirectX | WinUI XAML | Yes | N/A | Modern Windows apps |
| WPF | Windows | DirectX | WPF XAML | Yes | N/A | Mature Windows apps |
| WinForms | Windows | GDI+ | None (designer) | Yes | N/A | Internal tools, prototypes |
| 框架 | 平台 | 渲染方式 | XAML | 离线支持 | AOT | 最佳适用场景 |
|---|---|---|---|---|---|---|
| Blazor Server | Web | 服务器端HTML | Razor | 否 | N/A | LOB应用、仪表板 |
| Blazor WASM | Web | 浏览器DOM | Razor | 是 | 是 | 公共Web应用、PWA |
| Blazor Hybrid | 移动+桌面 | WebView | Razor | 是 | 部分支持 | 原生外壳中的Web UI |
| MAUI | 移动+桌面 | 原生 | MAUI XAML | 是 | iOS必需 | 移动为先的应用 |
| Uno Platform | 全平台 | Skia / 原生 | WinUI XAML | 是 | WASM支持 | 最广泛的平台覆盖 |
| Avalonia | 桌面+移动 | Skia | Avalonia XAML | 是 | 部分支持 | Linux桌面、WPF团队 |
| WinUI 3 | Windows | DirectX | WinUI XAML | 是 | N/A | 现代Windows应用 |
| WPF | Windows | DirectX | WPF XAML | 是 | N/A | 成熟Windows应用 |
| WinForms | Windows | GDI+ | 无(设计器) | 是 | N/A | 内部工具、原型 |