Типи мобільних додатків
Last updated
Last updated
Нативні програми : написані рідною для певної платформи мовою програмування. Для Android цією мовою є Kotlin/Java, тоді як для iOS – objective-C або Swift. Нативні програми знаходяться на пристрої, доступ до них можна отримати, натиснувши на іконку. Вони встановлюються через магазин програм (Play Market на Android, App Store на iOS та ін.). Вони розроблені спеціально для конкретної платформи і можуть використовувати всі можливості пристрою – камеру, сповіщення тощо. (за наявності дозволів). Залежно від призначення нативної програми, вона може повністю або частково обходитися без наявності інтернет-з'єднання;
Веб-програми: насправді не є додатками як такими. По суті, вони є сайтами, які адаптовані та оптимізовані під будь-який смартфон і виглядають схоже на нативний додаток. І для того, щоб скористатися ним, достатньо мати на пристрої браузер, знати адресу та мати в своєму розпорядженні інтернет-з'єднання. Запускаючи мобільні веб-застосунки, користувач виконує всі ті дії, які він виконує при переході на будь-який веб-сайт, а також отримує можливість «встановити» їх на свій робочий стіл, створивши закладку сторінки веб-сайту. Веб-програми відрізняються кросплатформенністю, тобто здатні функціонувати, незалежно від платформи девайса. Очевидним недоліком такого виду програм є втрата працездатності при втраті інтернет-з'єднання. Причому з цього випливає й інший мінус - їхня продуктивність, яка знаходиться на середньому рівні, в порівнянні з іншими видами програм та залежить від можливостей інтернет-з'єднання провайдера послуг. Крім перерахованого вище, веб-додатки не можуть отримати доступ до функцій системи і самого пристрою;
Гібридні програми : це веб-програма в обгортці нативної програми, що служить контейнером для відображення веб-програми через вбудований спрощений браузер (webview в Android (Chrome webview в останній версії) і WKWebView в iOS). Нативний "фундамент" дає переваги нативних додатків: доступ до функціоналу смартфона (API системи, пуші тощо), розміщення в маркетах, іконка на робочому столі тощо, а сторона веб-додатків дає плюси у вигляді кросплатформенності та простота оновлення контенту. Компанія, що має веб-додаток, може практично "на коліні" зібрати гібридні додатки для основних платформ і забезпечити собі присутність у маркеті та на робочому столі клієнтів;
Кросплатформні програми : які іноді плутають із гібридними. Такі програми розробляються за допомогою кросплатформових фреймворків: (JavaScript), (Dart), (JavaScript), (.NET and C #) і т.п. та мають загальний код для iOS та Android.
Аналоги інстальованих додатків
Progressive Web Apps (PWA);
Google Play Instant (Android Instant Apps (AIA));
Accelerated Mobile Pages (AMP).
Progressive Web Apps (PWA) : термін «прогресивний веб-додаток» не є офіційною назвою. Це просто скорочення, яке спочатку використовувалося Google для позначення концепції створення гнучкої програми, що адаптується з використанням тільки веб-технологій. PWA - це веб-застосунки, які поступово покращуються, щоб функціонувати як встановлені нативні програми на підтримуваних платформах, але при цьому функціонують як звичайні веб-сайти в інших браузерах. Якості PWA поєднують у собі найкраще з Інтернету та скомпілованих додатків. PWA запускаються у браузерах, як веб-сайти. Але PWA також мають доступ до функцій додатків; Наприклад:
PWA все ще може працювати, коли пристрій вимкнено;
PWA можна встановити в операційній системі;
PWA підтримують push-сповіщення та періодичні оновлення;
PWA може отримати доступ до апаратних функцій.
Кросплатформеність таких веб-додатків не обмежується мобільними пристроями. Наприклад, на платформі Windows такі програми теж виглядають і існують в системі так само, як і нативні програми: можна встановити зі сторони, додати ярлик в пуск, доступні File systems, Video, Audio, High-performance code, Databases, USB, Bluetooth і т.п., при цьому весь фактичний вміст є веб-сайтом.
Насправді, швидше за все ви раніше часто відвідували PWA, навіть не усвідомлюючи цього. Якщо ви коли-небудь переглядали Instagram, Pinterest, Spotify або Tinder на своєму ноутбуці чи смартфоні, ви зіткнулися з PWA.
Таким чином, PWA мають набагато нижчу вартість кроссплатформенної розробки, ніж скомпіловані програми, яким потрібна певна кодова база для кожної платформи.
Для того, щоб веб-додаток можна було називати PWA, він повинен відповідати певним критеріям:
Виявлене ( Discoverable ): Програму можна виявити в результатах веб-пошуку та в підтримуваних магазинах додатків;
Встановлюване ( Installable ): можна закріпити і запустити програму з головного екрана;
Можливість повторного залучення ( Re-engageable ): програма може отримувати push-сповіщення, навіть якщо неактивна;
Незалежно від мережі ( Network-independent ): програма працює в автономному режимі та в умовах слабкого підключення до мережі;
Прогресивне ( Progressive ): UX збільшується або зменшується в залежності від можливостей пристрою;
Безпечне ( Safe ): програма забезпечує безпечний HTTPS endpoint та інші заходи безпеки для користувачів;
Чуйне ( Responsive ): додаток адаптується до розміру та орієнтації екрану, методу введення;
Лінковане ( Linkable ): діліться та запускайте програму за стандартним посиланням.
Отже, як можна дізнатися, чи є веб-сайт PWA? Ну немає. Принаймні не зовсім точно. Якщо ви не розробник і не копаєтесь у вихідному коді сайту, у вас немає певного способу сказати, чи побудований сайт на технології PWA. При цьому є кілька хитрощів, які, хоч і не гарантують точного результату, можуть дати вам деякі ознаки того, що даний веб-сайт є PWA.
**HTTPS **secure origin. PWA працюють лише за HTTPS.
Manifest.json - Є файл налаштувань.
Accelerated Mobile Pages (AMP)
Accelerated Mobile Pages (AMP) – це технологія з відкритим вихідним кодом, що дозволяє створювати веб-сторінки, які швидко завантажуються у мобільних браузерах. Формат AMP складається з:
AMP HTML - мова HTML, у якій частину тегів замінено на еквівалентні AMP-теги, а частину заборонено для використання;
AMP JS - у роботі використовується власна JS-бібліотека, що дозволяє елементам сторінки завантажуватись асинхронно;
Google AMP Cache – у процесі індексації AMP-сторінки, пошукова система кешує її дані та відтворює зі своїх серверів.
Багато хто сприймає AMP як спосіб покласти статичний контент свого сайту (статті, новини, нотатки тощо) у кеш Google, щоб при відкритті з пошуку цей контент завантажувався миттєво (про високу швидкість завантаження AMP сторінок свідчить іконка блискавки в результатах пошуку :) ). Звичайно, якщо вам потрібно досягти саме такого результату, то з AMP це зробити буде дуже легко. Але AMP - це набагато більше, ніж просто технологія для роботи зі статичним контентом або кешем Google. AMP вже давно використовується як бібліотека загального призначення, заснована на web компонентах, для створення швидких динамічних сторінок і навіть сайтів цілком, на які користувачі потрапляють як з пошуку, так і з інших джерел, включаючи прямі заходи. З цієї точки зору AMP можна поставити в один ряд із Polymer, React або Angular. Природно з огляду на те,
Google Play Instant (Android Instant Apps (AIA))
Google Play Instant (колишня назва Android Instant Apps) - це функція, яка дозволяє вам використовувати програму без необхідності повністю завантажувати її на свій телефон: просто знайдіть її в Play Store і натисніть «Відкрити програму». Більше того, це дозволяє вам перейти до певної дії в програмі, яку ви не встановили, просто натиснувши URL-адресу. Нещодавно Google додав у Play Store кнопку "Спробувати" для деяких програм з миттєвим запуском Android.
Наприклад, якщо вам надіслали посилання на відео в Buzzfeed, можна відразу ж відкрити її в додатку цього сервісу, навіть якщо воно у вас не встановлено. Раніше вибір був лише окремо встановити програму, або перейти за посиланням у браузері. Звичайно, це трохи довше, ніж просто відкрити веб-сторінку, але все ж таки набагато швидше, ніж встановлювати цілий додаток заради одного посилання. Обіцяють, що займати весь процес відкриття чогось у «миттєвих додатках» буде кілька секунд. Однак повноцінну функціональність встановленої програми ви не отримаєте, буде завантажено лише те, що необхідно для виконання поточної дії, наприклад перегляду відео.
На сторінці найпоширеніших питань про програми Google з миттєвим запуском говориться, що ці програми можуть використовувати такі дозволи:
ОПЛАТА
ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
ACCESS_NETWORK_STATE
КАМЕРИ
INSTANT_APP_FOREGROUND_SERVICE тільки в Android O.
INTERNET
READ_PHONE_NUMBERS тільки в Android O.
ЗАПИС АУДІО
VIBRATE
Все, що немає у цьому списку, не підтримується Instant Apps. Зверніть увагу, що такі речі, як Bluetooth, встановлення будильника, використання відбитків пальців та встановлення шпалер, відсутні.
Інші обмеження включають відсутність підтримки фонових служб (програм, які можуть запускатися без відома користувача), push-повідомлень, доступу до зовнішнього сховища або перегляду встановлених програм на пристрої. Програми з миттєвим запуском також не можуть змінювати налаштування на пристрої користувача, такі як шпалери.
Обмеження на розмір збирання:
Dynamic Feature Modules взагалі не обмежені за розміром;
Instant-Enabled Dynamic Feature Modules можуть зайняти до 10 Мб.
Якщо ваша фіча:
більше 10 Мб, то вибачте;
від 4 до 10 Мб – доступна за кнопкою «Спробувати» з Google Play і все;
менше 4 МБ - доступні всі засоби залучення користувачів до Instant-Enabled модуль (запуск з реклами, за посиланням, з повідомлень тощо).
Прикладами Instant Apps є BuzzFeed, Skyscanner, Onefootball, Red Bull TV, програма UNS ShareTheMeal, Sports.ru, Vimeo та багато інших.
Джерела:
Дод. матеріал:
Односторінковий сайт. Це найпростіший спосіб дізнатися, чи може веб-сайт бути PWA. Він заснований на природі PWA: Progressive Web Apps технічно є односторінковим веб-сайтом. Це не означає, що веб-сайт, побудований на основі PWA, має лише одну сторінку. Це означає, що подія перегляду сторінки відбувається лише один раз, коли користувач спочатку завантажує сайт. Після цього всі завантаження сторінок обробляються Javascript. Це відрізняється від звичайних веб-сайтів, де кожна зміна сторінки викликає перезавантаження сторінки разом із усім вихідним кодом HTML. То як це працює? Що ж, дуже просто: гляньте на активну вкладку у вашому браузері. Якщо веб-сайт є PWA, при зміні сторінок веб-сайт не перезавантажується, що означає відсутність анімації «завантаження» на вкладці браузера. Тепер давайте подивимося на наш сайт в якості прикладу. При зміні сторінок сайт не перезавантажується! Технічно ви просто весь час залишаєтеся на одній сторінці. Ось чому сторінки PWA завантажуються так швидко та плавно. Усі сторінки попередньо завантажуються при першому відвідуванні сайту та доставляються вам згодом. Вони не залежать від швидкості вашої мережі та можуть працювати навіть в автономному режимі!
Service Workers. Service Workers - це назва технології, що лежить в основі прогресивного веб-додатку, що забезпечує його автономні можливості, push-сповіщення та кешування ресурсів. Відповідно до Google, сервіс-воркери лежать в основі методів PWA. Отже, якщо ми зможемо з'ясувати, чи веб-сайт використовує технологію Service Workers, ми зможемо сказати, чи може цей сайт бути PWA. Якщо ви використовуєте браузери на базі Chrome, ви можете легко перевірити це за допомогою Inspector Tool. Клацніть правою кнопкою миші веб-сайт, який потрібно перевірити, виберіть «Перевірити елемент». Потім перейдіть на вкладку "Додаток" - "Робочі служби". Ви можете легко побачити, чи є на цьому веб-сайті Service Workers. Знову ж таки, цей трюк тільки дає натяк на те, що певний веб-сайт є PWA. Незважаючи на те, що Service Workers є основною частиною PWA, вони є ексклюзивною частиною PWA. Веб-сайти, що не належать до PWA, також можуть використовувати Service Workers для покращення своєї функціональності. Якщо ви хочете дізнатися більше про PWA Service Worker, у нас є для вас, щоб дізнатися все про цю дивовижну технологію.
Окремо хочеться відзначити, що незважаючи на назву Accelerated Mobile Pages, AMP може використовуватися для створення будь-яких сайтів, як десктопних, так і мобільних. Сайт проекту – є чудовим прикладом того, що можна зробити з AMP для робочого столу.