Svoboda | Graniru | BBC Russia | Golosameriki | Facebook

Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

IUP — кроссплатформенная библиотека базовых элементов графического пользовательского интерфейса с использованием языков C и Lua. С её помощью можно создавать быстрые, не требующие компиляции графические приложения.

Поддерживаемые языки и платформы

В среде Linux и других Unix-подобных операционных систем работает посредством Gtk, Motif/Lesstif или непосредственно взаимодействуя с X-сервером. В Windows использует графические средства данной операционной системы. В 2017 году были представлены бэкэнды, позволяющие разрабатывать с помощью IUP нативные приложения для MacOS[2], iOS[3], Android[4], а также веб-приложения с использованием Emscripten[5][6].

Библиотека написана на C, её архитектура позволяет достаточно естественным образом использовать её из объектно-ориентированного кода на C++. Будучи, как и Lua, разработанной в Католическом университете Рио-де-Жанейро[7], она «из коробки» поддерживает интеграцию с этим скриптовым языком.

Доступны также библиотеки-обвязки для использования IUP во множестве языков, таких как Ruby[8], Euphoria[9], FreeBasic[10], Perl[11], Scheme[12], Eiffel[13], Nim[14] и других.

Особенности

Для описания файлов ресурсов в IUP традиционно используется язык LED, который в современных версиях библиотеки считается устаревшим и заменяется языком Lua. Можно создавать IUP-приложения и без использования LED или Lua, пользуясь только C API.

В поставку библиотеки входит также разработанная в 1994 году IupVisualLED[15], простая RAD IDE, позволяющая редактировать GUI-диалоги в режиме, близком к WYSIWYG. IupVisualLED также позволяет экспорт полученного кода на LED, Lua или C. Для работы с Lua-скриптами в состав IUP входит IupLuaScripter — редактор Lua-кода с поддержкой отладки.

IUP имеет достаточно минималистичный API (около ста C-функций) и отличается от других аналогичных библиотек способом реализации 4 важных концепций:

  • Время создание управляющих элементов. При создании виджета не происходит его немедленного отображения в ОС. Оно выполняется при показе содержащего виджет диалога или путём ручного вызова функции IupMap для этого диалога.
  • Система атрибутов. В IUP очень мало функций, поскольку основным способом работы с виджетами является доступ к их атрибутам (текстового типа) с помощью функций IupSetAttribute и IupGetAttribute.
  • Абстрактное позиционирование макета. Виджеты в IUP никогда не позиционируются путём явного задания координат; их позиции рассчитываются динамически, в соответствии с абстрактной иерархией макета, задаваемой с помощью виджетов-контейнеров IupFill, IupHbox, IupVbox и т. д. (впрочем, явное позиционирование допускается внутри виджетов-контейнеров специального типа).
  • Система обратных вызовов. Язык LED поддерживает косвенное задание связи виджетов с функциями обратного вызова. Для связывания Си-функции используется конструкция IupSetFunction имя с последующим связыванием атрибутов обратного вызова с использованием IupSetAttribute. Также можно осуществлять прямое связывание виджета с callback-функцией с помощью IupSetCallback.

При проектировании IUP удалены ограничения на класс/тип экземпляров объекта, но сохранена иерархия наследования в стиле Lua (см. прототипное программирование).

Начиная с версии 3.9, IUP поддерживает работу со строками в формате UTF-8.

Дополнительные функции

Кроме функций создания виджетов, IUP предлагает ряд дополнительных возможностей:

  • рисование;
  • создание массивов и хеш-таблиц;
  • работа со строками;
  • получение информации о шрифтах;
  • получение информации о системе.

Лицензия

IUP доступно для скачивания, бесплатного использования, модификации, использования в коммерческих целях и распространения под лицензией MIT[16].

Примечания

  1. The iup Open Source Project on Open Hub: Languages Page — 2006.
  2. Проект IupCocoa на сайте GitHub
  3. Проект IupCocoaTouch на сайте GitHub
  4. Проект IupAndroid на сайте GitHub
  5. Проект IupEmscripten на сайте GitHub
  6. Lua Workshop 2017: IUP Next - Eric Wing & Chris Matzenbach на YouTube
  7. Часть разработчиков IUP являются также разработчиками Lua
  8. Ruby-IUP Архивная копия от 14 апреля 2011 на Wayback Machine (репозиторий исходного кода Архивная копия от 11 июня 2018 на Wayback Machine на github)
  9. EuIup. Дата обращения: 26 апреля 2011. Архивировано 14 июля 2012 года.
  10. Portable GUI toolkit (IUP) version 3.0 (RC2) Архивная копия от 4 февраля 2010 на Wayback Machine на форуме FreeBasic
  11. perl-iup. Дата обращения: 26 апреля 2011. Архивировано 11 июня 2018 года.
  12. IUP: IUP. Дата обращения: 29 мая 2012. Архивировано из оригинала 9 марта 2011 года. Архивировано 9 марта 2011 года.
  13. eiffel-iup Архивная копия от 26 сентября 2019 на Wayback Machine — IUP toolkit library for GOBO Eiffel
  14. IUP-wrapper является Архивная копия от 26 января 2017 на Wayback Machine частью стандартной библиотеки Nim
  15. Oliveira Prates, R.; Gattass, M. ;and Figueiredo, L. H. Visual LED: uma ferramenta interativa para geração de interfaces gráficas (порт.) // M.Sc. dissertation, Computer Science Department. — PUC-Rio, 1994. Архивировано 2 сентября 2009 года.
  16. Tecgraf Library License. Дата обращения: 15 сентября 2009. Архивировано 22 октября 2009 года.

Ссылки

Эта страница в последний раз была отредактирована 9 февраля 2023 в 18:29.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).