Jump to content

Список наборов виджетов

В этой статье представлен список наборов инструментов виджетов (также известных как фреймворки GUI ), используемых для создания графического пользовательского интерфейса (GUI) программ, организованных по их связям с различными операционными системами .

Наборы инструментов для виджетов низкого уровня

[ редактировать ]

Интегрирован в операционную систему

[ редактировать ]
  • macOS использует Cocoa . Mac OS 9 и macOS раньше использовали Carbon для 32-битных приложений.
  • Windows API, используемый в Microsoft Windows . Microsoft имела графические функции, интегрированные в ядро ​​до 2006 года. [1]
  • Операционная система Haiku использует расширенную и модернизированную версию Be API , которая использовалась ее предшественницей BeOS . Ожидается, что в будущем Haiku Inc. прекратит совместимость двоичных файлов и исходных кодов с BeOS, что приведет к появлению Haiku API.

Как отдельный слой поверх операционной системы.

[ редактировать ]
  • Система X Window содержит примитивные строительные блоки, называемые Xt или «Intrinsics», но они в основном используются только старыми инструментальными средствами, такими как: OLIT , Motif и Xaw . Большинство современных наборов инструментов, таких как GTK или Qt , обходят их и напрямую используют Xlib или XCB .
  • Amiga OS Intuition ранее присутствовала в прошивке Amiga Kickstart и интегрировалась с библиотекой виджетов среднего и высокого уровня, которая вызывала Workbench Amiga собственный графический интерфейс . Начиная с Amiga OS 2.0, Intuition.library стала дисковой и объектно-ориентированной. Также Workbench.library и Icon.library стали дисковыми и могли быть заменены аналогичными сторонними решениями.
  • С 2005 года Microsoft исключила графическую систему из ядра Windows. [2]

Наборы инструментов виджетов высокого уровня

[ редактировать ]
Сравнительная таблица набора виджетов
Название инструментария Окна macOS Unix-подобный Язык программирования Лицензия
АВТ кроссплатформенный Ява
CEGUI Да Да Да С++ С
Какао Частичный Да Нет Цель-C Собственный
элементарный Да Да Да С ЛГПЛ , БСД
ФЛТК Да Да Да С++ LGPL
Инструментарий Фокса Да Нет Да С++ LGPL
Отлично кроссплатформенный Идти БСД
GNUстеп Да Да Да Цель-C LGPL
ГТК Да Да Да С LGPL
Отчаянный кроссплатформенный Питон С
LCL Да Да Да Объектный Паскаль ( Свободный Паскаль ) LGPL
ИЮП Да Нет Да С С
Вчера кроссплатформенный С++ GPL , собственная лицензия
МеньшеTif Нет Нет Да С LGPL
Мотив Нет Нет Да С LGPL
МФЦ Да Нет Нет С++ Собственный
См. С++ Да Нет Да С++ Увеличить лицензию
OWL (заменен VCL) Да Нет Нет С++ ( Борланд С++ ) Собственный
Поворот (ВТК) кроссплатформенный Ява Лицензия Апач
Qt кроссплатформенный С++ LGPL , собственность
на «Дикую волну» Виды Да Нет Да С++ собственный
Обувь (набор инструментов графического интерфейса) кроссплатформенный Руби С
Качать кроссплатформенный Ява
Тк Да Да Да С БСД
ТнФОКС Да Да Да С++ LGPL
У++ кроссплатформенный С++ БСД
VCL (заменяет OWL) Да Нет Нет Объектный Паскаль ( Делфи ) Собственный
ВТЛ Да Нет Нет С++ Публичная лицензия Майкрософт
wxWidgets кроссплатформенный С++ Лицензия WxWindows

Зависит от ОС

[ редактировать ]
  • BOOPSI (базовая система объектно-ориентированного программирования для интуиции) была представлена ​​​​в OS 2.0 и дополнена системой классов, в которой каждый класс представляет отдельный виджет или описывает событие интерфейса. Это привело к эволюции, в которой каждый из сторонних разработчиков реализовал свою собственную систему классов.
  • MUI : объектно-ориентированный набор инструментов GUI и официальный набор инструментов для MorphOS .
  • ReAction : объектно-ориентированный набор инструментов GUI и официальный набор инструментов для AmigaOS .
  • Zune (набор инструментов GUI) — это клон MUI с открытым исходным кодом и официальный набор инструментов для AROS .

