- Windows Forms
-
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 XCocoa • MacApp • MacZoop • PowerPlant
Microsoft
WindowsMicrosoft Foundation Classes • Windows Template Library • SmartWin++ • Object Windows Library • Visual Component Library • Windows Forms • Windows Presentation Foundation
UNIX, под X Кросс-
платфор-
менныеНа основе Flash ASWing • Adobe Flex • Gnash • SWF2EXE Software
На основе XML,
AJAX или SVGAmple 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 На основе
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 На основе Objective C На основе других Категории:- .NET Framework
- Библиотеки виджетов
Wikimedia Foundation. 2010.