52
ЗМІСТ ПЕРЕЛІК СКОРОЧЕНЬ, УМОВНИХ ПОЗНАЧЕНЬ, ТЕРМІНІВ_____ ВСТУП______________________________________________ 1. АНАЛІЗ ІСНУЮЧИХ РІШЕНЬ ТА ОБҐРУНТУВАННЯ ТЕМИ ДИПЛОМНОГО ПРОЕКТУ_________________________________ 1.1. Сайти та їх опис _______________________________________ 1.2. Обгрунтування вибору теми дипломного проекту _________________ 2. ОПИС ЗАСОБІВ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ_______ 2.1. Кросплатформність___________________________________________ 2.2. Види і типи сучасних мов програмування_______________________ 2.2.1. Універсальні й спеціалізовані мови______________________ 2.2.2. Класифікація мов програмування за типами задач________ 2.3. Основні переваги і завдання ___________________________________ 2.4. Опис додатку ________________________________________________ 3. АНАЛІЗ ОТРИМАНИХ РЕЗУЛЬТАТІВ_____________________ 3.1.________________________Отримані результати роботи додатку 3.2. Порівняння отриманих даних з іншими програмними забезпеченнями______________________________________________________ ВИСНОВОК___________________________________________ СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ_____________________

scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

ЗМІСТ

ПЕРЕЛІК СКОРОЧЕНЬ, УМОВНИХ ПОЗНАЧЕНЬ, ТЕРМІНІВ_______

ВСТУП_______________________________________________________

1. АНАЛІЗ ІСНУЮЧИХ РІШЕНЬ ТА ОБҐРУНТУВАННЯ ТЕМИ

ДИПЛОМНОГО ПРОЕКТУ______________________________________1.1. Сайти та їх опис _______________________________________

1.2. Обгрунтування вибору теми дипломного проекту _________________

2. ОПИС ЗАСОБІВ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ______2.1. Кросплатформність___________________________________________

2.2. Види і типи сучасних мов програмування_______________________

2.2.1. Універсальні й спеціалізовані мови______________________

2.2.2. Класифікація мов програмування за типами задач________

2.3. Основні переваги і завдання ___________________________________

2.4. Опис додатку ________________________________________________

3. АНАЛІЗ ОТРИМАНИХ РЕЗУЛЬТАТІВ________________________

3.1. Отримані результати роботи додатку_________________________________ 3.2. Порівняння отриманих даних з іншими програмними забезпеченнями______________________________________________________

ВИСНОВОК___________________________________________________

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ________________________

ДОДАТКИ

Додаток 1. Копії графічних матеріалів

- ІАЛЦ.467200.005 Д1. Алгоритм обробки зображень. Схема структурна

Page 2: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

- ІАЛЦ.467200.006 Д2. Кросплатформний додаток. Схема алгоритму

- ІАЛЦ.467200.007 Д3. Модулі додатку. Схема структурна

- ІФЛЦ.467200.008 Д4. Алгоритм розпізнавання сторінки. Схема алгоритму

Додаток 2. Фрагменти програмного коду

Page 3: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

ПЕРЕЛІК СКОРОЧЕНЬ, УМОВНИХ ПОЗНАЧЕНЬ, ТЕРМІНІВ

HTML - (з англ. HyperText Markup Language) — Мова розмітки гіпертекстових документів

СSS – (з англ. Cascading Style Sheets) Каскадні таблиці стилів

РHP – (з англ. Hypertext Preprocessor)

F7– фреймворк (з англ. Framework) основна концептуальна система або структура для вирішення комплексних задач

MySQL – система керування базами даних(СКБД)

ВСТУП

При стрімкому зростанні різних інтернет послуг, в тому числі і зростанні інтернет спільноти, був відзначений попит на різні предмети мистецтва.

Люди все менше і менше користуються стаціонарними комп'ютерами. На сьогоднішній день, майже кожна людина володіє смартфоном під керуванням однієї з операційних систем (IOS,

Page 4: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Android, WindowsPhone). Використання цих гаджетів вписується в наш розпорядок дня, замінюючи наприклад рутинне перебування в транспорті, на комфортне прогортання стрічки новин, перегляд яких-небудь матеріалів або процесу гри на смартфоні.

Життя сучасної людини настільки насичена різними подіями, що не у кожного є можливість зайти і насолодиться мистецтвом безпосередньо, вже не кажучи про пошук контактів з авторами робіт та купівлі вподобаного витвору мистецтва. Існує досить багато різних інтернет ресурсів за поданням живопису і т.д. Але на жаль з браузера смартфона переглядати такий матеріал вкрай незручно, вже не кажучи про те що б поділиться ним зі своїми колом спілкування.

Як правило, такі програми бувають двох типів:

-браузерні,

-мобільні додатки з виходом в інтернет.

Актуальність даної дипломної роботи полягає у тому, що у додатку, що розроблений, не має аналогів на ринку мобільних додатків. Жодне арт-об’єднання не сьогоднішній день не має мобільного додатку. Цей проект є унікальним і після закінчення буде знаходитися у вільному доступі.

1. АНАЛІЗ ІСНУЮЧИХ РІШЕНЬ ТА ОБҐРУНТУВАННЯ ТЕМИ

ДИПЛОМНОГО ПРОЕКТУ

1.1. Сайти та їх опис

Існує дуже велика кількість сайтів, що дають нам базові та розширенні поняття, щодо мистецтва в цілому. Ці сайти поділяються на багато категорій, наприклад:

- Державні. Державні онлайн галереї, які працюють на платформі сайтів

державних структур тощо;

- Приватні(персональні) – сайти, котрі створені людьми, для представлення їхнього

приватного мистецтва;

- Ознайомчі – сайти, котрі дають людям змогу милуватися окремими витворами

мистецтва на вільній основі;

- Комерційні – ті інтернет ресурси, які націлені на продаж живопису у всіх його

можливих проявах: оригінали, репродукції, тощо.

Розглянемо один з основних ознайомчих сайтів – це gallerix.ru. Як показано нижче(рис. 1.1.1.), цей сайт спеціалізується не тільки на поданні до перегляду відсканованих робіт, а й на

Page 5: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

обговоренні їх на форумі, дає можливість ознайомиться з біографією відомих художників і новинами у сфері мистецтва. Також сайт дає можливість ознайомитися з колекціями музеїв світу, сучасними митцями і їх творами. Адміністратори проводять часте оновлення новин і архівів.

Рис. 1.1.1. Головна сторінка сайту gallerix.ru

Але як і у більшості сайтів у цього сайту є свої переваги та свої недоліки.

Основна перевага сайту міститься у тому, що достатня кількість різної інформації міститься в ньому Але архів цієї сторінки перевірений недосконало, деякі альбоми не повні, багато непідписаних робіт.

