年份 仅支持 Windows 跨平台 支持 XAML? 已废弃? 备注
1991 OWL YES
1992 MFC
1995 VCL
2001 OWLNext
2001 CLX YES
2001 LCL Lazarus Component Library
2002 WinForms .Net Framework 1.0
2005 WTL 7.5 MFC 的轻量替代
2006 WPF YES .Net Framework 3.0,引入 XAML,使用 C# 实现
2007 Silverlight YES YES 使用 C++ 实现,与 Flash、Java Applet 竞争
2009 ~~~~ ~~~~ ~~~~ ~~~~ Windows 7
2011 FMX Embarcadero FireMonkey
2012 WinRT + WinUI 1(WinRT XAML) YES YES Windows 8
2013 Avalonia YES 受 WPF 启发
2014 Xamarin.Forms YES YES
2015 UWP + WinUI 1(UWP XAML) YES YES Windows 10,扩展 WinRT
2016 ~~~~ ~~~~ ~~~~ ~~~~ .Net Core 1.0
2018 ~~~~ ~~~~ ~~~~ ~~~~ WinForms 和 WPF 开源
2018 UWP + WinUI 2 YES YES
2018 Uno Platform UWP 的跨平台版本
2020 ~~~~ ~~~~ ~~~~ ~~~~ .Net 5,合并 .Net Framework 和 .Net Core
2021 ~~~~ ~~~~ ~~~~ ~~~~ Windows 11
2021 WinUI 3 YES 独立库,支持 WinForms/WPF/UWP/MAUI
2021 MAUI YES .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