В Unix , в системе X Window.

[ редактировать ]

Обратите внимание, что система X Window изначально предназначалась в первую очередь для Unix-подобных операционных систем, но теперь она работает и в Microsoft Windows, а также с использованием, например, Cygwin , поэтому некоторые или все эти наборы инструментов также можно использовать под Windows.

Кросс-платформенный

[ редактировать ]

На основе C (включая привязки к другим языкам)

[ редактировать ]

На основе C++ (включая привязки к другим языкам)

[ редактировать ]
  • Clutter (LGPL) (на C) — это библиотека программного обеспечения с открытым исходным кодом для создания быстрых, визуально насыщенных и анимированных графических пользовательских интерфейсов.
  • Adobe Flash позволяет создавать виджеты, работающие в большинстве веб-браузеров и на некоторых мобильных телефонах.
  • Adobe Flex предоставляет виджеты высокого уровня для создания пользовательских веб-интерфейсов. Flash-виджеты можно использовать во Flex.
  • Виджеты Flash и Flex будут работать без веб-браузера в среде выполнения Adobe AIR .

Общий

РИА

Полнофункциональный фреймворк

Ресурсный

Больше не разрабатывается

  • YUI (библиотека пользовательского интерфейса Yahoo!)
  • Raphaël — набор инструментов JavaScript для интерфейсов и анимации SVG.
  • Abstract Window Toolkit (AWT) — это Sun Microsystems оригинальный набор виджетов для приложений Java. Обычно он использует другой набор инструментов на каждой платформе, на которой он работает.
  • Swing — это более богатый набор инструментов для виджетов, поддерживаемый начиная с J2SE 1.2 в качестве замены виджетов AWT. Swing — это легкий набор инструментов, то есть он не использует собственные виджеты.
  • Apache Pivot — это платформа с открытым исходным кодом для создания многофункциональных веб-приложений на Java или любом JVM-совместимом языке, основанная на наборе инструментов виджетов WTK.
  • JavaFX и FXML .
  • Standard Widget Toolkit (SWT) — это собственный набор инструментов виджетов для Java, разработанный как часть проекта Eclipse . SWT использует стандартный набор инструментов для работающей платформы (например, Windows API, macOS Cocoa или GTK).
  • Codename One изначально разрабатывался как кроссплатформенный мобильный инструментарий, который позже был расширен для поддержки настольных приложений как через JavaSE, так и через конвейер JavaScript через браузеры.
  • java-gnome предоставляет привязки к набору инструментов GTK и другим библиотекам GNOME. среды рабочего стола
  • Qt Jambi , официальная привязка Java к Qt от Trolltech. Коммерческая поддержка и развитие прекращены. [5]
  • FireMonkey или FMX — это кроссплатформенный виджет и графическая библиотека, распространяемая вместе с Delphi и C++Builder, начиная с версии XE2 в 2011 году. Он имеет привязки для C++ через C++Builder и поддерживает Windows, macOS, iOS, Android и, с недавних пор, Линукс. FireMonkey поддерживает родные для платформы виджеты, такие как собственный элемент управления редактированием, а также пользовательские виджеты, стили которых выглядят так, чтобы они выглядели как родные в целевой операционной системе. Его графика ускоряется на графическом процессоре, поддерживает стили и смешивает собственные элементы управления реализацией с собственными системными элементами управления, что позволяет приложениям использовать собственное поведение там, где это важно (например, для ввода текста IME ).
  • IP Pascal использует графическую библиотеку, построенную на основе стандартных языковых конструкций. Также необычно то, что это процедурный набор инструментов, который является кросс-платформенным (без обратных вызовов или других трюков) и полностью совместим со стандартными парадигмами последовательного ввода и вывода. Полностью стандартные программы с последовательным выводом можно запускать и расширять с помощью графических конструкций.
  • Lazarus LCL (для Pascal , Object Pascal и Delphi через компилятор Free Pascal ), библиотека классов, обертывающая GTK + 1.2–2.x, и Windows API (поддержка Carbon, Windows CE и Qt4 находится в разработке).
  • fpGUI создается с помощью компилятора Free Pascal . Он не зависит от каких-либо крупных сторонних библиотек и в настоящее время работает на Linux, Windows, Windows CE и Mac (через X11). Порт Carbon (macOS) находится в стадии разработки.
  • CLX (Библиотека компонентов для кроссплатформенности) использовалась вместе с Borland от (теперь Embarcadero ) Delphi , C++ Builder и Kylix для создания кроссплатформенных приложений между Windows и Linux. Он был основан на Qt , завернутом таким образом, что его программный интерфейс был аналогичен интерфейсу инструментария VCL . Он больше не поддерживается и не распространяется и с 2011 года был заменен FireMonkey , новым набором инструментов, также поддерживающим больше платформ.

