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.
См. также
- Microsoft Visual Studio
- ClickOnce
- Abstract Window Toolkit
- Visual Component Library, Borland VCL
- Visual Test, инструмент автоматизации тестирования ГПИ
Примечания
- ↑ Smith, Josh WPF vs. Windows Forms (5 сентября 2007). Архивировано из первоисточника 8 февраля 2012. Проверено 26 июля 2008.
- ↑ 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.
- ↑ Chand, Mahesh Future of Windows Forms and ASP.NET (8 мая 2008). Архивировано из первоисточника 8 февраля 2012. Проверено 26 июля 2008.
Ссылки
- MSDN: Building Windows Forms applications (англ.)
- MSDN : Windows.Forms reference documentation (англ.)
- MSDN : Windows Forms Technical Articles - Automating Windows Form with Visual Test (англ.)
- Official community site (англ.)
- Jeff Prosise: «Windows Forms: Современная модель программирования для создания GUI приложений» (рус.)
![]() |
|
---|---|
Низко-уровневые | Macintosh Toolbox/Carbon • Windows 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 Classes • Windows Template Library • SmartWin++ • Object Windows Library • Visual Component Library • Windows Forms • Windows Presentation Foundation UNIX, под X Xaw • Motif • LessTif • InterViews Кросс-платфор-менные На основе Flash ASWing • Adobe Flex • Gnash • SWF2EXE Software На основе XML,AJAX или SVG Ample SDK • CougarXML • Dojo Toolkit • Echo • ExtJS • GladeXML • Google Web Toolkit • jQuery • Lively Kernel • MooTools • Pyjamas • qooxdoo • Rialto Toolkit • script.aculo.us • XML User Interface • XUL • Yahoo! UI Library На основе Java Abstract Window Toolkit • Swing • Standard Widget Toolkit • Qt Jambi На основеC или C++ Agar • CEGUI • Component Library for Cross Platform • dlib C++ Library • FLTK • FOX toolkit • OpenGL User Interface Library • GTK+ • IUP • Juce • JX Application Framework • Qt • TnFOX • Visual Component Framework • wxWidgets • YAAF • XForms • XVT • Ultimate++ На основе Common Lisp CAPI • Common Graphics • CLIM • McCLIM • Garnet На основе Pascal IP Pascal • Lazarus • fpGUI • FireMonkey На основе Python Pyjamas • PyQt • PyGTK • PyGUI • wxPython • PySide • Tkinter На основе Objective C GNUstep На основе других Tk |