Якщо зареєструватись, у користувача з’являється можливість розмовляти на форумі, зберігати копії робіт у високому форматі та без мітки сайту у кутку. Також на сайті присутня інформація, яка представлена у вигляді ігор, що дозволяє урізноманітнити час, проведений на сторінці. До вподоби вибагливим користувачам буде можливість змінити дизайн сайту під себе, обравши кольорову групу згори сторінки, справа від основного меню. Зі сторінок сайту ви можете дізнатися інформацію про різні вистави, виставки, чи інші події.

На жаль такі сайти виживають тільки за рахунок контекстної реклами, яка розташована з боків сайту.

Page 6: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Розглянемо один з комерційних сайтів – це kievgallery.com.ua. Це сайт, що займається представленням та продажом мистецтва в інтернеті. Цей сайт має вже зовсім іншу структуру(рис. 1.1.2.) та на відміну від першого має більш приємний дизайн.

Рис. 1.1.2. Сайт kievgallery.com.ua

Щодо переваг використання цього сайту, то він також має багато інформації стосовно витворів мистецтва, але він менш інформативний і розрахований на реалізацію робіт представлених авторів. Мала кількість матеріалу компенсується зручністю користування сторінкою. Прикро розуміти, що контингент таких ресурсів зазвичай складається з посередників і перекупників, і немає зв’язку між митцем і покупцем напряму, від цього страждає сам автор робіт і останній власник роботи.

Із приємних частин сайту: представлена частина онлайн-допомоги у вигляді чату, який знаходиться знизу праворуч на сторінці. Крім продажу картин сайт займається виготовленням художньої унікальної роботи на замовлення (наприклад: портрет, пейзаж), обробкою, реставрацією та оформленням готових робіт. Також є можливість прийти на урок малювання, який організовано керівництвом онлайн-галереї.

Мінусом таких проектів, на жаль, є маленьке портфоліо робіт і авторів, тільки разом із постійним продажом витворів мистецтва можливий і ріст каталогу робіт.

Розглянемо один з приватних сайтів - galleryariana.com. На відміну від сайтів, що представлені вище, цей рекламує творчість тільки однієї людини. Він більш простий по структурі (рис. 1.1.3.) за попередні.

Page 7: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 1.1.3. Сайт galleryariana.com

Цей сайт представлений у вигляді однієї сторінки. Верхнє меню являє собою посилання на частини сторінки. Це шаблонна сторінка, більшість персональних сайтів різних тематик виглядають структурно подібно. Така форма сайту виключає його довге написання, виділення місця для інформації та фінансові витрати на підтримку. Мінусом такої системи представлення контенту є те, що ви обмежені вибором певних функцій, за рамки яких ви не можете вийти.

Ще один приклад приватного сайту - thomaskinkade.com. На відміну від попереднього, цей набагато складніший за структурою (рис. 1.1.4.). Такі сторінки потребують спостереження і підтримки. Досить мало персональних сайтів більш високої складності. Уся інформація про сайт знаходиться зразу зліва сторінки, та не з’їжджає при прокрутці, що досить зручно і не займає багато корисного місця на сторінці.

Page 8: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 1.1.4. Сайт thomaskinkade.com

Розглянемо один із державних сайтів - www.nationalgallery.org.uk. Подібні сторінки створюються для заохочування людей у відвідуванні живих експозицій. Проста конструкція (рис. 1.1.5.), чіткість подання інформації, мінімалістичний дизайн. Роль онлайн-галереї на таких сторінках дуже мала, оскільки використовується лише при анонсуванні новин або як нагадування на продаж сувенірної продукції.

Page 9: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 1.1.5. Сайт www.nationalgallery.org.uk

Одним із яскравих прикладів онлайн-галереї являється - photoswipe.com. Це сайт-приклад присвячений JavaScript розробці. Сторінка має неоднозначну структуру (рис. 1.1.6.), побудована по типу односторінкової.

Page 10: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 1.1.6. Сайт photoswipe.com

Цей ресурс яскравий приклад кросплатформної розробки. Перелік підтримуваних операційних систем представлений на рис. 1.1.7.

Рис. 1.1.7. Сайт photoswipe.com

До переваг можна віднести вільний доступ до сторінки, адже вона несе чисто інформативний характер. На сайті є розділ з розробки, де приведена інструкція з користування цього додатку. Кожен користувач може вільно завантажити JavaScript файл, та додати до свого

Page 11: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

проекту. Усі відвідувачі мають змогу підписатися на сторінку розробника на GitHub. Існує пункт «Ідеї», де кожна людина має можливість додати свою ідею, і при достатній її популярності, розробник її реалізує.

Ще одним хорошим прикладом онлайн-галереї є www.jssor.com. Цей сайт також несе інформативний характер з розробки на JavaScript. На цій сторінці іде перелік допустимих функцій, якими може користуватися розробник. Структура сайту представлена на рис. 1.1.8.

Рис. 1.1.8. Сайт www.jssor.com

Структура цієї сторінки досить ергономічна для користувача, є корисні посилання і зв’язки з соціальними мережами. У верхній частині сайту представлено контекстне меню переходу між розділами сайту. Основна частина сайту – це набір можливих властивостей (варіантів відображення) для побудови власної онлайн галереї мовою JavaScript. На жаль користувач не може запропонувати нове рішення. При виникненні яких-небудь проблем чи питань, ви можете звернутися за допомогою до спеціалістів через пункт меню «Support» - «Ask a question on StackOverflow».

До персональних онлайн-галерей ще можна віднести онлайн видання і галереї арт-об’єднань. Прикладом таких проектів буде – fbrk.com.ua. Структура сторінки подана нижче на рис. 1.1.9. Такі сайти просто будуються за допомогою WordPress (посилання - wordpress.org).

Page 12: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 1.1.8. Сайт fbrk.com.ua

Угорі сторінки подана назва, контекстне меню, сортування по видам робіт, пошук та зв’язок з організаторами у соціальних мережах. Нижче приведена таблиця з роботами різних авторів у порядку додавання. Інтерфейс простий і зрозумілий кожному. У пункті меню «О нас» користувач може знайти всю потрібну інформацію про арт-об’єднання і її кураторів. Треба відмітити, що такі молодіжні рухи набирають оберти за рахунок соціальних мереж і веб-сторінка потрібна лише для іноземних користувачів.

1.2. Обґрунтування вибору теми дипломного проекту

На сьогоднішній день майже кожна людина користується смартфоном під керівництвом однієї з операційних систем (IOS, Android, WindowsPhone). Це свідчить про популярність мобільних додатків. В той час коли кожний додаток для кожної платформи розробляється окремо, з’явилися технології для одночасної (кросплатформної) розробки. Користуючись подібними технологіями, скорочується час створення програмного продукту і розробник швидко може отримати результат. Головною перевагою являється те, що навіть початківець, або людина зовсім не знайома з мобільною розробкою зможе створити потрібний собі мобільний додаток.

