Обзор графических библиотек C++ | OTUS

Курсы

Курсы в разработке Подготовительные курсы
Работа в компаниях Компаниям Блог +7 499 110-61-65

Обзор графических библиотек C++

Cplus_Deep_11.06_site-5020-ecd1fe.png

Одним из наиболее мощных и популярных языков программирования является C++. На нём ежедневно пишут сотни приложений, нередко использующих GUI. Но работа с графикой не всегда удобна для программиста, поэтому на помощь приходят графические библиотеки, делающие разработку графической части быстрее и удобнее. О них и поговорим.

SFML

1.jpg-20219-88298d.png Simple and Fast Multimedia Library — одна из наиболее быстрых и удобных библиотек для 2D-графики. У неё минимальные требования к уровню знаний C++, плюс она отличается лёгкостью освоения. С её помощью вы напишете полноценную программу всего за несколько дней. А первое графическое приложение «SFML works!» — всего за минуту. Также библиотека отличается кроссплатформенностью, работая под Windows, Linux и Mac.

SFML часто используется в небольших стартапах либо разработчиками, которые сами занимаются созданием игр. Инструмент популярен прежде всего потому, что не требует написания объёмного кода.

Qt

2-20219-e78eb8.png Это целый набор инструментов для проектирования GUI. Разумеется, можно писать и игры, но Qt привлекает больше своими достоинствами: удобство, быстрота, гибкость, кроссплатформенность. Библиотека доступна и на Windows, и на Linux, и на Mac, и на Windows Mobile, iOS и Android.

С помощью метаобъектного компилятора Qt расширяет C++, предоставляя дополнительные функции (к примеру, сигналы и слоты). Имеет платную службу технической поддержки и платную лицензию. Есть большой выбор IDE: QDevelop, Edyuk, QtDesigner, QtCreator. Доступна интеграция с Eclipse, XCode, Visual Studio.

Cairo

3-20219-14752b.png Используется для отрисовки векторных изображений под Windows, Mac OS, Linux. Применяется в браузерном движке Gecko, лежит в основе ряда ОС: MorphOS, AmigaOS. Если выбираете Cairo, будьте готовы к отсутствию ресурсов на русском языке.

Библиотека поддерживает взаимодействие с OpenGL-бэкендом с поддержкой GPU. Это, несомненно, открывает ряд полезных функций.

Cocos2D-X

4-20219-c288bc.png Кроссплатформенная библиотека, призванная упростить разработку игр для мобильных платформ. По кроссплатформенности схожа с Qt, но есть и другие плюсы: доступность, удобство, возможность создания отдельного конструктора игр, который основан на библиотеке Cocos Creator.

Прекрасно подходит, если нужно работать с анимацией и графикой в небольших объёмах, т. к. вся графика добавляется извне (на неё ссылаются из кода).

Учтите, что уроки на эту библиотеку есть только на английском.

Juce

1-20219-9f288d.jpg Кроссплатформенный фреймворк, который служит для создания плагинов и приложений на C++. На английском языке есть очень много документации по Juce, очень рекомендуют эту книгу.

Библиотека особенно популярна среди тех, кто разрабатывает аудио-софт, так как имеет набор оболочек-интерфейсов для создания аудио-плагинов.

wxWidgets

6-20219-2d3986.png Одна из старейших графических библиотек, предназначенных для отрисовки GUI. Главное достоинство — производительность. Если та же Qt использует низкоуровневый код только для кнопок и полос прокрутки, то wxWidgets использует для каждой системы свой код, благодаря чему элементы максимально похожи на системный стиль.

Другая важная особенность — использование «родных» графических элементов интерфейса ОС везде, где это возможно. Таким образом, можно говорить о существенном преимуществе для большинства пользователей, которые привыкают работать в определённой среде, и изменения интерфейса часто вызывают у них неудобства в работе.

SDL 2.0

7-20219-ab328c.png Кроссплатформенная 2D-библиотека для написания приложений (как правило, игр). Поддерживает Windows, Mac OS, Linux, Android, Windows Mobile, iOS. Характеризуется быстротой, надёжностью и лёгкостью в эксплуатации. Также в SDL реализованы профессиональные инструменты, предназначенные для работы со звуком, что является большим плюсом при реализации крупных проектов.

Остаётся добавить, что библиотека хорошо интегрируется с OpenGL и комбинируется с wxWidgets.

GTK+

8-20219-30d607.png Тоже очень известная графическая библиотека, которая широко применяется во многих системах. Сначала этот фреймворк задумывался как GIMP-компонент, но спустя 20 лет после выхода в свет первой стабильной версии библиотека нашла применение и в сотнях других приложений.

Сегодня практически не уступает Qt, поддерживая разные языки программирования. Кстати, это одна из немногих библиотек, которая взаимодействует с языком C.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
1 комментарий
0

Можно ли начинать изучение программирования десктопных приложений с библиотекой X11 Xlib. Я сегодня с помощью ее первое окошко в Ubuntu скомпилировал) Писал в Vim-е и сам компилил. Qt какие то ошибки выдавал, видать надо компилятору флаги где то прописывать, я еще не разобрался(

Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто