Розділ 2. Аналіз та вибір технологій для розробки додатку для мобільної платформи
Така пошарова архітектура ілюструє той рівень абстракції, де шари вищого рівня більше відокремлені, а нижчі шари виконують більш фундаментальне завдання, і більше пов’язані з апаратним оснащенням. Тут не обов’язково те, що шари вищого рівня в деяких функціях покладаються на нижчі верстви. Apple рекомендує використовувати платформи вищого рівня наскільки це можливо часто, тому що вони найчастіше… Читати ще >
Розділ 2. Аналіз та вибір технологій для розробки додатку для мобільної платформи (реферат, курсова, диплом, контрольна)
Огляд мобільних програмних платформ
В даному бакалаврському проекті розробляється додаток для роботи з документами для мобільних пристроїв. Оскільки зазвичай пристрої такого типу мають обмежені фізичні ресурси, то для шифрування буде використаний легковісний криптоалгоритм.
Під програмною платформою мається на увазі основна операційна система, яка виконується на даній апаратній платформі (або процесорний архітектурі, в загальному випадку). Деякі програмні платформи підтримують різні архітектури на рівні окремих збірок ядра. ПЗ під одну з платформ зазвичай неможливо безпосередньо запустити як на іншій платформі (програмної), так і на іншій архітектурі цієї ж платформи.
Android
Android — операційна система для смартфонів, планшетів і нетбуків. Вихідний код системи повністю відкритий. Дана платформа активно розвивається. У Android є велика спільнота розробників, які розширюють функціональність пристроїв [19].
Під Android розробники, в основному, пишуть програми на мові Java, що керують пристроєм через розроблені Google бібліотеки.
Androidдодатки включають в себе Javaдодатки та бібліотеки, які запускаються віртуальною машиною Dalvik c JIT компілятором. Бібліотеки включають в себе систему управління, графіку OpenGL ES 2.0, движок WebKit, графічний движок SGL, SSL і бібліотеки Bionic. Операційна система Android складається з 12 мільйонів рядків коду, в тому числі 3-х мільйонів рядків XML, 2.8 мільйонів рядків на C, 2.1 мільйона рядків на Java і 1.75 мільйона рядків на C + +.
Платформа Android включає набір C/C + + бібліотек, використовуваних різними компонентами ОС. Для розробників доступ до функцій цих бібліотек реалізований через використання Application Framework. Нижче представлені деякі з них:
- · Bionic (Бібліотека стандартних функцій, несумісна з libc);
- · libc (стандартна системна бібліотека мови Сі);
- · мультимедійні бібліотеки (на базі PacketVideo OpenCORE; підтримують такі формати, як MPEG-4, H.264, MP3, AAC, AMR, JPEG та PNG);
- · SGL (рушій двовимірної графіки);
- · OpenGL ES 1.0 (рушій тривимірної графіки);
- · Surface Manager (забезпечує для застосунків доступ до 2D/3D);
- · WebKit (готовий рушій для Web-браузера; обробляє HTML, JavaScript);
- · FreeType (рушій обробки шрифтів);
- · SQLite (проста система керування базами даних, доступна для всіх застосувань);
- · SSL (протокол, що забезпечує безпечну передачу даних) [20].
Платформа використовує оптимізовану, регістр — орієнтовану віртуальну машину Dalvik, на відміну від неї стандартна віртуальна машина Java — стекорієнтована. Кожна програма запускається у своєму власному процесі, зі своїм власним примірником віртуальної машини. Dalvik використовує формат Dalvik Executable (*.DEX), оптимізований для мінімального використання пам’яті додатком. Це забезпечується такими базовими функціями ядра Linux, як організація потокової обробки і низькорівневе управління пам’яттю. Байткод Java, на якому написані програми, компілюються в DEXформат за допомогою утиліти dx, що входить до складу SDK.
IOS
Стороннім виробникам пристроїв IOS недоступна. На відміну від Android дана OC закрита. Проте займає друге (після Android) місце за кількістю проданих пристроїв з нею і перше — за кількістю доступних додатків.
Інтерфейс IOS заснований на концепції прямого маніпулювання з використанням дотиків «мультитач». Елементи управління інтерфейсом включають повзунки, перемикачі і кнопки.
IOS розроблена на основі OS X і використовує той же набір основних компонентів Darwin, сумісний зі стандартом POSIX.
Шари абстракції IOS:
- · Core OS;
- · Core Services;
- · Media Layer;
- · Cocoa Touch [21].
Така пошарова архітектура ілюструє той рівень абстракції, де шари вищого рівня більше відокремлені, а нижчі шари виконують більш фундаментальне завдання, і більше пов’язані з апаратним оснащенням. Тут не обов’язково те, що шари вищого рівня в деяких функціях покладаються на нижчі верстви. Apple рекомендує використовувати платформи вищого рівня наскільки це можливо часто, тому що вони найчастіше являють собою об'єктно-орієнтовані абстракції платформ нижчих шарів. Іншими словами, шари вищого рівня побічно взаємодіють з апаратним оснащенням за допомогою шарів нижчого рівня, більш комплексних. Звичайно, залишається можливість повернутися до платформ нижчого рівня, якщо платформи вищого рівня не відповідають потрібним вимогам.
Шар Cocoa Touch являє собою самий верхній шар в iOS-архітектурі. Він містить деякі ключові платформи, на яких грунтуються вбудовані додатки iOS, і однією з них є платформа UIKit. Шар Cocoa Touch визначає основну інфраструктуру програми та пропонує ряд життєво важливих технологій на зразок мультизадачності або керування за допомогою сенсорів.
Графіка, аудіо та відео управляються шаром Media. Цей шар складається з декількох ключових технологій, включаючи Core Graphics, OpenGL ES і OpenAL, AV Foundation, а також Core Media. Media — шар складається з безлічі платформ, включаючи Assets Library для здійснення доступу до фотографій і відео пристрою, Core Image для обробки зображень за допомогою фільтрів, а також Core Graphics для створення двомірних графічних елементів.
Шар Core Services відповідає за управління основними системними сервісами, які використовують вбудовані iOS-додатки. Шар Cocoa Touch тісно пов’язаний з шаром Core Services в деяких аспектах функціоналу. Шар Core Services також надає кілька незамінних властивостей, на зразок блокових об'єктів, Grand Central Dispatch, In-App Purchase і iCloud Storage.
Велика частина функціоналу, передбаченого в трьох шарах вищого рівня, заснована на шарі Core OS і його низькорівневих властивостях. Шар Core OS надає безліч середовищ розробки, які додаток може використовувати безпосередньо (наприклад, середовища Accelerate і Securit). Шар Core OS інкапсулює навколишнє середовище ядра, а також низькорівневі UNIX-інтерфейси, до яких у програмі немає доступу з очевидних причин.
Windows Phone
Windows Phone — мобільна операційна система, розроблена компанією Microsoft [22].
Операційна система є наступником Windows Mobile, хоча і несумісна з нею, з повністю новим інтерфейсом і вперше з інтеграцією сервісів Microsoft: ігрового Xbox Live і медіаплеєра Zune.
На відміну від попередньої системи, Windows Phone більшою мірою орієнтована на ринок споживачів, ніж на корпоративну сферу.
Незабаром вийшла Windows Phone 8, що стала результатом уніфікації архітектури ОС на основі ядра Windows NT. Таким чином, ядро ОС використовує ту ж основу, що і її «настільна» версія. Це покликано полегшити портування програм між версіями ОС. Від Windows Phone нова ОС відрізняється підтримкою високої роздільної здатності екрану і більш широкого спектра периферії.
Дана ОС закрита і активно розвивається.
Підтримувані архітектури:
- · ARM;
- · X86.
Windows Phone підтримує технологію мультитач. З виходом Windows Phone 8 у користувачів з’явилася можливість об'єднати в єдину систему свій смартфон, планшетний комп’ютер і персональний комп’ютер (що дає розробникам мобільних додатків можливість здійснювати портування програм на різні пристрої). Основною відмінністю цієї платформи від інших існуючих є можливість роботи програм у фоновому режимі і самостійний контроль системи за кількістю оперативної пам’яті.
Отже, порівнявши найпопулярніші сучасні мобільні платформи можна зробити висновок, що Android є фаворитом у цій трійці. Адже платформа є відкритою і це дозволяє реалізувати на ній більше функцій. Також за недавньою статистикою щоденно Android активується приблизно на 300 000 пристроях [23]. Ця зростаюча кількість користувачів Android є найбільшою мотивацією для розробників додатків під Android, оскільки вона забезпечує їх широким ринком користувачів, що мають доступ до їх додатків. Тому безперечно додаток для бакалаврського проекту розроблятиметься саме під Android.