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 уважения ни разу не внушают - чудес то не бывает

типичный спам
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


Цитата(Алексей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 - для проектов с открытым кодом и коммерческой - для проприетарных. Отличий в поставке библиотеки для тех, и для других целей нет. Разве что отдельная ветка для коммерческих разработчиков на форуме. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей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  


Цитата(Алексей1153 @ 18.7.2012, 10:14) *
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  


Цитата(Алексей1153 @ 18.7.2012, 16:17) *
Ank
Смысл наших постов (да можно на "ты", чесслово) - тупо проверка на вшивость. Не нужно так остро реагировать даже на столь слабый троллинг :)

Не спам - отлично.


Да почему же остро, нормально. Ну, если проверку прошёл, то хорошо. :)
Кстати, вот что можно делать с помощью Juce:



Право жаль, что приложение проприетарное и нельзя взглянуть на код...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 20.7.2012, 11:59
Сообщение #9


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

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

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




Репутация:   34  


Цитата(Ank @ 20.7.2012, 0:07) *
у, если проверку прошёл, то хорошо.


я не знаю. Ты вежливый спамер :D

ладно, шучу
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 23.7.2012, 16:27
Сообщение #10





Гости








    


Личное впечатление: использовал не на очень производительной машине (x86. 2.8 gghz 1 core), UI тормозит, всё остальное довольно удобно, хоть и своеобразно. Идеально подходит для написания VST плагинов ко всяким fruty loops, даже с родным UI, плюс довольно легко вкорячить GUI от другого фреймворка(проще чем в Qt например).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 1.12.2024, 14:22