З початку часів люди цікавляться витворами мистецтва, і в наш час цей процес набрав велетенських обертів. Фестивалі та виставки, музейні виставки та open-air-и, експозиції та ярмарки – все це заради мистецтва, і це не кажучи про технічний прогрес. Люди, які займаються мистецтвом паралельно ведуть свої блоги, в які викладають від скановані свої роботи. Більшість митців займаються продажом робіт через інтернет.

Підходячи до вибору теми дипломного проекту, було зрозуміло, що є вже багато розроблених сайтів та ресурсів, але немає жодного мобільного додатку, який би збирав роботи і

Page 13: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

показував їх у простій і зручній формі. Але як показав аналіз вище - усі ресурси є більш менш довершені у своєї галузі, але не було ще того ресурсу, який би це усе поєднував та знаходився у одному ярлику на робочому столі вашого смартфону.

Page 14: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

2. ОПИС ЗАСОБІВ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ

2.1. Кросплатформність

Кросплатформність - це атрибут присвоєний програмним забезпеченням або обчислювальним методам і концепціям, які реалізовані і працюють на декількох платформах. Програмне забезпечення та методи повинні бути незалежним від платформи. Крос-платформне програмне забезпечення може бути розділене на два типи: один вимагає індивідуального будівництва або компіляції для кожної платформи, яке воно підтримує, і інші, які можуть безпосередньо працювати на будь-якій платформі без спеціальної підготовки, наприклад, програмне забезпечення, написане на інтерпретованій мові або заздалегідь скомпільоване у портативний байт-код , для якого компілятором буде, або одиночасно виконувані стандартні пакети, або стандартні компоненти всіх платформ.

Останні версії фреймворків показують хороші результати по взаємозв’язку елементів різних платформ, додатки створені на їх основі досить конкурентно-спроможні на ринках мобільних додатків. Але чи є недоліки? Тестування крос-платформних додатків може бути значно складнішим, тому що різні платформи можуть демонструвати декілька різну поведінку або тонкі помилки. Розробники часто обмежуються використанням найменшого спільного знаменника підмножин функцій, які доступні на всіх платформах.

Різні платформи часто використовують різні угоди про користувальницький інтерфейс, які на крос-платформних додатках не завжди розміщенні. Наприклад, додатки, розроблені для Mac OS X і GNOME повинні поставити кнопку керування сторінкою на правій стороні вікна або діалогу, в той час як Microsoft Windows і KDE мають протилежні правила.

Хоча багато з цих відмінностей є тонкими, крос-платформні додатки, які не відповідають цим правилам, для користувача здаються не зручними за рахунок не співпадання з властивостями платформи. При швидкій роботі з додатком, такі протилежні конвенції може навіть призвести до втрати даних, наприклад, в діалоговому вікні, що підтверджує, чи хоче користувач зберегти або скасувати зміни у файлі.

Мови сценаріїв і віртуальні машини повинні бути переведені на рідний виконуваний код, кожного разу коли додаток працює, це призводить до зменшення середньої продуктивності. Різні платформи вимагають використання форматах пакетів, таких як RPM і MSI . Крос-платформні інсталятори, такі як InstallAnywhere задовольняють цю потребу. Середовище розробки крос-платформних програм може призвести до зменшення безпеки додатку, створюючи благодатне середовище для крос-платформних шкідливих програм.

Нижче наведений перелік з 6 найбільш популярних платформ для розробки крос-платформних мобільних додатків (рис. 2.1.1.). Крім посилань на сайти постачальників рішень, перераховано основні параметри, які дозволять поверхнево порівняти перераховані платформи.

Кожен із 6 варіантів розробки порівнюється з нативним аналогом, так більш точно з’ясувати повноту можливостей однієї із платформ. Одним із факторів при виборі платформи є ціна за її використання. Appcelerator, PhoneGap, IBM Worklight – безкоштовні, всі інші безкоштовні тільки на місячний термін.

Page 15: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 2.1.1. Перелік платформ

З точки зору маркетингу і популяризації продукту платформи діляться на платформи: з встановленими засобами (AppCelerator), без засобів (Unity3D, PhoneGap, IBM WorkLight, Telerik) та потребуючих встановлення (Xamarin).

За останні два роки помітно зріс попит на розробку крос-платформних додатків, більшість розробників, при чому, схиляються до гібридного методу, а ніж до нативного. Нижче наведена схема розвитку темпів розробок різними методами (рис. 2.1.2.).

Page 16: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 2.1.2. Статистика по методам

Як видно гібридний метод зростає. За статистикою: половина розробників яким потрібно сумісність більше двох платформ, звертаються до гібридного методу крос-платформної розробки.

Щодо реалізації інтерфейсної частини,- платформи поділяються на: нативні (Appcelerator) та конвертовані у нативні (PhoneGap).

Існує два найважливіших принципи у крос-платформному програмуванні додатків: чіткий поділ на інтерфейсну частину і «движок», та максимально широке використання стандартів. У вподобанні до вже стандартизованих мов, підвищується захист додатку.

Чи не найбільш важливим моментом є вибір мови програмування і, відповідно, сумісних з ним технологій і стандартів.

Неможна сказати що та чи інша мова є ліпшим варіантом для розробки додатку. Важливо розуміти яким повинен буди додаток, які апаратні можливості він повинен використовувати, чи повинен взаємодіяти з інтернетом, чи потрібен зв’язок з базами даних, чи потрібно використовувати який-небудь окремий фреймворк. Відштовхуючись від цього, представлено нижче список мов які можна використовувати у крос-платформній розробці та притаманні їм властивості.

     С - стандартизована процедурна мова програмування. С створена

для використання в операційній системі UNIX. З тих пір вона була портована

на інші операційні системи і стала однією з найбільш використовуваних мов

програмування. С цінують за її ефективність. Вона є найпопулярнішою

мовою для створення системного програмного забезпечення. Її також часто

використовують для створення прикладних програм. Незважаючи на те, що С

не розроблялася для новачків, вона активно використовується для навчання

Page 17: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

програмуванню. Надалі синтаксис мови С став основою для багатьох інших

мов.

     C++ - компільована статично типізована мова програмування

загального призначення. Підтримуючи різні парадигми програмування,

поєднує властивості як високорівневих, так і низькорівневих мов. У

порівнянні з його попередником - мовою C - найбільшу увагу приділено

підтримці об'єктно-орієнтованого і узагальненого програмування. Назва C++