Еще не классифицировано

[ редактировать ]

Сравнение наборов виджетов

[ редактировать ]
Инструментарий Первоначальный выпуск Последний выпуск Основной язык Привязки Инструменты Лицензия Плюсы Минусы Серверная часть
АТЛ , ВТЛ 2004 С++ Визуальная Студия не портативный
АВТ 1995 Ява портативный
CEGUI 2004 0.8.7 (28 апреля 2016 г .; 8 лет назад ( 28 апреля 2016 г. ) ) [±] [6] С++ Питон , [7] Два (с использованием tolua++) [8] CEED [9] МОЯ лицензия Бесплатная лицензия, быстрый, кроссплатформенный, портативный, бесплатный инструмент для редактирования графического интерфейса.
беспорядок 2006 С Перл, Питон, С#, С++, Вала, Руби LGPL GTK и WebKit Встраивание
160 С++
элементарный 2007 ( Английская футбольная лига : 2001) 2016 С JavaScript, Python, Вала, C++ редактировать, эдже LGPL Портативный, стабильный, быстрый, удобный для пальцев
ФЛТК 1998 2019 С++ Python ( pyFLTK ), Perl ( FLTK.pm ), Ruby ( Ruby/FLTK ), Tcl ( Tcl Fltk ), Guile ( guile-fltk ), Eiffel ( IFLTK ) FLUID (дизайнер пользовательского интерфейса Fast Light) LGPL (за исключением, позволяющего статическое связывание ) быстрый, достаточно маленький для статической ссылки ограниченный выбор виджетов
трепетать 2017 Дарт Портативная, кроссплатформенная, бесплатная лицензия, богатый набор виджетов.
ЛИСА 1997 С++ Руби ( FXRuby ), Python ( FXPy ), Эйфель ( EiffelFox ) единообразен на всех платформах неродной внешний вид
Отлично 2018 2020 (1.3.2) Идти БСД единообразен на всех платформах, нет зависимости от времени выполнения требуется OpenGL
СПАТЬ С++
GNUстеп 1994 2017 Цель-C Java, Руби, Схема Горм (вычисления) GPL для приложений, LGPL для библиотек Портативная, бесплатная лицензия Встроенная версия для macOS (с Cocoa) X11 , Win32 , Вейланд
ГТК 1997 4.6.0 [10] (30 декабря 2021 г .; 2 года назад ( 30 декабря 2021 г. ) ) [±] С C++ ( gtkmm ), Perl ( Gtk2-perl ), Ruby ( Ruby-gtk2 ), Python ( PyGTK ), Haskell ( Gtk2Hs ), Java ( java-gnome ) (недоступно для Microsoft Windows), C# ( Gtk# ), PHP ( PHP-GTK ), Ada ( GTKAda ), D ( gtkD ), FreeBasic ( GladeToBac ), Go ( go-gtk ), OCaml ( lablgtk ), JavaScript ( Gjs , Seed (программирование) ), Fortran ( gtk-fortran ), Lua ( lua-lgi ), R ( RGtk2 ) и другие через GTK-сервер Glade , GNOME Builder LGPL Портативная, бесплатная лицензия Частично только родной. [11] [12]
ИЮП 1992 2019 [13] С Два ( IupTwo ) [14] LEDC: компилятор для светодиодов С Портативный, легкий, использует собственный API , собственный внешний вид, бесплатная лицензия Не-Юникод (только простой ASCII) [15]
Вчера 2004 С++ Вчера GPL , коммерческая Кроссплатформенность, с дополнительными инструментами для упаковки аудио-плагинов ( VST , RTAS , AAX и т. д.) В бесплатной версии есть заставка.
МФЦ , WinAPI 1992 С++ Визуальная Студия непереносимый (но Wine реализует его для X Window )
Узор , Лесстиф 1980-е годы С БХ Про
См. С++ 2007 1.7.4 (16 мая 2020 г .; 4 года назад ( 16 мая 2020 г. ) ) [±] [16] С++ VisualStudio, Dev-C++, Code::Blocks, GCC портативный, легкий, современный стиль C++
Qt 1991 6,5 ЛТС [17] (3 апреля 2023 г .; 16 месяцев назад ( 2023-04-03 ) ) [±] С++ Ruby ( QtRuby ), Python ( PyQt , PySide , PythonQt ), Ada ( QtAda ), C# ( Qyoto ), Java ( Qt Jambi ), Паскаль ( FreePascal Qt4 ), Perl ( Perl Qt4 ), PHP (PHP-Qt), Haskell (Qt Haskell), Lua ( lqt , QtLua ), Dao ( DaoQt ), Tcl ( qtcl ), Common Lisp ( CommonQt ), D ( QtD ), Harbour ( hbqt ) Qt-дизайнер, Qt-создатель Лицензионная лицензия , LGPL . [18] Портативный, богатый набор виджетов, конструктор графического интерфейса, бесплатная лицензия, стабильный API Только частично родной. [19] [20] [21]
на «Дикую волну» Виды 1993 2014 (5.8) С++ ivfstudio собственный портативный (Windows, Unix-подобный), хорошая поддержка коммерческий
Обувь (набор инструментов графического интерфейса) 2007 2010 Руби С лицензией/с открытым исходным кодом Простота, удобство использования
Качать 1996 Ява Затмение, NetBeans GPL для OpenJDK Портативный (Java), расширенные виджеты, конструкторы графического интерфейса.
JavaFX 2008 2022 Ява NetBeans, построитель сцен лицензия GPL
SWT Ява Д( Дедвейт ) Затмение портативный
Тк 1991 2015 С, Ткл Ruby ( RubyTk ), Python ( Tkinter ), Perl ( Perl/Tk ), Ada ( TASH ), Common Lisp ( LTk ), Erlang ( etk ), ... | БСД очень портативный, много языковых привязок
У++ 2004 2022 С++ IDE БСД портативный, NTL, бесплатная лицензия Недоработан на Android
ВЦФ С++ БСД бесплатная лицензия
ВКЛ Дельфи
Формы Windows Языки командной строки Языки командной строки Выражение, Visual Studio проблемы с переносимостью, нет MVC
WPF , XAML , Silverlight 2007 Языки командной строки Языки командной строки Выражение, Visual Studio Проблемы с переносимостью
wxWidgets 1992 3.2.4 (11 ноября 2023 г .; 8 месяцев назад ( 11.11.2023 )

[22] ) [±]

