WikiDer > Список наборов инструментов для виджетов
В этой статье представлен список наборы инструментов для виджетов (также известен как Фреймворки GUI), используемый для построения графический интерфейс пользователя (GUI) программ, организованных по их взаимосвязи с различными операционные системы.
Наборы инструментов для виджетов низкого уровня
Интегрирован в Операционная система
- OS X использует Какао. Использование Mac OS9 и OS X Углерод для 32-битных приложений.
- В Windows API используется в Майкрософт Виндоус. До 2006 года Microsoft интегрировала графические функции в ядро.[1]
- В Хайку операционная система использует расширенную и модернизированную версию Be API который использовался его духовным предшественником BeOS. Ожидается, что Haiku Inc. в какой-то момент откажется от бинарной совместимости и совместимости исходного кода с BeOS, что приведет к созданию собственного Haiku API.
Как отдельный слой поверх операционной системы
- В X Window System содержит примитивные строительные блоки, называемые Xt или "Внутренние", но они в основном используются только старыми инструментами, такими как: OLIT, Мотив и Xaw. Самые современные инструменты, такие как GTK + или же Qt, обойти их и использовать Xlib или же XCB прямо.
- В Amiga OS Интуиция раньше присутствовал в Амиге Кикстарт ROM и интегрировалась с библиотекой виджетов среднего и высокого уровня, которая вызывала Верстак Родная Amiga GUI. Начиная с Amiga OS 2.0, Intuition.library стала объектно-ориентированной и дисковой. Также Workbench.library и Icon.library стали основаны на дисках, и их можно было заменить аналогичными решениями сторонних производителей.
- С 2005 года Microsoft убрала графическую систему из ядра Windows.[2]
Наборы инструментов для виджетов высокого уровня
Зависит от ОС
На Amiga
- BOOPSI (Базовая система объектно-ориентированного программирования для интуиции) была представлена в ОС 2.0 и расширена с помощью системы классов, в которой каждый класс представляет отдельный виджет или описывает событие интерфейса. Это привело к эволюции, в ходе которой сторонние разработчики реализовали свои собственные системы классов.
- MUI: объектно-ориентированный инструментарий графического интерфейса и официальный инструментарий для MorphOS.
- ReAction: объектно-ориентированный инструментарий графического интерфейса и официальный инструментарий для AmigaOS.
- Zune (инструментарий GUI) это клон MUI с открытым исходным кодом и официальный набор инструментов для AROS.
На Macintosh
- Какао - используется в OS X (смотрите также Аква).
- MacApp Фреймворк Macintosh.
- Электростанция Фреймворк Macintosh.
На Майкрософт Виндоус
- В Классы Microsoft Foundation (MFC), оболочка C ++ для Windows API.
- В Библиотека шаблонов Windows (WTL), расширение на основе шаблона для ATL и замена MFC
- В Библиотека объектов Windows (СОВА), Borlandальтернатива MFC.
- В Библиотека визуальных компонентов (VCL) - это Embarcaderoинструментарий, используемый в C ++ Builder и Delphi. Он является оболочкой для собственных элементов управления Windows, предоставляя объектно-ориентированные классы и визуальный дизайн, хотя при необходимости также разрешает доступ к базовым дескрипторам и другим деталям WinAPI. Первоначально он был реализован как преемник СОВА, пропуская стиль создания пользовательского интерфейса OWL / MFC, который к середине девяностых годов был устаревшей моделью дизайна.[3]
- Windows Forms это Microsoft .СЕТЬ набор классов, которые обрабатывают элементы управления графическим интерфейсом. В кросс-платформенной Мононуклеоз реализации, это независимый инструментарий, полностью реализованный в управляемый код (без обертывания Windows API, которого нет на других платформах).[4] Дизайн WinForms очень похож на дизайн VCL.
- В Windows Presentation Foundation графическая подсистема .NET Framework 3.0. Пользовательские интерфейсы могут быть созданы в WPF с использованием любого из CLR языки (например, C #) или с XML-основанный язык XAML. Смесь Microsoft Expression - визуальный конструктор графического интерфейса для WPF.
На Unixв системе X Window
Обратите внимание, что X Window System изначально изначально предназначался для Unix-подобных операционных систем, но теперь он работает и в Microsoft Windows, например, с помощью Cygwin, поэтому некоторые или все эти наборы инструментов также можно использовать в Windows.
- LessTif, Открытый исходный код (LGPL) версия Motif.
- Муолит, мост между дизайном OPEN LOOK и Motif
- Мотив используется в Общая среда рабочего стола.
- OLIT, основанный на Xt ОТКРЫТЬ СМОТРЕТЬ набор встроенных инструментов
- Xaw, то Проект Афина набор виджетов для X Window System.
- XView, а SunView совместимый набор инструментов OPEN LOOK
Кроссплатформенность
На основе C (включая привязки на другие языки)
- Элементарный, Открытый исходный код (LGPL), часть Библиотеки Фонда Просвещения, быстрая, стабильная и масштабируемая библиотека, которую можно использовать для создания как многофункциональных, так и быстрых приложений, которые можно использовать на чем угодно, от повседневных настольных компьютеров до небольших КПК и телевизионных приставок.
- GTK +, Открытый исходный код (LGPL), в первую очередь для X Window System, портированной на другие платформы и эмулированной под ними; используется в ГНОМ, Rox, LXDE и Xfce окружения рабочего стола. Порт Windows поддерживает собственные виджеты.
- IUP, Открытый исходный код (Массачусетский технологический институт), минималистичный набор инструментов с графическим интерфейсом на ANSI C для Windows, UNIX и Linux.
- Тк, Открытый исходный код (В стиле BSD), набор виджетов, доступ к которому осуществляется из Tcl и другие языки сценариев высокого уровня (с интерфейсом Python так как Ткинтер).
- XForms, Библиотека форм для Икс
- XVT, Расширяемый виртуальный инструментарий
На основе C ++ (включая привязки на другие языки)
- CEGUI, Открытый исходный код (Лицензия MIT), кроссплатформенный инструментарий виджетов, разработанный для игра разработка, но также можно использовать для разработки приложений и инструментов. Поддерживает несколько рендереров и дополнительных библиотек.
- ФЛТК, Открытый исходный код (LGPL), кроссплатформенный инструментарий, разработанный, чтобы быть маленьким и быстрым.
- Набор инструментов FOX, Открытый исходный код (LGPL), кроссплатформенный инструментарий.
- GLUI, очень небольшой набор инструментов, написанный на GLUT библиотека.
- gtkmm, Версия GTK + для C ++
- Juce предоставляет графический интерфейс и набор виджетов с одинаковым внешним видом в Microsoft Windows, X Window Systems, OS X и Android. Рендеринг может быть основан на OpenGL.
- Нана C ++, Открытый исходный код (Лицензия Boost), кроссплатформенный инструментарий, предназначенный для программирования современного графического интерфейса C ++.
- Qt, проприетарный и Открытый исходный код (GPL, LGPL) доступны под Unix и Linux (с X11 или Wayland), MS Windows (Desktop, CE и Phone 8), OS X, iOS, Android, BlackBerry 10 и встроенным Linux; используется в KDE, Троица, LXQt, и Люмина окружение рабочего стола, оно также используется в Ubuntu Единство ракушка.
- Разбойная волна Просмотры (ранее ILOG Views) предоставляет графический интерфейс и графическую библиотеку для Windows и основных платформ X11.
- TnFOX, Открытый исходный код (LGPL), инструментарий переносимости.
- Окончательный ++ это бесплатный Win32/X11 фреймворк приложения в комплекте с IDE (Лицензия BSD)
- В Каркас визуальных компонентов (VCF) - это Открытый исходный код (Лицензия BSD) Фреймворк C ++.
- wxWidgets (ранее wxWindows), Открытый исходный код (расслабленный LGPL), абстрагирует наборы инструментов на нескольких платформах для C ++, Python, Perl, Рубин и Haskell.
- Рамка для применения цинка, кроссплатформенный инструментарий виджетов.
На основе OpenGL
- Беспорядок (LGPL) (на языке C) - это программная библиотека с открытым исходным кодом для создания быстрых, визуально насыщенных и анимированных графических пользовательских интерфейсов.
На основе Вспышка
- Adobe Flash позволяет создавать виджеты, работающие в большинстве веб-браузеров и на нескольких мобильных телефонах.
- Adobe Flex предоставляет виджеты высокого уровня для создания пользовательских веб-интерфейсов. В Flex можно использовать виджеты Flash.
- Виджеты Flash и Flex будут работать без веб-браузера в Adobe AIR среда выполнения.
На основе Идти
- Файн, Открытый исходный код (BSD) основан на принципах материального дизайна для создания приложений, которые выглядят и ведут себя одинаково в Windows, macOS, Linux, BSD, Android и iOS.
На основе XML
- GladeXML с GTK +
- XAML с Silverlight или же Лунный свет
- XUL
На основе JavaScript
Общий
- Капучино
- jQuery UI
- MooTools
- Qooxdoo Может пониматься как Qt для Интернета
- Script.aculo.us
Фреймворк полного стека
- Эхо3
- SproutCore
- Пользовательский интерфейс Telerik для ASP / PHP / JSP / Silverlight
- Ваадин - Ява
- ZK - Веб-платформа Java для создания многофункциональных Ajax и мобильных приложений.
На основе ресурсов
- Google Web Toolkit (GWT)
- Pyjs
- FBML Язык разметки Facebook
Больше не разрабатывается
- Набор инструментов Rialto
- Юй (Библиотека пользовательского интерфейса Yahoo!)
На основе SVG
- Рафаэль это набор инструментов JavaScript для интерфейсов и анимации SVG
На основе .СЕТЬ
- Gtk #, Оболочки C # вокруг базового GTK + и ГНОМ библиотеки, написанные на C и доступен в Linux, MacOS и Windows.
- Windows Forms. Существует оригинальная реализация Microsoft, которая является оболочкой вокруг Windows API и работает в окнах, а у Моно альтернативная реализация это кроссплатформенный.
На основе Ява
- В Набор инструментов для абстрактного окна (AWT) - это Sun Microsystems'оригинальный инструментарий виджетов для приложений Java. Обычно он использует другой набор инструментов на каждой платформе, на которой работает.
- Качать поддерживается более богатый инструментарий виджетов, так как J2SE 1.2 в качестве замены виджетов AWT. Swing - это легкий набор инструментов, то есть он не полагается на собственные виджеты.
- Apache Pivot - это платформа с открытым исходным кодом для создания полнофункциональных веб-приложений на Java или любом JVM-совместимом языке, основанная на наборе инструментов виджетов WTK.
- JavaFX и FXML.
- В Стандартный набор инструментов виджетов (SWT) - это набор инструментов для встроенных виджетов для Java, который был разработан как часть Затмение проект. SWT использует стандартный набор инструментов для работающей платформы (например, Windows API, OS X Cocoa или GTK +).
- java-gnome обеспечивает привязку к GTK инструментарий и другие библиотеки ГНОМ среда рабочего стола
- Qt Jambi, официальная привязка Java к Qt от Троллтех. Коммерческая поддержка и развитие остановлены[5]
На основе Object Pascal
- FireMonkey или FMX - это кроссплатформенный виджет и графическая библиотека, распространяемая с Delphi и C ++ Builder начиная с версии XE2 в 2011 году. Он имеет привязки для C ++ через C ++ Builder и поддерживает Windows, macOS, iOS, Android и, наконец, Linux. FireMonkey поддерживает как собственные виджеты платформы, такие как собственный элемент управления редактированием, так и настраиваемые виджеты, стилизованные так, чтобы выглядеть родными для целевой операционной системы. Его графика ускоряется на GPU, поддерживает стили и смешивает собственные элементы управления реализацией с собственными системными элементами управления, что позволяет приложениям использовать собственное поведение там, где это важно (например, для IME ввод текста.)
- IP Паскаль использует графическую библиотеку, построенную на основе стандартных языковых конструкций. Также необычно, потому что это кроссплатформенный процедурный инструментарий (без обратных вызовов и других уловок), полностью совместимый снизу вверх со стандартными парадигмами последовательного ввода и вывода. Можно запускать полностью стандартные программы с последовательным выводом и расширять их графическими конструкциями.
- Лазарь LCL (за Паскаль, Object Pascal и Delphi через Free Pascal компилятор), библиотеку классов для GTK + 1.2, Gtk + 2.x и Windows API (поддержка Carbon, Windows CE и Qt4 находится в стадии разработки).
- fpGUI создается с Free Pascal компилятор. Он не полагается на какие-либо большие библиотеки 3rdParty и в настоящее время работает в Linux, Windows, Windows CE и Mac (через X11). Порт Carbon (OS X) находится в стадии разработки.
- CLX (Библиотека компонентов для кроссплатформенности) использовалась с Borland'снег Embarcaderos) Delphi, C ++ Builder, и Kylix, для создания кроссплатформенных приложений между Windows и Linux. Это было основано на Qt, завернутый таким образом, чтобы его программный интерфейс был похож на интерфейс VCL Инструментарий. Он больше не поддерживается и не распространяется, и был заменен на FireMonkey, новый инструментарий, который также поддерживает больше платформ с 2011 года.
На основе Цель-C
На основе Рубин
- Обувь (набор инструментов GUI) это кроссплатформенный фреймворк для разработки графического пользовательского интерфейса.
Еще не классифицировано
Сравнение наборов инструментов виджетов
Инструментарий | изначальный выпуск | Последний релиз | Главный язык | Привязки | Инструменты | Лицензия | Плюсы | Минусы | Бэкэнд |
---|---|---|---|---|---|---|---|---|---|
ATL, WTL | 2004 | C ++ | Visual Studio | не портативный | |||||
AWT | 1995 | Ява | портативный | ||||||
CEGUI | 2004 | 0.8.7 (28 апреля 2016 г.[±][6] | )C ++ | Python,[7] Lua (с использованием tolua ++)[8] | CEED[9] | Лицензия MIT | Бесплатная лицензия, быстрый, кроссплатформенный, портативный, бесплатный инструмент для редактирования графического интерфейса. | ||
Беспорядок | 2006 | C | Perl, Python, C #, C ++, Vala, Ruby | LGPL | GTK + и WebKit встраивание | ||||
CLX | C ++ | ||||||||
Элементарный | 2007 (EFL: 2001) | 2016 | C | JavaScript, Python, Vala, C ++ | editje, edje | LGPL | Портативный, стабильный, быстрый, удобный для пальцев | ||
ФЛТК | 1998 | 2019 | C ++ | Python (pyFLTK), Perl (FLTK.pm), Рубин (Рубин / ФЛТК), Tcl (Tcl Fltk), Коварство (хитрость), Эйфелева (IFLTK) | FLUID (дизайнер пользовательского интерфейса Fast Light) | LGPL (за исключением, которое позволяет статическое связывание) | быстрый, достаточно маленький, чтобы статическая ссылка | ограниченный выбор виджетов | |
Флаттер | 2017 | Дротик | |||||||
ЛИСА | 1997 | C ++ | Рубин (FXRuby), Python (FXPy), Эйфелева (EiffelFox) | единообразно на разных платформах | неродной внешний вид | ||||
Файн | 2018 | 2020 (1.3.2) | Идти | BSD | согласован на разных платформах, нет зависимости от времени выполнения | требуется OpenGL | |||
GLUI | C ++ | ||||||||
GNUstep | 1994 | 2017 | Цель-C | Java, Ruby, Схема | Горм (вычисления) | GPL для приложений, LGPL для библиотек | Портативная, бесплатная лицензия | Родной на macOS (с какао) | X11, Win32, Wayland |
GTK + | 1997 | 3.24.4[10] (21 января 2019 г. ) [±] | C | C ++ (gtkmm), Perl (Gtk2-Perl), Рубин (ruby-gtk2), Python (PyGTK), Haskell (Gtk2Hs), Ява (java-gnome) (недоступно для Microsoft Windows), C # (Gtk #), PHP (PHP-GTK), Ада (GTKAda), D (gtkD), FreeBasic (GladeToBac), Идти (Go-GTK), OCaml (lablgtk), JavaScript (Gjs, Seed (программирование)), Фортран (gtk-fortran), Lua (lua-lgi), Р (RGtk2) и другие через GTK-сервер | Поляна | LGPL | Портативная, бесплатная лицензия | Только частично родной.[11][12] | |
IUP | 1992 | 2019[13] | C | Lua (IupLua)[14] | LEDC: компилятор для ВЕЛ | Массачусетский технологический институт | Портативный, легкий, используйте родной API, собственный внешний вид, бесплатная лицензия | Не-Unicode (только простой ASCII)[15] | |
Juce | 2004 | C ++ | Jucer | GPL, коммерческий | Кроссплатформенность, с дополнительными инструментами упаковки аудио плагинов (VST, RTAS, AAX так далее.) | ||||
MFC, WinAPI | 1992 | C ++ | Visual Studio | не портативный (но Вино реализует это для X Window) | |||||
Мотив, Лессиф | 1980-е | C | BX Pro | ||||||
Нана C ++ | 2007 | 1.2.2 (8 декабря 2015 г.[±][16] | )C ++ | VisualStudio, Dev-C ++, Code :: Blocks, GCC | портативный, легкий, современный стиль C ++ | ||||
Qt | 1991 | 5.15.2[17] (20 ноября 2020 г. ) [±] | C ++ | Рубин (QtRuby), Python (PyQt, PySide, PythonQt), Ада (QtAda), c # ( Qyoto), Ява (Qt Jambi), Паскаль ( FreePascal Qt4 ), Perl (Perl Qt4), PHP (PHP-Qt), Haskell (Qt Haskell), Lua (lqt, QtLua), Дао ( DaoQt), Tcl ( qtcl ), Common Lisp (CommonQt), D (QtD), Гавань (hbqt) | Qt Designer, Qt Creator | GPL, LGPL.[18] | Портативный, богатый набор виджетов, конструктор графического интерфейса, бесплатная лицензия, стабильная версия API | Только частично родной.[19][20][21] | |
Разбойная волна Взгляды | 1993 | 2014 (5.8) | C ++ | ivfstudio | проприетарный | портативный (Windows, Unix-like), хорошая поддержка | коммерческий | ||
Обувь (набор инструментов GUI) | 2007 | 2010 | Рубин | Лицензия MIT / Открытый исходный код | Простота, удобство использования | ||||
Качать | 1996 | Ява | Eclipse, NetBeans | GPL за OpenJDK | Портативный (Java), расширенные виджеты, конструкторы графического интерфейса | ||||
SWT | Ява | D (DWT) | Затмение | портативный | |||||
Тк | 1991 | 2015 | C, Tcl | Рубин (RubyTk), Python (Ткинтер), Perl (Perl / Tk), Ада (ТАШ), Common Lisp (LTk), Эрланг (etk), ... | | BSD | очень портативный, много языковых привязок | |||
Окончательный ++ | 2004 | 2020 | C ++ | TheIDE | BSD | портативный, NTL, бесплатная лицензия | |||
VCF | C ++ | BSD | бесплатная лицензия | ||||||
VCL | Delphi | ||||||||
Windows Forms | Языки интерфейса командной строки | Языки интерфейса командной строки | Выражение, Visual Studio | проблемы с переносимостью, нет MVC | |||||
WPF, XAML, Silverlight | 2007 | Языки интерфейса командной строки | Языки интерфейса командной строки | Выражение, Visual Studio | Проблемы с переносимостью | ||||
wxWidgets | 1992 | 3.0.5 (27 апреля 2020 г.[±][22] | )C ++ | C ++ (собственный), Ruby (wxRuby), Python (wxPython), Perl (wxPerl), Ява (wxJava, jwx!), Lua (wxLua), Tcl (wxTCL), JavaScript (GLUEscript), Болтовня (wxSqueak), Эрланг (wxErlang), Haskell (wxHaskell), C (wxC), D (wxD), .NET Framework (wxNet), Common Lisp (wxCL), Базовый (wxBasic), BlitzMax (wxMax), Эйфория (wxEuphoria), Ада (wxAda), Щука (wxPike) | VisualWx, Boa Constructor, PythonCard, Spe, XRCed, wxGlade, wxFormBuilder, DialogBlocks ($), wxDesigner ($) | Лицензия wxWindows | Портативный, богатый набор виджетов, бесплатная лицензия, семантическое сходство с MFC упрощают миграцию. | ||
Xaw, Афина | 1983 | 1.0.13[23] | C | MIT X11 | |||||
XUL | XML, JavaScript | портативный | |||||||
XVT | 1989 | 2010 | C и C ++ | Дизайн для C и архитектор для C ++ | Проприетарный | Кроссплатформенность, богатый набор виджетов, конструкторы графического интерфейса на C и C ++, очень стабильная | |||
Инструментарий | изначальный выпуск | Последний релиз | Главный язык | Привязки | Инструменты | Лицензия | Плюсы | Минусы | Бэкэнд |
Смотрите также
Рекомендации
- ^ Microsoft: Пользователь MS Windows NT в режиме ядра
- ^ Techworld: Microsoft переместит графику за пределы ядра ОС
- ^ Тейксера, Пачеко, Стив, Ксавьер (2001). Руководство разработчика Borland Delphi 6. Самс Паблишинг. п. 382. ISBN 0-672-32115-7.
- ^ Эта версия предоставляет ядро API из .NET Framework 2.0, но реализация этого API еще не завершена.
- ^ Qt Software прекратит поддержку Qt Jambi после выпуска 4.5 В архиве 26 июля 2009 г. Wayback Machine
- ^ http://cegui.org.uk/download/cegui-087
- ^ http://cegui.org.uk/wiki/PyCEGUI
- ^ http://cegui.org.uk/wiki/Exnding_your_Lua_Interface
- ^ http://cegui.org.uk/wiki/CEED
- ^ https://github.com/GNOME/gtk/releases/tag/3.24.4
- ^ Переход на клиентские окна В архиве 27 апреля 2011 г. Wayback Machine: "GDK ищет переменную среды GDK_NATIVE_WINDOWS и делает все окна родными, если она установлена. Он также пытается быть более совместимым с тем, как предыдущие версии работали другими способами."
- ^ Ужас программирования: отстойный пользовательский интерфейс: "[…] Имеет межплатформенный интерфейс на основе GTK, который дает предсказуемо мягкие результаты с наименьшим общим знаменателем:"
- ^ https://sourceforge.net/projects/iup/files/3.28/
- ^ http://www.tecgraf.puc-rio.br/iup/
- ^ Сравнение IUP с другими инструментами интерфейса: "[…] Он не поддерживает символы Unicode."
- ^ http://www.nanapro.org/en-us/
- ^ Турунен, Туукка (20 ноября 2020 г.). "Выпущен Qt 5.15.2". Блог Qt. Компания Qt. Получено 20 ноября 2020.
- ^ Нистрем, Себастьян (14 января 2009 г.). "Nokia лицензирует Qt под LGPL". Архивировано из оригинал 11 ноября 2013 г.
- ^ WxWidgets по сравнению с другими наборами инструментов: "Qt не имеет настоящих собственных портов, как у wxWidgets. Qt не использует предоставляемые системой виджеты, а имитирует их с помощью тем. Мы имеем в виду, что, хотя Qt рисует их вполне реалистично, Qt рисует свои собственные виджеты на каждом Платформа."
- ^ "Библиотека модульных классов Qt". Digia. Архивировано из оригинал 1 ноября 2013 г.
Qt использует собственные графические API-интерфейсы каждой поддерживаемой платформы, в полной мере используя системные ресурсы и обеспечивая собственный внешний вид приложений.
- ^ "API стилей Qt 4". Компания Qt.
Встроенные виджеты Qt используют [QStyle] для выполнения почти всего своего рисования, гарантируя, что они выглядят точно так же, как эквивалентные собственные виджеты.
- ^ "wxWidgets: кроссплатформенная библиотека графического интерфейса". 10 декабря 2018 г.. Получено 31 января 2019.
- ^ Алан Куперсмит (30 апреля 2015 г.). "[ОБЪЯВЛЕНИЕ] libXaw 1.0.13". [email protected] (Список рассылки). Получено 1 июля 2020.
внешняя ссылка
- Набор инструментов GUI, страница Framework, сравнивая некоторые из современных графических интерфейсов.
- Обзор наборов виджетов (для системы X Window) (Эдвард Фальк)
- Наборы инструментов GUI для системы X Window (Лесли Ползер, freshmeat.net, 27 июля 2003 г.)
- Обзор библиотек графического интерфейса Microsoft Windows