походить від мови C, в якій унарний оператор ++ позначає інкремент змінної.

     Free Pascal (повна назва Free Pascal Compiler, часто

використовується скорочення FPC) - вільно розповсюджуваний компілятор

мови програмування Pascal.

     Java - об'єктно-орієнтована мова програмування, розроблена

компанією Sun Microsystems. Програми Java зазвичай компілюються в

спеціальний байт-код, тому вони можуть працювати на будь-який

віртуальній Java-машині (JVM) незалежно від комп'ютерної архітектури.

     C# відноситься до сім'ї мов із C-подібним синтаксисом, з них її

синтаксис найбільш близький до C++ і Java. Мова має статичну типізацію,

підтримує поліморфізм, перевантаження операторів (у тому числі операторів

явного і неявного приведення типу), делегати, атрибути, події, властивості,

узагальнені типи і методи, ітератори, анонімні функції з підтримкою

замикань, винятки, коментарі у форматі XML.

     PHP - скриптова мова програмування загального призначення,

інтенсивно застосовується для розробки веб-додатків. У даний час

підтримується переважною більшістю хостинг-провайдерів і є однією з

лідерів серед мов програмування, що застосовуються для створення

динамічних веб-сайтів.

Page 18: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

     ActionScript - об'єктно-орієнтована мова програмування, яка додає

інтерактивність, обробку даних і багато чого іншого до вмісту Flash-додатків.

ActionScript виконується віртуальною машиною (ActionScript Virtual

Machine), яка є складовою частиною Flash Player. ActionScript компілюється в

байт-код, який включено до SWF-файлу.

     Perl - високорівнева динамічна мова програмування загального

призначення, що інтерпретується. Головною особливістю мови вважаються її

можливості для роботи з текстом, у тому числі реалізовані за допомогою

регулярних виразів. Perl успадкував багато властивостей від мов Си, shell

script, awk.

     Python - високорівнева мова програмування загального

призначення з акцентом на продуктивність розробника і читаність коду.

Синтаксис ядра Python мінімалістичний. У той же час стандартна бібліотека

включає великий обсяг корисних функцій.

     Ruby - динамічна, рефлективна, інтерпретована високорівнева мова

програмування для швидкого і зручного об'єктно-орієнтованого

програмування. Мова має незалежну від операційної системи реалізацію

багатопоточності, жорсткою динамічною типізацією, сміттярем і багатьма

іншими можливостями. Ruby близька за особливостями синтаксису до мов

Perl і Eiffel, за об'єктно-орієнтованим підходом - до Smalltalk. Також деякі

риси мови взяті з Python, Lisp, Dylan та CLU.

JavaScript - динамічна, об'єктно-орієнтованa мова програмування. Реалізація стандарту ECMAScript. Найчастіше використовується як частина браузера, що надає можливість коду на стороні клієнта (такому, що виконується на пристрої кінцевого користувача) взаємодіяти з користувачем, керувати браузером, асинхроннообмінюватися даними з сервером, змінювати структуру та зовнішній вигляд веб-сторінки. Мова JavaScript також використовується для програмування на стороні серверу (подібно до таких мов програмування, як Java і C#), розробки ігор, стаціонарних та мобільних додатків, сценаріїв в прикладному ПЗ.

Кажучи про вибір мови програмування, звісно розробник сам у праві вибирати, але аналізуючи досвід ринку розробки можна виділити п’ять основних мови: Java, C#, С++, JavaScript, PHP. Нижче на таблиці 2.1.1 приведена таблиця порівняння різних технологій розробки.

Page 19: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Таблиця 2.1.1.

Порівняльна характеристика технологій розробки

Одиниця властивості мови \ Мова програмування

C++ C# Java JS PHP

Імперативність + + + + +

Об’єктно-орієнтованість + + + + +

Функціональність -/+ +/- -/+ +/- +/-

Рефлексивність -/+ -/+ -/+ + +

Узагальненість програмування - + + + +

Продовження табл. 2.1.1

Розподіленість +/- -/+ + - -

Статична типізація + + + - -

Динамічна типізація - + - + +

Явна типізація + + + - +/-

Неявна типізація -/+ - - + +

Неявне приведення типів без втрати даних + + - + +

Параметричний поліморфізм - + + - +

Open-source компілятор (інтерпретатор) + + + + +

Можливість компіляції + + + + +

Bootstrapping + + + + -

Багатопоточна компіляція + - + +/- -

Варіативна компіляція + + -/+ -/+ +

Некеровані вказівники + + - - -

Сбір сміття -/+ + + + +

Підтримка try/catch + + + + +

Page 20: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Ручне управління пам’яттю + + - - -

First class functions + + - + -

Анонімні функції + + + + +

Лексичні замикання + + + + +

Частичное применение +/- - - + -

Продовження табл. 2.1.1

Стандарти ISOISO ECMA

- ECMA -

Шаблони/Generics + + + N/A N/A

Підтримка Unicode в ідентифікаторах + + + + -/+

Перезавантаження функцій + + + -/+ -

Іменовані параметри - + - -/+ -

Значення параметрів за замовчуванням + + - - +

Локальні функції + +/- +/- + +

Можливість підключення бібліотек для роботи з графікою (OpenGL/ WebGL/OpenML,OpenAL, DirectX)

+ + + + -/+

Імперативність – властивість мови описувати не стільки саму задачу, скільки її рішення.

Об'єктно-орієнтована мова заснована на представленні у вигляді об'єктів, що є екземплярами того чи іншого класу і втілює застосування концепції абстрагування. Об'єкт при цьому поєднує в собі як дані, так і методи, які їх обробляють. Як правило, підтримуються характерні можливості: спадкування, інкапсуляція і поліморфізм.

Рефлексивність - наявність в мові потужних механізмів інтроспекції, функції eval. Можливість програми на даній мові оперувати власним кодом як даними.

Функціональність - дозволяє записувати програму як композицію функцій. У чистому функціональному мові немає змінних. Так як функції не мають побічних ефектів, вони можуть виконуватися в будь-якому порядку.

Узагальненість програмування - дозволяє записувати алгоритми, що приймають дані будь-якого типу.

Page 21: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Розподіленість – властивість мови, що містить спеціальні конструкції для підтримки розпаралелювання програми на кілька комп'ютерів.

Статична типізація - змінні і параметри методів / функцій зв'язуються з типами в момент оголошення і не можуть бути змінені пізніше.

Динамічна типізація - змінні і параметри методів / функцій зв'язуються з типами в момент присвоювання значення (або передачі параметра в метод / функцію), а не в момент оголошення змінної або параметра. Одна і та ж змінна в різні моменти може зберігати значення різних типів.

Явна типізація - типи змінних і параметрів вказуються явно.

