微軟官方「.NET 企業應用架構指南」核心觀點整理,涵蓋 Web、桌面、行動、服務、雲端、遷移策略,協助架構師在龐大技術棧中做出決策。
| 場景 | 推薦技術 | 避免技術 |
|---|---|---|
| 企業級 SPA/SSG | Blazor WebAssembly / Server、ASP.NET Core MVC + Razor Pages、React/Angular/Vue (前後端分離) | Silverlight、Flash、WebForms (新專案) |
| 快速 CRUD/內部工具 | Blazor Server、Radzen/Blazorise 元件庫、Low-code (Power Apps) | ASP.NET Web Pages、LightSwitch |
| 行動 Web / PWA | Blazor PWA、ASP.NET Core + Service Worker、Capacitor/Ionic | 舊版 Mobile Controls |
**Silverlight/Flash 徹底退場**:微軟 2021 年結束支援,現有專案應規劃遷移至 Blazor/WebAssembly 或原生行動應用。
| 平台 | 首選 | 備選 | 關鍵考量 |
|---|---|---|---|
| iOS / Android | .NET MAUI (單一專案、原生 UI) | Xamarin.Forms (維護模式)、Blazor Hybrid (WebView + 原生) | 團隊 .NET 技能複用、效能接近原生 |
| Windows 桌面 | WPF / WinUI 3 (WinAppSDK) | WinForms (維護)、UWP (功能凍結) | WPF 生態成熟,WinUI 3 代表未來 |
| 跨平台桌面 | .NET MAUI、Electron.NET、Avalonia | GTK#、Eto.Forms | MAUI 桌面成熟度持續提升中 |
| 風格 | 技術 | 適用場景 |
|---|---|---|
| RESTful HTTP API | ASP.NET Core Web API (首選) | 公共 API、微服務、前後端分離 |
| gRPC | ASP.NET Core gRPC (HTTP/2、Protobuf) | 內部微服務高效通訊、強類型契約 |
| GraphQL | HotChocolate / GraphQL.NET | 複雜查詢彈性、多客戶端聚合 |
| 即時雙向 | SignalR (WebSocket/SSE/LP 自動協商) | 聊天、協作編輯、即時儀表板 |
| 工作流/長流程 | MassTransit / NServiceBus / Azure Logic Apps | 分散式 Saga、可靠訊息、狀態機 |
| 傳統 WCF | WCF (CoreWCF 移植版) | 僅限舊系統整合、SOAP 強制場景 |
**Web API 為預設選擇**,除非有明確理由 (gRPC 效能、GraphQL 彈性、SignalR 即時、WCF 相容)。OData 內建於 Web API,支援 `$filter`/`$expand` 等標準查詢。

| 採用 | 試用 | 評估 | 暫緩 |
|---|---|---|---|
| .NET 8 LTS、ASP.NET Core、EF Core、Blazor、MAUI、SignalR、gRPC、Dapper、OpenTelemetry、Docker/K8s | ASP.NET Core Minimal API、.NET Aspire、WebAssembly SIMD、AOT 編譯、C# 12 primary constructors | WebAssembly GC、Native AOT 完整支援、MAUI Linux 桌面、Orleans 虛擬 Actor | Silverlight、Flash、WebForms、WCF (新專案)、EF6、project.json、.NET Framework 4.x 新專案 |
技術選型無銀彈,**團隊技能、業務約束、長期維護成本** 三角權衡。微軟指南提供方向,最終決策在架構師手中。