- •Теоретична частина
- •1.1. Основні апаратні та програмні платформи.
- •1.2 Стан корпоративного програмного середовища типовою організації
- •1.3 Крос-платформні технології
- •2. Розробка програмного забезпечення
- •2.1 Бібілотека Juce
- •2.2 Підтримувані компілятори
- •2.3 Отримання і типи ліцензій
- •2.4 Клас Label
- •2.5 Клас TextEditor
- •2.7 Клас ComboBox
- •3.Демонстрація роботи програми
- •Висновки
- •Список використаних літературних джерел
- •Список використаних інтернет-ресурсів
2. Розробка програмного забезпечення
2.1 Бібілотека Juce
Як відомо, C + + - мова кросплатформна на рівні компіляції, тобто програма для якої- небудь операційної системи, написана на ній, може бути відкомпільована і запущена в інший без будь-яких модифікацій (або з мінімальними змінами) вихідних текстів. Однак вищесказане відноситься лише для програм. Функції інтерфейсів прикладного програмування (application programming interface, АРІ) для створення графічних додатків різняться для різних операційних систем. У той же час графічний інтерфейс користувача (graphic user interface, GUI) вже давно став стандартом де-факто принаймні для прикладних програм.
Тому програміст, який планує створювати свої продукти для різних платформ, повинен визначитися з інструментом для розробки переносимого графічного інтерфейсу. В даний час бібліотек, що надають таку можливість, існує досить багато: Qt, GTK, Motiff, Tk, U + + та інші. До їхнього числа відноситься і Juce (Jules 'Utility Class Extensions) - кроссплатформена бібліотека для створення додатків під Linux, Windows, Мас OS X, iOS і Android.
Подібно багатьом іншим кросплатформним бібліотекам (Qt, GTK, U + + та ін), Juce є універсальною, тобто надає не тільки засоби для розробки графічного інтерфейсу користувача (GUI toolkit), але і набір класів для різних потреб (робота з графікою, звуком, мережею, XML і т.п.). За рахунок цього розробники можуть створювати за допомогою Juce додатки різної спрямованості без використання додаткових бібліотек. Саме це і є основною метою Juce і визначає ряд особливостей, що виділяють її серед інших універсальних GUI toolkit'oB. На відміну від тих же Qt і GTK кросплатформеність Juce досягається за рахунок промальовування власних оригінальних елементів інтерфейсу користувача з застосуванням низькорівневих системних функцій замість використання "рідних" компонентів / віджетів для кожної платформи (рис. 2.1). Навіть заголовок і рамку вікна Juce за замовчуванням малює самостійно, хоча можна програмно переключитися на стандартне обрамлення вікон
Рис. 2.1- Оригінальний зовнішній вигляд віджетів в демонстраційній програмі Juce Demo, що входить в постачання бібліотеки (версія 1.53)
Подібний підхід можна розглядати і як перевага, і як недолік бібліотеки. З одного боку, цим досягається попіксельна ідентичність інтерфейсів додатків на всіх підтримуваних платформах, а для Linux - вирішення проблеми множинної залежності. З іншого боку, Juce не дуже підходить для додатків, інтегрованих в ту чи іншу графічну середу, оскільки принципово не може емулювати зовнішній вигляд системних компонентів / віджетів. Тим самим, основна мета Juce - створення програм з оригінальним зовнішнім виглядом, не залежних від зовнішніх бібліотек.
Втім, Juce надає можливість за вибором програміста використання елементів оформлення цільової операційної системи (заголовок вікна, системні діалоги).
Спочатку Juce була розроблена як частина кроссплатформеного аудіо-редактора та MIDI-секвенсеру Tracktion, випущеного Raw Materia! Software в 2002 році, і лише в 2004 році була опублікована як самостійний інструмент розробки. До цих пір основна ніша Juce - написання додатків для роботи зі звуком. Бібліотека включає в себе підтримку відтворення звуку через аудіо і MIDI інтерфейси, поліфонічні синтезатори, розуміє файли розповсюджених аудіоформатів (таких як WAV, AIFF, FLAC і Vorbis). Починаючи з версії 2.0 включена підтримка відтворення MP3 і WMA. Однак Juce містить достатньо засобів для розробки і інших програм будь-якого ступеня складності.