Неявна типізація - типи змінних і параметрів не вказуються явно. Неявна типізація може бути і статичною, в такому випадку типи змінних і параметрів обчислюються компілятором.

Параметричний поліморфізм - наявність типобезпечного параметричного поліморфізму (aka generic types). Передбачає можливість вказувати constraints або type classes для типів-параметрів.

Bootstrapping - наявність повноцінного bootstrapping-компілятора (тобто компілятора, написаного на тій ж мовою, яку він компілює, і успішно компілює самого себе).

Багатопоточна компіляція - можливість компілятора на багатопроцесорних системах використовувати декілька потоків для прискорення компіляції.

Умовна компіляція - можливість вмикати / вимикати частини коду залежно від значення символів умовної компіляції (наприклад, за допомогою #if ... #endif в C ++).

Збірка сміття - можливість використовувати автоматичний процес збірки сміття (звільнення пам'яті в купі, зайнятої невикористовуваними об'єктами).

Функції в даній мові є об'єктами першого класу.

Лексичні замикання - можливість використовувати локальну або лямбда-функцію (анонімний делегат) за межами функції-контейнера з автоматичним збереженням контексту (локальних змінних) функції-контейнера.

Іменовані параметри - можливість при виклику функції / методу вказувати імена параметрів і міняти їх місцями.

Page 22: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Значення параметрів за замовчуванням - можливість при виклику функції / методу опускати деякі параметри, щоб при цьому підставлялося значення за замовчуванням, вказане при визначенні функції.

Локальні функції - можливість визначати локальну функцію всередині іншої функції / методу. Мається на увазі можливість використовувати всередині локальної функції локальні змінні із зовнішнього блоку.

Сучасні мови програмування мають розвинені засоби

інтероперабельності, що дозволяють використовувати в одній програмі

модулі, написані різними мовами. З одного боку, розробка різних частин

проекту різними мовами ускладнює проект, з іншого - розширює

інструментарій розробника. У складному проекті можна використовувати

різні мови для написання різних додатків проекту. На рисунку 2.1.1 показано,

що на майже кожній платформі можна розробляти декількома мовами

програмування, на практиці, при побудові проекту, з самого початку

побудови вже існують розділи які відповідають за різні частини додатку.

Щодо вибору бібліотек, на яких буде конструюватися додаток, так

кожна платформа підтримує певний набір, він з самого початку обмежений

самою платформою, але розробник може додати певні плагіни для

полегшення роботи. Наприклад, в Appcelerator, користувач може додати

плагін Facebook, який полегшить обробку даних при логіні через соціальну

мережу, також він додасть певних функціональних можливостей, щодо

розробки форм додатку.

Звісно найголовнішим у мобільній розробці є її результат.

Результатом можна вважати тільки відгуком від користувачів на продукт.

Щоб користувачу сподобався додаток, потрібно в першу чергу продумати

інтерфейс. Інтерфейс був завжди складним питанням для розробника, він

повинен бути простим, зрозумілим, ергономічним і нести всю необхідну

інформацію. Проблемою крос-платформної розробки можна вважати те, що

коригувачі різних мобільних платформ звикли до різних тонкощів своїх

Page 23: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

платформ (Наприклад: розташування меню, розташування клавіш виходу,

тощо.). Проблему сумісності вирішують різні крос-платформні бібліотеки,

які, крім того, реалізують набори елементів інтерфейсу високого рівня

(віджетів). Оскільки розроблювати графічний інтерфейс користувача за

допомогою високорівневих бібліотек простіше і зручніше, ніж за допомогою

графічного інтерфейсу операційної системи, ви можете використовувати їх

навіть в програмах не розрахованих на кросплатформне перенесення.

2.2. Види і типи сучасних мов програмування

2.2.1. Універсальні й спеціалізовані мови

     Мова програмування - формальна знакова система, призначена для

запису комп'ютерних програм. Мова програмування визначає набір

лексичних, синтаксичних і семантичних правил, що задають зовнішній

вигляд програми і дії, які виконає виконавець (комп'ютер) під її управлінням.

     З часу створення перших програмованих машин людство

придумало вже більше восьми з половиною тисяч мов програмування.

Кожного року їх число поповнюється новими. Деякими мовами вміє

користуватися тільки невелике число їхніх власних розробників, інші стають

відомі мільйонам людей. Професійні програмісти іноді застосовують у своїй

роботі більше десятка різноманітних мов програмування.

     Творці мов по-різному тлумачать поняття мови програмування. До

найбільш поширених тверджень, визнаних більшістю розробників, належать

такі:

     Функція: мова програмування призначена для написання

комп'ютерних програм, які застосовуються для передачі комп'ютеру

інструкцій щодо виконання того чи іншого обчислювального процесу та

організації управління окремими пристроями.

Page 24: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

     Завдання: мова програмування відрізняється від природних мов

тим, що призначена для передачі команд і даних від людини до комп'ютера, в

той час, як природні мови використовуються для спілкування людей між

собою. В принципі, можна узагальнити визначення "мов програмування" - це

спосіб передачі команд, наказів, чіткого керівництва до дії, тоді як людські

мови служать також для обміну інформацією.

     Виконання: мова програмування може використовувати спеціальні

конструкції для визначення та маніпулювання структурами даних і

управління процесом обчислень.

     Усі популярні мови можна поділити на універсальні й

спеціалізовані. Універсальні мови використовуються для вирішення різних

завдань. Спеціалізовані мови призначені для вирішення завдань одного,

максимум кількох, видів завдань. Наприклад, роботи з базами даних, web-

програмування або написання скриптів для адміністрування операційних

систем.

     Види спеціалізованих мов:

1. Мови для роботи з базами даних:

o а) мови, що входять до складу промислових клієнт-серверних систем управління

базами даних (PL-SQL в СУБД Oracle, Transact-SQL у Microsoft SQL Server);

o б) мови є частиною інших видів СУБД (Visual FoxPro, Microsoft Access, Paradox і т.п.).

2. Мови призначені для web-програмування:

o а) мова, яка виконується на сервері, що підтримує Web-сайт (РНР, Perl, VBScript);

o б) мова, яка виконується на браузері (програмі перегляду) клієнта JavaScript, JScript,

VBScript.

3. Мови для математичних розрахунків.

4. Мови для автоматизації роботи певних програмних продуктів (VBA в Microsoft

Office).

5. Спеціалізовані мови інших видів.

Page 25: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

     До універсальних мов можна віднести мови Visual C++, Visual C+

+.Net, Visual C #.Net, Visual J#.Net, Java, Delphi, Borland C #, Borland C++

Builder.

     Хоча найчастіше спеціалізовані мови походять від універсальних

мов, наприклад, PHP, Perl і JаvаScript походять від мови С++, VBScript і VBA

