- IUP
-
IUP Тип Автор Операционная система Кроссплатформенное программное обеспечение (Linux и Microsoft Windows)
Последняя версия Лицензия Сайт IUP — кроссплатформенная библиотека базовых элементов графического пользовательского интерфейса с использованием языков C и Lua. С его помощью можно создавать быстрые, не требующие компиляции графические приложения.
Доступны также библиотеки-обвязки для использования IUP в таких языках, как Ruby[1], Euphoria[2], FreeBasic[3], Perl[4], Scheme[5].
Содержание
Возможности
- Встроенная поддержка Lua
Особенности
Для описания файлов ресурсов в IUP традиционно используется язык LED, который в современных версиях библиотеки считается устаревшим, и заменяется языком Lua. Можно создавать IUP-приложения и без использования LED или Lua, пользуясь только C API.
IUP отличает от других аналогичных библиотек способ реализации 4 важных концепций:
- Время создание управляющих элементов. При создании виджета не происходит его немедленого отображения в ОС. Оно выполняется при показе содержащего виджет диалога или путём ручного вызова функции
IupMap
для этого диалога.
- Система атрибутов. В IUP очень мало функций, поскольку основным способом работы с виджетами является доступ к их атрибутам (текстового типа), с помощью функций IupSetAttribute и IupGetAttribute.
- Абстрактное позиционирование макета. Виджеты в IUP никогда не позиционируются путём явного задания координат, их позиции рассчитываются динамически, в соответствии с абстрактной иерархией макета, задаваемой с помощью виджетов-контейнеров
IupFill
,IupHbox
иIupVbox
(впрочем, явное позиционирование допускается внутри виджетов-контейнеров специального типа).
- Система обратных вызовов. Язык LED поддерживает косвенное задание связи виджетов с функциями обратного вызова. Для связывания Си-функции используется конструкция
IupSetFunction имя
, с последующим связыванием атрибутов обратного вызова с использованиемIupSetAttribute
. Также можно осуществлять прямое связывание виджета с callback-функцией с помощьюIupSetCallback
.
При проектировании IUP удалены ограничения на класса / типа экземпляров объекта, но сохранена иерархия наследования в стиле Lua (см. прототипное программирование).
Лицензия
IUP доступно для скачивания, бесплатного использования, модификации, использования в коммерческих целях и распространения под лицензией MIT.[6]
Примечания
- ↑ Ruby-IUP (репозиторий исходного кода на github)
- ↑ EuIup
- ↑ Portable GUI toolkit (IUP) version 3.0 (RC2) на форуме FreeBasic
- ↑ perl-iup
- ↑ IUP: IUP
- ↑ Tecgraf Library License
Ссылки
- Проект IUP
- IUP-Users
- Scuri, A. «IUP - Portable User Interface». Software Developer's Journal. Dec/2005. iup_sdj2005.pdf
Lua Интерпретаторы и компиляторы Lua • Parrot Фреймворки и библиотеки IUP • Kepler • LÖVE Порты и дистрибутивы Plua • Lua Player • Corona IDE Decoda SciTE • Сравнение Приложения Prosody Инструменты разработки элементов графического интерфейса Низко-
уровневые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
WindowsUNIX, под 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 На основе других Категории:- Программное обеспечение по алфавиту
- Кроссплатформенное программное обеспечение
- Свободные библиотеки программ
- Инструменты для разработки программного обеспечения
Wikimedia Foundation. 2010.