Juce

Juce
Логотип программы Juce
Тип Библиотека
Разработчик ROLI
Написана на C++
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 7.0.3 (29 ноября 2022 года[1])
Репозиторий github.com/juce-framewor…
Лицензия GNU GPL, коммерческая
Сайт juce.com

Juce — открытый кроссплатформенный инструментарий разработки ПО (фреймворк) для языка C++, используемый для разработки GUI приложений и плагинов.

Цель Juce — позволить компилировать один и тот же исходный текст в программы, одинаково работающие на Windows, macOS и Linux (последние версии — также iPhone и Android) платформах. Он поддерживает различные среды разработки и компиляторы, такие как GCC, Xcode и Visual Studio.

Juce впервые опубликован в 2004, держателем его кода является британская компания Raw Material Software. Имеет двойную GPL/коммерческую лицензию.

Официальная поддержка

Пакет Juce предназначен для использования одним и тем же способом на множестве платформ и компиляторов. Компания Raw Material Software рекомендует следующий список платформ и компиляторов, поддержка которых официально подтверждена; другие могут работать, но не были официально испытаны.

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

Juce поддерживается на следующих платформах.

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

Официально подтверждена правильная работа Juce, со следующими компиляторами.

Особенности

Подобно многим другим фреймвокам (напр. Qt, wxWidgets, FLTK и т. д.), Juce содержит классы позволяющие программе работать с графикой и звуком, разбирать XML, работать с сетью и криптографией и т д.. За счёт этого нуждающиеся в дополнительных библиотеках программисты могут использовать только библиотеку Juce, или хотя бы сократить количество сторонних библиотек, которые они используют. На это разработчиков Juce вдохновил JDK языка Java. По их заявлению, они собирались из Juce сделать «что-то подобное для C++».

Примечательная особенность Juce по сравнению с другими аналогичными фреймворками — большой набор аудиофункций. Дело в том, что библиотека Juce сначала была разработана как часть аудиосеквенсора Tracktion, и лишь затем стала самостоятельным продуктом. Juce включает в себя поддержку воспроизведения звука через аудио и MIDI интерфейсы, полифонические синтезаторы, понимает файлы распространённых аудиоформатов (таких как WAV, AIFF, FLAC, и Vorbis). Он также содержит интерфейсы-оболочки для построения различных аудио плагинов, таких как эффекты и инструменты VST. Это привело к его широкому распространению в сообществе разработчиков аудио-ПО[2].

В поставку Juce входят классы-обёртки для создания как аудиоплагинов, так и браузерных плагинов. При сборке аудиоплагина, получается единый бинарный файл, который поддерживает несколько форматов плагинов (VST, RTAS, AU). Поскольку весь платформо- и форматозависимый код содержится в классах-обёртках, то пользователь может собирать плагины в формате VST/RTAS/AU для макинтошей и Windows из одного и того же исходного кода.

Плагины для браузеров поддерживаются аналогичным образом: один и тот же бинарный файл, функционирует и как NPAPI, и как ActiveX плагин.

Jucer

Неотъемлемая часть фреймворка Juce — приложение Jucer (так же написанное на Juce), используемое для визуального проектирования и редактирования графических интерфейсов. Jucer затем может сгенерировать C++ код, реализующий выбранную структуру графического интерфейса.

Juced

Имеется также неофициальное ответвление библиотеки, расширенное дополнительными возможностями, поддерживаемое сообществом, которое называется Juced.

На сайте этого варианта фреймворка можно найти также дополнительную документацию по Juce, т.е. поможет освоить библиотеку.

Примечания

  1. 7.0.3  (неопр.). Дата обращения: 1 декабря 2022. Архивировано 1 декабря 2022 года.
  2. Архивированная копия  (неопр.). Дата обращения: 30 января 2010. Архивировано из оригинала 26 января 2010 года.

Литература

  • Обзор Juce в Register (англ.)

Ссылки

  • Официальный сайт Juce  (англ.)
    • Официальный форум  (англ.)
    • Справочник по API reference  (англ.)
  • Проект Juce на сайте SourceForge.net
  • Juce на Freshmeat  (англ.)
  • Juced на Google Code (англ.) — неофициальный вариант фреймвока.
    • Juce Tutorial  (англ.) — Введение в Juce
  • Семен Есилевский. Нестандартные GUI-тулкиты.
    • Часть 5: Знакомство с Juce «Open Source» № 72 (недоступная ссылка) (PDF, 2 МБ)
    • Часть 6: Обработка событий и дизайнер форм в Juce «Open Source» № 73 (недоступная ссылка) (PDF, 2 МБ)
    • Часть 7: Базовые классы Juce и общие выводы «Open Source» № 74 (недоступная ссылка) (PDF, 2 МБ)
Перейти к шаблону «Инструментарии виджетов»
Инструментарии (наборы) элементов графического интерфейса
Низко-
уровневые
Высоко-
уровневые
Amiga OS
Mac OS и
macOS
  • Cocoa
  • MacApp
  • MacZoop
  • PowerPlant
Windows
UNIX, под X
Кросс-
платфор-
менные
На основе Flash
На основе XML,
AJAX или SVG
На основе Java
На основе
C или C++
На основе Common Lisp
На основе Pascal
На основе Python
На основе Objective C