年份仅支持 Windows跨平台支持 XAML?已废弃?备注
1991OWLYES
1992MFC
1995VCL
2001OWLNext
2001CLXYES
2001LCLLazarus Component Library
2002WinForms.Net Framework 1.0
2005WTL 7.5MFC 的轻量替代
2006WPFYES.Net Framework 3.0,引入 XAML,使用 C# 实现
2007SilverlightYESYES使用 C++ 实现,与 Flash、Java Applet 竞争
2009~~~~~~~~~~~~~~~~Windows 7
2011FMXEmbarcadero FireMonkey
2012WinRT + WinUI 1(WinRT XAML)YESYESWindows 8
2013AvaloniaYES受 WPF 启发
2014Xamarin.FormsYESYES
2015UWP + WinUI 1(UWP XAML)YESYESWindows 10,扩展 WinRT
2016~~~~~~~~~~~~~~~~.Net Core 1.0
2018~~~~~~~~~~~~~~~~WinForms 和 WPF 开源
2018UWP + WinUI 2YESYES
2018Uno PlatformUWP 的跨平台版本
2020~~~~~~~~~~~~~~~~.Net 5,合并 .Net Framework 和 .Net Core
2021~~~~~~~~~~~~~~~~Windows 11
2021WinUI 3YES独立库,支持 WinForms/WPF/UWP/MAUI
2021MAUIYES.Net 6,继承 Xamarin.Forms

总结:

  1. LCL、FMX、Avalonia、Uno Platform、MAUI 跨平台;
  2. 截止 2024 年底 MAUI 还不成熟;
  3. UWP 已废弃;
  4. WinUI 是 Windows 专用, 几乎死了;
  5. WinForms 和 WPF 部分跨平台,基本是 Windows 专用;
  6. WinForms 是 Delphi、VisualBasic 的 RAD 风格,WPF 引入了 XAML,目前 WPF 用的人最多。

参考:

  1. PublicDocs/XAMLFrameworkComparison.md at master · robloo/PublicDocs · GitHub