Стоит рассказать о замечательной кроссплатформенной библиотеки для построения графического интерфейса программы IUP. Эта библиотека разработана в Pontifical Catholic University of Rio de Janeiro в Бразилии. Как и много других продуктов разработчиков из этого университета она написана на С и может работать в системах:
- UNIX (SunOS, IRIX, and AIX) using Motif 2.x
- UNIX (FreeBSD and Linux) using GTK+
- Microsoft Windows 2000/XP/2003 using Win32
Именно развитая система атрибутов позволяет иметь совсем небольшое количество функций, что делает библиотеку небольшой. Это отлично вписывается в идеологию разработчков:
- Предпочитать множество маленьких библиотек, вместо одной большой.
- Использовать для каждой платформы "родные" графические компоненты.
- Позиционировать элементы не используя точные координаты, используя механизм привязок и слоёв. Что делает интерфейс менее зависимым от разрешения пользователя.
- Возможность использовать эту графическую библиотеку совместно с другими
Для изучения возможностей библиотеки не требуется много времени, что делает её привлекательно для программистов, которые сразу хотят приступить к написанию кода, не штудируя огромное количество мануалов. На английском языке доступен мануал по адресу http://www.tecgraf.puc-rio.br/iup/, где описание концепций библиотеки чередуется с полным описанием функций, эти концепции реализующих. Мануал достаточно полный и удобный, но в нём присутствуют некоторые неточности в параметрах функций. Однако, это лечится простой сверкой параметров функций с определениями в главном заголовочном файле iup.h.
В целом, после использования библиотеки остаётся очень приятное впечатление -- малыми силами можно быстро и качественно решать возникающие проблемы.
В завершении хочется сказать пару слов о стабильности библиотеки. Она, традиционно для программных продуктов Tecgraf, на высоком уровне. За год в их библиотеках, в худшем случае, находят всего несколько некритичных ошибок.
Исходные тексты библиотеки, документация на английском, скомпилированные для разных платформ библиотеки лежат по этому адресу.
3 комментария:
Отличная идея использовать её в качестве графического либы для курсового проекта по системному программированию. Ведь, при желании, можно будет проще портировать код в линукс
Идея плохая, так как портировать код курсового в Linux не придётся, а разбираться с библиотекой, которая на практике почти не используется, - не самое лучшее времяпрепровождение. Уж лучше использовать Qt - широко распространена, хорошо документирована, очень гибкая, но C++. :)
oleg, для программиста на С (не на С++) существует очень мало достойных разработок кросплатформенных GUI библиотек. Я знаю 2: GTK+ и IUP.
Причём, заметь, IUP написан на С не потому что люди предпочитают С, а потому, что их идеи было проще реализовать именно на С. В их случае, возможности С++ никак бы не помогли в реализации.
А с QT он и не тягается ;) У него другая идеология.
Отправить комментарий