походять від мови Visual Bаsic, відмінності між спеціалізованими і

універсальними мовами дуже значні.

     Спеціалізовані мови, найчастіше використовуються для написання

не дуже великих програм, тому вони оптимізовані на швидке написання

програм та зменшення розміру вихідного коду, і меншою мірою на

зменшення помилок, використання об'єктно-орієнтованого програмування і

поділу коду на модулі. А універсальні мови, як правило, використовуються

для створення великих і дуже великих проектів, тому в них усе зроблено,

щоб зменшити кількість помилок і полегшити проектування програм.

     Основна відмінність спеціальних мов від універсальних:

1. у них менше об'єктно-орієнтованих засобів і засобів доступу технологій COM,

DCOM, CORBA до функцій API операційних систем;

2. менше засобів багатопотокового програмування і розподіленого програмування;

3. використовуються тільки динамічні типи (тобто тип змінної визначається в

залежності від її значення, а не при оголошення змінної), а не статичні. Єдиний виняток: у версії 9

мови Visual FoxPro можна використовувати і статичні типи змінних.

2.2.2. Класифікація мов програмування за типами завдань

     Мова програмування - набір ключових слів (словник) і система

правил (граматичних і синтаксичних) для конструювання операторів, що

складаються з груп або рядків чисел, літер, знаків пунктуації та інших

символів, за допомогою яких люди можуть повідомляти комп'ютеру набір

команд.

Page 26: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

     З моменту створення комп'ютера створено більше 1000 мов, що

відрізняються своїм призначенням і можливостями. Найбільш значимими,

що залишили свій внесок у минулому, і що продовжують розвиватися та

використовуватися сьогодні, є:

     Машинно-орієнтовані мови - мови, орієнтовані на певний набір

команд процесора - Асемблери. До недоліків відносяться мала переносимість

і важка читабельність, мала функціональна можливість. До переваг -

швидкість і розмір, використання "недокументованих" можливостей

процесора.

     Мови професійної спрямованості й наукових розрахунків - Фортран

(математичні розрахунки), Кобол (економічні задачі), Алгол (наукові

розрахунки). Такі мови мають вузьке застосування, але у своїй області вони

забезпечують розроблювача потужними функціональними можливостями.

     Універсальні процедурні мови - Бейсік, Паскаль, С, РL/1, Ада.

Універсальні мови відрізняються високою функціональністю й формальністю

(відходом від машинної логіки). Вони все більше наближені до природних

мов. На них можна створювати будь-який клас задач - ігрові, навчальні,

прикладні, системні додатки тощо.

     Об'єктно-орієнтовані мови - мови, що прийшли на зміну

процедурним мовам - С++, Оbject Раsсаl. Підтримуючи традиції й

можливості процедурних мов, об'єктно-орієнтовані мови додають новий,

полегшуючий процес створення великих і професійних програм.

     Декларативні мови програмування - Lisp, Рrolog - мови створення

програм зі штучним інтелектом - експертні системи, інформаційні системи,

розпізнавання образів тощо.

     Мови розробки й підтримки баз даних - FохРго, FохВаsе, Dbase. Ці

мови побудовані на універсальних алгоритмічних мовах.

Page 27: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

     Мови програмування для мережі Internet - Java, РНР, Регl, НТМL.

Основне призначення мов - швидка і якісна організація інтерфейсу

користувача, доступу до інформації, забезпечення безпеки роботи в мережі.

     Макромови - вузькоспеціалізовані мови, створювані в рамках

конкретних додатків для їхньої автоматизації - VВА, 1С тощо.

     Завдання штучного інтелекту: Lisp, Prolog, Multilisp, Commonlisp,

Planner, QA4, FRL, KRL, QLisp.

     Паралельні обчислення: Fun, Apl, Alfl, PARAlfl, ML, SML, PL/1,

Hope, Miranda, Occam, PFOR, Glypnir, Actus, паралельний Cobol.

     Завдання обчислювальної математики і фізики: Occam, PFOR,

Glypnir, Actus, паралельний Cobol, ОВС-Ляпіс, ОВС-мнемокод, ОВС-Алгол,

ОВС-Фортран, PA (1), PA (G).

     Розробка інтерфейсу: Forth, C++, Асемблер, макроассемблер,

Simula-67, OAK, Smalltalk, Java, РПГ.

     Оформлення документів, обробка великих текстових файлів,

організація віртуальних тривимірних інтерфейсів в Інтернеті, розробка баз

даних HTML, Perl, Tcl / Tk, VRML, SQL, PL / SCL, Informix 4GL, Natural,

DDL, DSDL, SEQUEL, QBE, ISBL

     Створення тієї або іншої мови, як правило, знаменує появу нової

технології програмування. У той же час технологія програмування може не

залежати від мови, і нові мови проектуються, щоб підбудуватися під неї.

     Мова - технологія:

     Процедурне програмування - головним елементом алгоритму є

підпрограма. Програма розглядається як набір підпрограм, що приєднуються.

Створені підпрограми об'єднуються в бібліотеки й використовуються іншими

Page 28: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

програмістами як нові оператори мови. До мов процедурного програмування

відносять Сі, Паскаль, Бейсік.

     Об'єктно-оріентоване програмування - головним елементом

алгоритму є класи - нові типи даних, що розширюють можливості мови.

Використання класів дозволяє сховати від програміста більшість чорнової

роботи, тому що змінні й підпрограми ховаються в класах і викликаються

невидимо для програміста. Це дозволило писати великі й складні програми,

тому що в процедурних мовах з ростом програми різко збільшувалося число

помилок. Проте, усередині класи пишуться, як і звичайні процедурні

програми. Класи збираються в бібліотеки - МFС, VСL.

     Декларативне програмування - на відміну від алгоритмічних мов,

де потрібно описати порядок рішення задачі (алгоритм), у декларативних

мовах потрібно лише описати постановку задачі за допомогою фактів і

правил. Пошук рішень бере на себе мова. Сформувавши базу фактів і правил,

можна легко створити систему, яка приймає рішення.

     Технологія-мова:

     Модульне програмування - принцип побудови коду програми, що

полягає в поділі проекту на окремі модулі, які підключаються при виконанні

або компонуванні програми. Зручність модулів у тому, що для внесення змін

у програму досить замінити один модуль, не міняючи інших частин.

Найбільш широке поширення одержало при використанні DLL.

     В основі модульного програмування лежить ідея Дейкстри про те,

що складність розуміння програми зростає з ростом її розміру. Наприклад,

якщо за 1 прийняти складність програми розміром в 10 рядків і припустити,

що складність програми подвоюється через кожні 10 рядків, то програма в 60

рядків буде мати складність 32. Якщо її розділити на дві частини по 30

