Библиотека Juce, C++ библиотека для разработки под Linux, Windows, MacOSX и iOS |
Здравствуйте, гость ( Вход | Регистрация )
Библиотека 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 уважения ни разу не внушают - чудес то не бывает
типичный спам |
|
|
Iron Bug |
17.7.2012, 7:39
Сообщение
#3
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
ну почему же сразу спам? курсы, конечно, нам не нужны (сами с усами!), но мне вот интересно узнать про новую библиотеку для работы со звуком. у меня давно зреет намерение создать одну шнягу для работы с музыкой под кроссплатформу. и мне бы не помешала специализированная опенсорцная библиотека для работы со звуком, чтобы не через какой-то там фонон, который сам по себе монстрозный и тяжёлый, а напрямую, через кодеки и пожатие потока. главное, чтобы это всё это было не проприетарным и кроссплатформенным.
может, на досуге гляну, что за зверь такой. малый объём SDK - это не минус. библиотека может быть маленькой, но эффективной. Сообщение отредактировал Iron Bug - 17.7.2012, 7:39 |
|
|
Ank |
17.7.2012, 9:49
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 14.7.2012 Пользователь №: 3450 Спасибо сказали: 0 раз(а) Репутация: 0 |
а что вес то ? ))))) Это же у девелопера на машине. И у пользователя? Хорошо, для Linux проблема зависимостей не слишком актуальна: установлена KDE - установлена Qt. А для Windows? Программа вынуждена будет "тащить" QtCore4, QtGui4 и т.п. Всего до 10 Мб. Это в том случае, если программа будет незвучащая. В случае, если есть необходимость хотя бы воспроизведения фонового звука "подтянутся" Phonon и GStreamer. Программа, написанная на основе классов Juce, будет включать всё в эти самые 4-5 Мб исполняемого файла. И кстати, прежде, чем SDK окажется на машине, её нужно загрузить. Для каждой из целевых операционных систем. Для Juce - грузим 5 Мб. Один раз. Для всех ОС. Устанавливать, к слову, не нужно. Модули включаются в проект в виде исходных текстов. Или не включаются. По желанию разработчика. А 5 метров SDK уважения ни разу не внушают - чудес то не бывает Вот удивитесь - бывают. Просмотрите внимательно список проектов, которые используют Juce. Замечу, не только оперсорсных, но и коммерческих. Буржуи, знаете ли, лишние деньги не тратят. Даже если это 200 фунтов за лицензию. типичный спам По всей видимости, Вы не знаете, что такое спам. Давайте-ка заглянем в словарь: Цитата Спам (англ. spam) — массовая рассылка коммерческой и иной рекламы или иных видов сообщений (информации) лицам, не выражавшим желания их получать. Во-первых, ни о какой массовости речь не идёт: я этот пост разместил здесь и только здесь. Во-вторых, насчёт "не выражавшим желания их получать": я, быть может, ошибся форумом? Насколько я понимаю, это "форумы по кроссплатформенному программированию". Juce - это библиотека для кроссплатформенной разработки на языке C++. Быть может, я ошибся веткой? "Другие библиотеки" - ну, так Juce и является такой, другой библиотекой. Парадоксальной. Весьма широко используемой и при этом практически неизвестной вне круга разработчиков аудио-приложений. А вообще, поражает меня этакий снобизм и желание всё, уж простите, обосрать в первом же посте. Я бы понял, если бы Вы написали "я пробовал Juce, но у неё такие-то недостатки. Я считаю, что вместо Juce необходимо использовать такую-то библиотеку потому-то". Но Ваше "чудес не бывает", уж простите, из разряда "не читал, но осуждаю". Как вообще можно писать что-то, кроме "попробую - выскажусь" о чём-либо, не получив об этом представления? К слову, вышеупомянутый курс о Juce - это первый курс вообще. И на русском, и на английском. Так что смею надеяться, что мой пост не спам, а новость. Радостная, для тех, кто понимает. главное, чтобы это всё это было не проприетарным и кроссплатформенным. Ситуация с Juce напоминает таковую с Qt в прежние времена: библиотека распространяется под двойной лицензией. GPL - для проектов с открытым кодом и коммерческой - для проприетарных. Отличий в поставке библиотеки для тех, и для других целей нет. Разве что отдельная ветка для коммерческих разработчиков на форуме. |
|
|
Алексей1153 |
18.7.2012, 6:14
Сообщение
#5
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Ank, ну меня то лечить не надо Спам продолжается, ещё более подтверждая свою спамливость
|
|
|
Ank |
18.7.2012, 6:29
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 14.7.2012 Пользователь №: 3450 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ank, ну меня то лечить не надо Спам продолжается, ещё более подтверждая свою спамливость А я и не лечу. Согласно словарю воровского жаргона, "лечить" - "1) врать; 2) задабривать". Задабривать Вас мне незачем. А если имеется в виду враньё, то в чём оно? Да, и в чём Вы увидели спам-то? Не понимаю (см. мой пост выше). Смысл Ваших постов? Не знаю о чём, но напишу, чтобы слово вставить? |
|
|
Алексей1153 |
18.7.2012, 12:17
Сообщение
#7
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Ank, тут нет воров (использование сломанных программ в целях экономии семейного бюджета за воровство не считаем )
Смысл наших постов (да можно на "ты", чесслово) - тупо проверка на вшивость. Не нужно так остро реагировать даже на столь слабый троллинг Не спам - отлично. |
|
|
Ank |
19.7.2012, 21:07
Сообщение
#8
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 14.7.2012 Пользователь №: 3450 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ank Смысл наших постов (да можно на "ты", чесслово) - тупо проверка на вшивость. Не нужно так остро реагировать даже на столь слабый троллинг Не спам - отлично. Да почему же остро, нормально. Ну, если проверку прошёл, то хорошо. Кстати, вот что можно делать с помощью Juce: Право жаль, что приложение проприетарное и нельзя взглянуть на код... |
|
|
Алексей1153 |
20.7.2012, 11:59
Сообщение
#9
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
Гость_Гость_* |
23.7.2012, 16:27
Сообщение
#10
|
Гости |
Личное впечатление: использовал не на очень производительной машине (x86. 2.8 gghz 1 core), UI тормозит, всё остальное довольно удобно, хоть и своеобразно. Идеально подходит для написания VST плагинов ко всяким fruty loops, даже с родным UI, плюс довольно легко вкорячить GUI от другого фреймворка(проще чем в Qt например).
|
|
|
Текстовая версия | Сейчас: 25.11.2024, 8:32 |