crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Библиотека Juce, C++ библиотека для разработки под Linux, Windows, MacOSX и iOS
Ank
  опции профиля:
сообщение 16.7.2012, 12:46
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 14.7.2012
Пользователь №: 3450

Спасибо сказали: 0 раз(а)




Репутация:   0  


13.07.2012 г. в интернет-университете "Интуит" был открыт первый бесплатный online курс по библиотеке Juce на русском языке.
Juce (Jules' Utility Class Extensions) — кроссплатформенная библиотека для создания приложений для Linux, Windows, Mac OS X, iOS и Android.
Подобно многим другим кроссплатформенным библиотекам (Qt, GTK, U++ и др.), Juce является универсальной, т.е. предоставляет не только средства для разработки графического интерфейса пользователя (GUI toolkit), но и набор классов для различных нужд (работа с графикой, звуком, сетью, XML и т.п.). За счёт этого разработчики могут создавать с помощью Juce приложения различной направленности без использования дополнительных библиотек.
Из предисловия к курсу:
Цитата
Данный курс посвящён программированию с помощью Juce, являющейся как инструментом для создания графического интерфейса пользователя (GUI toolkit), так и библиотекой классов общего назначения (классы обработки строк, аудио, контейнерные и т.п.).
Изначально Juce создавалась как часть аудиосеквенсера для Mac OS X и Windows, Tracktion, из-за чего включает в себя примечательное число аудиофункций. По сути в настоящее время Juce стала стандартом де-факто при написании кроссплатформенных программ обработки звука и аудио-плагинов. Эта библиотека, распространяемая под двумя типами лицензий, свободной и коммерческой, используется для создания программного обеспечения для профессиональных музыкантов многими компаниями, среди которых такие гиганты медиа-индустрии как Кorg, TC Electronics, Mackie, M-Audio, PreSonus, SaneWave и другие. Достаточно широко представлена Juce как основа для создания OpenSource приложений; достаточно упомянуть программу для алгоритмической композиции Common Music Grace, такие библиотеки для обработки звука как UGen++ и CSL (Create Signal Library). Даже те открытые проекты, которые используют для создания графического интерфейса пользователя другие библиотеки, зачастую включают VST-плагины, написанные с помощью Juce. К таким программам, например, относится MDI-секвенсер Qtractor, построенный на основе Qt 4.
К несомненным достоинствам Juce относятся также ясные имена классов и методов, описывающие их назначение, исчерпывающая онлайн документация, оригинальность интерфейса и возможность гибкой настройки отображаемых компонентов, а также удобные инструменты для создания проектов под различные платформы и визуального проектирования интерфейса пользователя.
Несмотря на это, сложилась парадоксальная ситуация: Juce широко используется как для создания проприетарных, так и свободных программ, библиотека является предметом для изучения в таких учебных заведениях, как Unversity of Chicago и University of the West of England, но в то же время по ней отсутствуют руководства, способные послужить точкой старта для новичков. Впрочем, отсутствуют таковые и для опытных разработчиков. Причём не только на русском, но и на английском языке. Для того, чтобы восполнить этот пробел, и создан настоящий курс.

Скажем честно: Juce не так уж хороша в том плане, что код у неё сложней, нежели Qt. Например, разобраться, как нужно делать элементарнейшие вещи: вставить таблицу или создать главное меню приложения, сложновато.
Но из достоинств:
1. Вес. Сравните где-то 5 Мб Juce и что-то от 200 Мб и до 1,5 Гб Qt. Причём если Qt SDK необходимо качать для каждой из целевых операционных систем заново, то один и тот же архив с библиотекой и её интструментами можно использовать и в Linux, и Windows, и Mac OS X и т.д.
2. Опять-таки вес получающихся исполняемых файлов. Конечно, релизы программ, собранных с помощью Juce, "весят" немало: где-то 4-5 Мб, но Qt-программы "тянут" за собой около 10 Мб разделяемых библиотек. Кроме того, по умолчанию Juce линкуется с проектом статически, что избавляет от проблемы зависимостей.
3. Juce, в отличие от других кроссплатформенных библиотек, по умолчанию не использует нативные рамки, контролы, диалоги, благодаря чему достигается попиксельная идентичность интерфейса создаваемых программ в различных операционных системах. Но при необходимости привести внешний вид программы к стандартам оформления текущей графической среды есть методы для использования стандартной рамки и полосы заголовка окна, системных диалогов и т.п.
4. Juce использует собственные кодеки для воспроизведения аудио-файлов WAV, AIFF, FLAC, OGG и MP3, так что если есть необходимость в небольшом мультимедийном приложении, не тянущем за собой gstreamer, как это реализовано в Qt / Phonon, то Juce, IMHO, - лучший выбор.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 16.7.2012, 13:22
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


а что вес то ? ))))) Это же у девелопера на машине. А 5 метров SDK уважения ни разу не внушают - чудес то не бывает