рядків, то її складність дорівнює 2*4=8 + складність стикування частин.

Page 29: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

     Візуальне програмування - полягає в тому, що розроблювачеві

надається ряд готових об'єктів (наприклад, елементи керування), керування

якими бере на себе система. Від розроблювача потрібно інтерактивно

зазначити використовувані компоненти, їхні властивості й правила обробки -

Delphi, Visual С++.

     Подійне програмування - визначає спосіб спілкування програми з

користувачем або системою. Подією може бути будь-яка значима для

програми дія - робота миші, завершення копіювання тощо. Подія посилає

інформацію в програму за допомогою повідомлень.

СОМ технологія - еволюційний розвиток ООП. Припускає створення об'єктів, використання яких можливе у будь-яких мовах програмування.

2.3. Основні переваги та завдання.

У наш чаш популярності набувають Framework’и, які полегшують та роблять більш комфортним процес розробки різних проектів як на мобільні платформи, так і на ПК.

Фреймворк(англ. Framework – каркас, структура) – програмна платформа, визначающя структуру програмної системи. Програмне забеспечення облягающа обробку та об'єднання різних компонентів великого програмного проекту. Вживається також слово «каркас», а деякі автори використовують його в якості основного, в тому числі не базуючись взагалі на англомовному аналогу. Можна також говорити про каркасному підході як про підхід до побудови програм, де будь-яка конфігурація програми будується з двох частин: перша, постійна частина - каркас, не змінний від конфігурації до конфігурації і несе в собі гнізда, в яких розміщується друга, змінна частина - змінні модулі (або точки розширення).

Фреймворк відрізняється від поняття бібліотеки тим, що бібліотека може бути використана в програмному продукті просто як набір підпрограм близькою функціональності, не впливаючи на архітектуру програмного продукту і не накладаючи на неї ніяких обмежень. У той час як каркас диктує правила побудови архітектури додатку, задаючи на початковому етапі розробки поведінка за умовчанням, каркас, який потрібно буде розширювати і змінювати згідно зазначеним вимогам. Приклад програмного фреймворку - CMF (Content Management Framework), а приклад бібліотеки - модуль електронної пошти.

Також, на відміну від бібліотеки, яка об'єднує в собі набір близькою функціональності, каркас може містити в собі велике число різних за тематикою бібліотек.

Іншим ключовою відмінністю фреймворку від бібліотеки може бути інверсія управління: користувацький код викликає функції бібліотеки (або класи) і отримує управління після виклику. Під фреймворку користувача код може реалізовувати конкретну поведінку,

Page 30: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

вбудовується в більш загальний, абстрактний код фреймворку. При цьому фреймворк викликає функції (класи) користувацького коду.

2.4. Опис додатку.

Новий мобільний додаток онлайн-галерея не має аналогів на ринку мобільних додатків. Додаток має на меті донести до користувача роботи молодих майстрів галереї у найбільш зручному форматі подання. Додаток містить зручний та інформативний інтерфейс, також існує сторінка інструкції по користуванню додатком, яка з’являється при першому вході у додаток.

Оскільки додаток, являє собою більш комфортну і просту версію сайту, це спрощує доступ до робіт і контакту з авторами і власниками сервісу. Визначальною рисою додатку є оптимізація завантажуваного контенту, тобто користуючись звичайним мобільним інтернетом користувач зможе роздивлятися роботи без затримок у завантаженні. Ще окремою рисою можна відзначити те, що додаток з певною періодичність нагадує про себе через пуш-повідомлення, несучи чисто інформативний характер про оновлення інформації, надаючи можливість користувачу бути у центрі останніх подій пов’язаних з молодим українським мистецтвом.

На сьогоднішній день аналітиками відмічений ріст годин користування соціальними мережами на добу. Додаток дає можливість користувачу ділитися контентом і викладати на своїх сторінках у соціальних мережах.

Розроблений додаток має перераховані нижче можливості:

- перегляд робіт;

- замовлення робіт;

- інформація про галерею та авторів;

- можливість поділитися матеріалом у соціальних мережах;

- постійні оновлення контенту додатку і сайту;

- пуш-повідомлення про оновлення контенту;

- інструкція по використанню.

Завчасно обравши технологію розробки, а саме JavaScript під керівництвом Appcelerator Titanium, був обраний варіант розробки додатку типу «Single Window Application». Створений проект такого типу, вже після створення має певні налаштування і згенеровану частину коду. Усі види можливих проектів показані на рис 2.4.1. Також Appcelerator підтримує можливість розробки за допомогою фреймворку Alloy. Він заснований на архітектурі model-view-controller і містить вбудовану підтримку для Backbone.js і Underscore.js.

Загалом платформа Appcelerator дає можливість розробки на JavaScript, Python, Ruby, PHP при тому що останні три – це доповняльні мови для окремих фрагментів коду.

Наступним етапом розробки є налаштування проекту (рис. 2.4.2.), у центрі ми бачимо підтримувані мобільні платформи (Android, Mobile Web). Кількість платформ може коригуватися залежно від потреб і можливосте користувача, адже деякі SDK не знаходяться у вільному доступі.

Page 31: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 2.4.1. Види проектів

Рис. 2.4.2. Налаштування проекту

Після цих налаштувань перед вами відкривається вікно із згенерованим кодом, запустивши який ви отримаєте додаток який буде показувати лише чисте вікно.

Під час розробки, гоже користуватися документацією, яка надається від платформи, оскільки там є корисні рекомендації і опис можливостей наведених фрагментів коду (наприклад, вигляд кнопки на різних платформах при заданні певних налаштувань).

Page 32: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

На рисунку 2.4.3 показаний один із можливих сценаріїв роботи додатку, при при натисканні на кнопку «Живопись», користувач отримує навчальний напис на екрані, і вже після того як він виконає написані інструкції, зможе отримати доступ до контенту.

Рис. 2.4.3. Один із сценаріїв запуску додатку

Однією з особливостей розробленого додатку являється алгоритм масштабування зображень, його опис буде показаний у лістингу і на структурній схемі.

Даний додаток є абсолютно некомерційним проектом, так як направлений на розширення інтересу до молодого українського мистецтва, стимулювання розвитку творчої молоді та українського мистецтва в цілому.

3. АНАЛІЗ ОТРИМАНИХ РЕЗУЛЬТАТІВ

3.1. Отримані результати роботи додатку.

У розробленому додатку є початкове меню, що дозволяє на зромузуміти якої тематики саме він є (рис. 3.1.2.1).

Page 33: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 3.1.2.1. Початкове вікно додатку.

