Windows Forms | это... Что такое Windows Forms? (original) (raw)

Windows Forms — название интерфейса программирования приложений (API), отвечающего за графический интерфейс пользователя и являющегося частью Microsoft .NET Framework. Данный интерфейс упрощает доступ к элементам интерфейса Microsoft Windows за счет создания обертки для существующего Win32 API в управляемом коде. Причем управляемый код — классы, реализующие API для Windows Forms, не зависят от языка разработки. То есть программист одинаково может использовать Windows Forms как при написании ПО на C#, С++, так и на VB.Net, J# и др.

С одной стороны Windows Forms рассматривается как замена более старой и сложной библиотеке MFC, изначально написанной на языке C++, но с другой стороны, WF не предлагает парадигму, сравнимую с MVC. Для исправления этой ситуации и реализации данного функционала в WF существуют сторонние библиотеки. Одной из наиболее используемых подобных библиотек является User Interface Process Application Block, выпущенная специальной группой Microsoft, занимающейся примерами и рекомендациями, для бесплатного скачивания. Эта библиотека также содержит исходный код и обучающие примеры для ускорения обучения.

Внутри .NET Framework, Windows Forms реализуется в рамках пространства имён System.Windows.Forms.

История и развитие

Как и Abstract Window Toolkit (AWT) (схожий API для языка Java) библиотека Windows Forms была разработана как часть .NET Framework для упрощения разработки компонентов графического интерфейса пользователя. Windows Forms построена на основе устаревающего Windows API и представляет собой по сути обертку нижележащих компонентов Windows.

Windows Forms предоставляет возможность разработки кроссплатформенного графического пользовательского интерфейса. С выходом .NET Framework 3.0 (в составе Windows Vista) Windows Forms была заменена каркасом Windows Presentation Foundation (и его языком описания ГПИ XAML). Поскольку WPF является относительно новой разработкой, то пока что неизвестно, будет ли продолжено развитие Windows Forms в будущих выпусках .NET.[1][2][3]

Архитектура

Приложение Windows Forms представляет собой событийно-ориентированное приложение, поддерживаемое Microsoft .NET Framework. В отличие от пакетных программ большая часть времени тратится на ожидание от пользователя каких-либо действий, как например, ввод текста в текстовое поле или клика мышкой по кнопке.

Альтернативные реализации

Mono - проект, финансируемый Novell (ранее - Ximian), одна из задач которого - создать стандарт Ecma, совместимый с набором инструментов .NET.

13 мая 2008 года API Mono System.Windows.Forms 2.0 была завершена (содержала 100% классов, методов и т.д. из Microsoft System.Windows.Forms 2.0); также System.Windows.Forms 2.0 естественым образом работает и на Mac OS X.

См. также

Примечания

  1. Smith, Josh WPF vs. Windows Forms (5 сентября 2007). Архивировано из первоисточника 8 февраля 2012. Проверено 26 июля 2008.
  2. Harsh, Mike WPF vs. Windows Forms (20 сентября 2004). — «_If you’re targeting only Windows XP and Longhorn, Avalon is the way to go. But Windows Forms is still the only way to write managed UI that will run on Win 2K and below_» Архивировано из первоисточника 8 февраля 2012. Проверено 26 июля 2008.
  3. Chand, Mahesh Future of Windows Forms and ASP.NET (8 мая 2008). Архивировано из первоисточника 8 февраля 2012. Проверено 26 июля 2008.

Ссылки

Просмотр этого шаблона .NET Framework
Архитектура Base Class LibraryCommon Language Infrastructure.NET assemblyметаданныеCOM Interop
Инфраструктура Common Language RuntimeCommon Type SystemCommon Intermediate Language • Virtual Execution System • Dynamic Language Runtime
Языки Microsoft C#Visual Basic .NETC++/CLI (Managed) • Visual J#JScript .NETWindows PowerShellIronPythonIronRubyF#Spec#Sing#
Другие языки A#Boo • IronLisp • L# • NemerleP#PascalABC.NETPHPScalaCobra • Delphi Prism
Windows Foundations PresentationCommunicationWorkflow
Компоненты ADO.NET (Entity Framework · Data Services) · ASP.NET (AJAX · MVC · Dynamic Data) · .NET Remoting · Language Integrated Query · Windows CardSpace · Windows Forms · XAML · ClickOnce · Dynamic Language Runtime · Parallel FX Library (PLINQ · TPL)
Реализации DotGNUMono.NET Compact Framework (Xbox 360) • .NET Micro FrameworkPortable.NETXNA FrameworkSilverlight • Shared Source Common Language Infrastructure
Сравнения C# и Java • C# и Visual Basic .NET
Будущие технологии Acropolis • Jasper
Просмотр этого шаблона Инструменты разработки элементов графического интерфейса
Низко-уровневые Macintosh Toolbox/CarbonWindows API • Intrinsics • Intuition • Xlib
Высоко-уровневые Amiga OS BOOPSI • Magic User Interface • Zune • ReAction GUI Mac OS и Mac OS X Cocoa • MacApp • MacZoop • PowerPlant Microsoft Windows Microsoft Foundation ClassesWindows Template Library • SmartWin++ • Object Windows LibraryVisual Component LibraryWindows FormsWindows Presentation Foundation UNIX, под X XawMotifLessTif • InterViews Кросс-платфор-менные На основе Flash ASWing • Adobe FlexGnash • SWF2EXE Software На основе XML,AJAX или SVG Ample SDK • CougarXML • Dojo Toolkit • Echo • ExtJSGladeXMLGoogle Web ToolkitjQuery • Lively Kernel • MooTools • Pyjamas • qooxdoo • Rialto Toolkit • script.aculo.us • XML User Interface • XULYahoo! UI Library На основе Java Abstract Window ToolkitSwingStandard Widget ToolkitQt Jambi На основеC или C++ Agar • CEGUI • Component Library for Cross Platform • dlib C++ Library • FLTKFOX toolkit • OpenGL User Interface Library • GTK+IUPJuce • JX Application Framework • Qt • TnFOX • Visual Component Framework • wxWidgets • YAAF • XForms • XVT • Ultimate++ На основе Common Lisp CAPI • Common Graphics • CLIM • McCLIM • Garnet На основе Pascal IP Pascal • LazarusfpGUIFireMonkey На основе Python Pyjamas • PyQtPyGTK • PyGUI • wxPython • PySideTkinter На основе Objective C GNUstep На основе других Tk