типичный спам
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Ank
  опции профиля:
сообщение 17.7.2012, 9:49
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 14.7.2012
Пользователь №: 3450

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Алексей1153 @ 16.7.2012, 16:22) *
а что вес то ? ))))) Это же у девелопера на машине.


И у пользователя? Хорошо, для Linux проблема зависимостей не слишком актуальна: установлена KDE - установлена Qt. А для Windows? Программа вынуждена будет "тащить" QtCore4, QtGui4 и т.п. Всего до 10 Мб. Это в том случае, если программа будет незвучащая. В случае, если есть необходимость хотя бы воспроизведения фонового звука "подтянутся" Phonon и GStreamer. Программа, написанная на основе классов Juce, будет включать всё в эти самые 4-5 Мб исполняемого файла.
И кстати, прежде, чем SDK окажется на машине, её нужно загрузить. Для каждой из целевых операционных систем. Для Juce - грузим 5 Мб. Один раз. Для всех ОС. Устанавливать, к слову, не нужно. Модули включаются в проект в виде исходных текстов. Или не включаются. По желанию разработчика.

Цитата(Алексей1153 @ 16.7.2012, 16:22) *
А 5 метров SDK уважения ни разу не внушают - чудес то не бывает


Вот удивитесь - бывают. Просмотрите внимательно список проектов, которые используют Juce. Замечу, не только оперсорсных, но и коммерческих. Буржуи, знаете ли, лишние деньги не тратят. Даже если это 200 фунтов за лицензию.


Цитата(Алексей1153 @ 16.7.2012, 16:22) *
типичный спам


По всей видимости, Вы не знаете, что такое спам. Давайте-ка заглянем в словарь:

Цитата
Спам (англ. spam) — массовая рассылка коммерческой и иной рекламы или иных видов сообщений (информации) лицам, не выражавшим желания их получать.


Во-первых, ни о какой массовости речь не идёт: я этот пост разместил здесь и только здесь.
Во-вторых, насчёт "не выражавшим желания их получать": я, быть может, ошибся форумом? Насколько я понимаю, это "форумы по кроссплатформенному программированию". Juce - это библиотека для кроссплатформенной разработки на языке C++. Быть может, я ошибся веткой? "Другие библиотеки" - ну, так Juce и является такой, другой библиотекой. Парадоксальной. Весьма широко используемой и при этом практически неизвестной вне круга разработчиков аудио-приложений.
А вообще, поражает меня этакий снобизм и желание всё, уж простите, обосрать в первом же посте. Я бы понял, если бы Вы написали "я пробовал Juce, но у неё такие-то недостатки. Я считаю, что вместо Juce необходимо использовать такую-то библиотеку потому-то". Но Ваше "чудес не бывает", уж простите, из разряда "не читал, но осуждаю". <_< Как вообще можно писать что-то, кроме "попробую - выскажусь" о чём-либо, не получив об этом представления?
К слову, вышеупомянутый курс о Juce - это первый курс вообще. И на русском, и на английском. Так что смею надеяться, что мой пост не спам, а новость. Радостная, для тех, кто понимает.

Цитата(Iron Bug @ 17.7.2012, 10:39) *
главное, чтобы это всё это было не проприетарным и кроссплатформенным.


Ситуация с Juce напоминает таковую с Qt в прежние времена: библиотека распространяется под двойной лицензией. GPL - для проектов с открытым кодом и коммерческой - для проприетарных. Отличий в поставке библиотеки для тех, и для других целей нет. Разве что отдельная ветка для коммерческих разработчиков на форуме. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.11.2024, 12:59