С++ C++ (родной), Ruby ( wxRuby ), Python ( wxPython ), Perl ( wxPerl ), Java ( wxJava , jwx! ), Lua ( wxLua ), Tcl ( wxTCL ), JavaScript ( GLUEscript ), Smalltalk ( wxSqueak ), Erlang ( wxErlang ), Haskell ( wxHaskell ), C ( wxC ), D ( wxD ), .NET framework ( wxNet ), Common Lisp ( wxCL ), Basic ( wxBasic ), BlitzMax ( wxMax ), Euphoria ( wxEuphoria ), Ada ( wxAda ) , Щука ( wxPike ) VisualWx, Boa Constructor, PythonCard, Spe, XRCed, wxGlade , wxFormBuilder , DialogBlocks ($), wxDesigner ($) Лицензия wxWindows Портативность, богатый набор виджетов, бесплатная лицензия и семантическое сходство с MFC упрощают миграцию.
Хау , Афина 1983 1.0.13 [23] С С X11
ВЫБИРАТЬ XML, JavaScript портативный
15 1989 2010 С и С++ Проектирование для C и архитектор для C++ Собственный Кроссплатформенный, богатый набор виджетов, конструкторы графического интерфейса C и C++, очень стабильный.
Инструментарий Первоначальный выпуск Последний выпуск Основной язык Привязки Инструменты Лицензия Плюсы Минусы Серверная часть