Як ми бачимо з рисунку 3.1.2.1, контекстне меню додатку, досить просте і зрозуміле користовачу, який вперше запустив додаток. Кожен пункт меню являється посиланням на певну категорію інформації. При першому відкритті галереї робіт буду видано навчальне вікно для користувача.

Page 34: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис.3.1.2.2. Навчальна сторінка при натисканні пунктів вперше.

Page 35: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 3.1.2.3. Розділ меню – «Живопись».

Стосовно розділу «Живопись», він містить останні викладені роботи, при натисканні на одну з робіт користувач буде отримувати інформацію про неї. Інформація про роботу складається з назви роботи, ім’я автора, опис роботи, параметри роботи, коментарій автора, коротка інформація і посилання на автора. Ще одним пуктом опису роботи є так званий «like-share-repost»,- це пункт зв’язку данного додатку і соціальних мереж. Також до авторів можна дійти через пункт початкового меню «Авторы», його можна побачити на риснку 3.2.1.4.

Page 36: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 3.1.2.4. Пункт меню «Авторы».

При натисанні на автора ми отримаємо сторінку з усіма його роботами.

Повертаючись до рисунку 3.1.2.1, можна знизу побачити ссилку «Магазин» (рис. 3.1.2.5). Даний пункт містить таку інформацію, як:

- Опис умов купівлі ;

- Інструкції;

- Фотографії готових наборів з описом;

- Фотографії з Instagram з хєш-тегом - #TakeArtHome.

Page 37: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 3.1.2.5. Пункт меню «Магазин».

Після переходу по кожному пункту меню, користувач може повернутися назад провівши по екрану зліва на право, зробивши зворотню дію, повернетесь у попередньо вибраний пункт меню. На рисунку 3.1.2.6 показаний вигляд додатку після таких дій.

Page 38: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 3.1.2.6. Анімація

У додатку реалізований зв’язок із соціальними мережами (кнопка «Like Share Repost»). Посилання знаходиться у вікні із інформацією про роботу, яке з’являється після натискання на будь-яку роботу, вигляд цього вікна показаний на рисунку 3.1.2.7.

Page 39: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 3.1.2.6. Вікно інформації про роботу

Праворуч від посилання на соціальні мережі знаходиться кнопка «Buy», на данний момент при натисканні її, користувач перейде на вкладку «О нас» (рис. 3.1.2.7), оскільки усі платіжні алгоритми не знаходяться у вільному доступі.

Page 40: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

Рис. 3.1.2.7. Пункт меню «О нас»

Реалізований додаток тестувався на емуляторі Android, також він працює на платформі Mobile Web.

3.2. Порівняння отриманих даних з іншими програмними забезпеченнями.

Якщо порівнювати даний додаток з іншими, то можна помітити колосальну різницю між ними:

Page 41: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

a) Більш розгалужене меню;

b) Зручніший інтерфейс;

c) Некомерційні оновлення;

d) Ссилки на інщі джерела;

e) Різного типу новини.

Та порівняно з вже відомими та зарекомендованими додатками та сайтами даний додаток не є, на даний час, стіль яскравим. Причини, за котрими додаток, на даний момент, не є дуже конкуренто спроможним:

1) Велика команда розробників та тестувальників;

2) Інвестеційна допомога та надходження;

3) Реклама та піар;

4) Деякі функції реалізовані не досконало;

5) Зарекомендована позиція компанії у спектрах доступу до програмних продуктів.

З више вказаних причин, додаток перший час не буде займати топових позицій. Але з часом, коли інформація про нього розшириться та кількість інформації у додатку буде доволі широкою – актуальність та унікальність цього додатку досягнуть своєї мети.

Page 42: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

ВИСНОВОК

Метою даного дипломного проекту було розроблення крос-платформного мобільного додатку для користування онлайн-галереєю. Аналіз сайтів та інших інтернет ресурсів цієї тематики показав, що вони не є вдосконалими. Кожний з них має свої сильні та слабкі сторони та розроблені вони з різною ступеню складності.

Розроблений додаток для користування онлайн-галереєю:

- дозволяє отримувати загальний доступ до інформації продукту;

- забезпечує зв’язок з даними оновлення додатку;

- має зрозумілий та зручний інтерфейс;

- має можливість взаємодії з соціальними мережами;

- дає можливість зберігати інформацію.

Особливу увагу під час розроблення даного програмного продукту було приділено технології розробки, оскільки на різних платформах, одні і ті самі елементи мають різний вигляд. Розроблений додаток розрахований на поширення інформації серед користувачів. На даному етапі додаток проходить тестування, і після нього буде викладений для вільного скачування на торгівельному майданчику.

Page 43: scs.fpm.kpi.uascs.fpm.kpi.ua/sites/default/files/files... · Web viewТакож на сайті присутня інформація, яка представлена у вигляді

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

1. Робин Н. Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript [Текст] –

М. «O’REILLY», 2013. – стор. 54 – 285.

2. Справочник CSS [Електронний ресурс] – 2015. Режим доступу:

http://htmlbook.ru/css/%21important. Дата доступу: квітень 2015

3. Анимация и эффекти jQuery [Електронний ресурс] – 2013. Режим доступу:

http :// www . wisdomweb . ru / JQd / anim . php . Дата доступу: квітень 2015

4. Керри П., Майкл И. Библия пользователя «Access 2002» [Текст] – М. «Диалектика», 2003.

– стор. 727 – 778.

5. Современный учебник JavaScript [Електронний ресурс] – 2015. Режим доступу:

http://learn.javascript.ru/tutorial. Дата доступу: квітень 2015

6. Краткий курс HTML5 [Електронний ресурс] – 2015. Режим доступу:

http://www.exlab.net/html/introduction.html. Дата досту-=хпу: квітень 2015

7. Изучение PHP [Електронний ресурс] – 2015. Режим доступу: http://www.php.su/learnphp.

Дата доступу: квітень 2015 р.

8. Бібліотека jQuery [Електронний ресурс] – 2015. Режим доступу:

http://uk.wikipedia.org/wiki/JQuery. Дата доступу: травень 2015 р.

9. CSS [Електронний ресурс] – 2015. Режим доступу: http://bootstrap-ru.com/base_css.php.

Дата доступу: травень 2015 р.

10. Соколов С. А. HTML и CSS в примерах, типовых решениях и задачах. Профессиональная

работа М.: Вильямс, 2007 г.

11. Титтел Э., Бурмейстер М. HTML 4 для «чайников» 5-е изд. М.: Диалектика, 2006 г, 2006

г..

12. Эрик А. Мейер. CSS-каскадные таблицы стилей: подробное руководство М.: Символ,

2006 г.

13. Електрона система «Сократ» [Електронний ресурс] – 2015. Режим доступу:

http://socrates.vsau.org/index.php/ua/pro-systemu. Дата доступу: травень 2015 р.