См. также

[ редактировать ]
  1. ^ Microsoft: Пользователь MS Windows NT в режиме ядра
  2. ^ Techworld: Microsoft перенесет графику за пределы ядра ОС
  3. ^ Тейшера, Пачеко, Стив, Ксавьер (2001). Руководство разработчика Borland Delphi 6 . Издательство Самс. п. 382. ИСБН  0-672-32115-7 . {{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  4. ^ Эта версия предоставляет основной API 2.0 .NET Framework , но реализация этого API все еще не завершена.
  5. ^ Qt Software прекращает выпуск Qt Jambi после выпуска 4.5. Архивировано 26 июля 2009 г. на Wayback Machine.
  6. ^ https://github.com/cegui/cegui/releases/tag/v0-8-7
  7. ^ «PyCEGUI — CEGUI Wiki — Система графического интерфейса Crazy Eddie (с открытым исходным кодом)» .
  8. ^ «Расширение интерфейса Lua — CEGUI Wiki — Система графического интерфейса Crazy Eddie (с открытым исходным кодом)» .
  9. ^ «CEED — CEGUI Wiki — Система графического интерфейса Сумасшедшего Эдди (с открытым исходным кодом)» .
  10. ^ https://gitlab.gnome.org/GNOME/gtk/-/tags/4.6.0
  11. ^ Миграция на клиентские окна. Архивировано 27 апреля 2011 г. на Wayback Machine : «GDK ищет переменную среды GDK_NATIVE_WINDOWS и делает все окна родными, если она установлена. Он также пытается быть более совместимым с тем, как предыдущие версии работали в некоторых других пути».
  12. ^ Ужас кодирования: неродной пользовательский интерфейс — отстой : «[…] имеет кроссплатформенный пользовательский интерфейс, основанный на GTK, который дает предсказуемо мягкие результаты с наименьшим общим знаменателем:»
  13. ^ «IUP — просмотрите /3.28 на SourceForge.net» .
  14. ^ «IUP — Портативный пользовательский интерфейс» .
  15. ^ Сравнение IUP с другими наборами интерфейсных инструментов : «[…] он не поддерживает символы Юникода».
  16. ^ «Библиотека Nana C++ — современная библиотека C++ с графическим интерфейсом» .
  17. ^ «Выпуск Qt 6.5» . www.qt.io. ​Компания Qt . Проверено 20 декабря 2023 г.
  18. ^ Нистрем, Себастьян (14 января 2009 г.). «Nokia лицензирует Qt по LGPL» . Архивировано из оригинала 11 ноября 2013 года.
  19. ^ WxWidgets по сравнению с другими наборами инструментов : «Qt не имеет настоящих собственных портов, таких как wxWidgets. Qt не использует системные виджеты, а эмулирует их с помощью тем. Под этим мы подразумеваем, что, хотя Qt рисует их вполне реалистично, Qt рисует свои виджеты на каждой платформе».
  20. ^ «Модульная библиотека классов Qt» . Дигия. Архивировано из оригинала 1 ноября 2013 года. Qt использует собственные графические API каждой поддерживаемой платформы, в полной мере используя системные ресурсы и гарантируя, что приложения будут иметь естественный внешний вид.
  21. ^ «API стиля Qt 4» . Компания Qt . Встроенные виджеты Qt используют [QStyle] для выполнения почти всего процесса рисования, гарантируя, что они будут выглядеть точно так же, как эквивалентные собственные виджеты.
  22. ^ «wxWidgets: выпущена версия 3.2.4» . 11 ноября 2023 г. Проверено 11 ноября 2023 г.
  23. ^ Алан Куперсмит (30 апреля 2015 г.). «[АНОНС] libXaw 1.0.13» . [электронная почта защищена] (список рассылки) . Проверено 1 июля 2020 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e97f72d07454970926580062225944ed__1703848320
URL1:https://arc.ask3.ru/arc/aa/e9/ed/e97f72d07454970926580062225944ed.html
Заголовок, (Title) документа по адресу, URL1:
List of widget toolkits - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)