Шаблон Swift 101: що спільного між ТОП iOS-додатками

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

Як показує практика при розробці мобільних додатків у 90% випадків замовники потребують реалізації однакового функціонала. Тому розробники намагаються дотримуються тих самих кращих практик UX та дизайну і стикаються з тими ж самими проблемами при розробці та публікації.

Рідко можна знайти додаток, у якому відсутня можливість написати в підтримку через чат, поділитись контентом через соціальну мережу, прослухати аудіо або відео, чи щось купити (e-commerce). Це допомогло нам зрозуміти, що спільні частини мобільних додатків можна об’єднати в шаблон, і досить швидко розгортати його під потрібну задачу.

Що ж спільного між додатками? Практично кожен додаток містить:

    • Onboarding
    • Authentication
    • Permission Requests
    • Paywall / Payments
    • Homescreen
    • User Profile
    • Terms & Policies
    • Help & Support
    • Light & Dark Mode
    • Deep Linking
    • Push Notifications
    • Error Monitoring & Crash Reporting


Цей список сформовано завдяки дослідженням ринку та A/B-тестуванню, а також нормативним актам і рекомендаціям магазинів додатків. Тож давайте по кожному пункту зі списку:

Onboarding

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

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

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

Authentication 

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

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

Чим простіший і зрозуміліший цей процес, тим більша ймовірність того, що користувачі не застрягнуть і не відпадуть. Це основна причина для того, щоб надавати різні варіанти входу в один клік (наприклад, вхід через Google, Apple тощо). Навіть порядок кнопок має значення.

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

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

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

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

Permission Requests 

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

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

Щоб мінімізувати кількість відмов, варто використовувати м’які запити на дозволи. Вони практично є інструкцією, яка дає більш чітке пояснення запиту і вчить користувачів, як поводитися з системними сповіщеннями.

Paywall with payments and subscriptions   

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

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

По-перше, екрани платних додатків розроблені відповідно до рекомендацій магазинів додатків.

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

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

І, нарешті, A/B-тестування дозволяє збирати дані з різних шаблонів платних послуг і цін.

Homescreen   

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

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

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

User Profile and Settings   

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

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

Term and Policy   

Умови та політика включені не лише для того, щоб відповідати політиці випуску App Store та Google Play, але й для того, щоб користувачі та компанії уникали ризиків. У більшості випадків ви знайдете посилання на цю інформацію в профілях користувачів або на екранах підписки/оплати. У деяких додатках також є екран “Прийняти умови”, який неможливо пропустити, і який вбудований у процес реєстрації або автентифікації.

Help and Feedback   

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

Light and Dark mode support   

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

Deep Linking  

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

Push Notifications  

Більшість додатків підтримують Push-сповіщення, які використовуються для маркетингових або користувацьких оновлень/сповіщень. Додатки запитують дозвіл на надсилання push-сповіщень, якому передує м’який запит на дозвіл, і плавно інтегруються в Onboarding.

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

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

Error Monitoring and crash reporting  

Баги трапляються. Навіть у найякісніших додатках. Для моніторингу помилок та збору звітів про збої вони використовують такі інструменти, як Sentry та Crashlytics. Це дозволяє розробникам дізнаватися про надзвичайні ситуації всередині програми майже в режимі реального часу як до, так і після релізу, щоб випускати нові версії з виправленими помилками якомога швидше. Однак для того, щоб вони працювали, процес збірки повинен бути налаштований на збір метаданих збірки (наприклад, Dsyms, Sourcemaps, Deobfuscation і т.д.) відповідно до рядка коду, де сталася помилка.

Висновки  

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

Отож, якщо Ви давно мріяли про розробку мобільного додатку – велкам на курс “Swift з нуля“, або якщо Ви хочете ще більше прокачатись в iOS-розробці запрошуємо на курс “iOS App Development (Level Up)

P.S. Також одні з популярних платформ, де можна дістати шаблони готових програм – є codeplatform або codecanyon.

Більше про початок кар’єри в iOS -читайте в цій статті

Web Academy Club

Популярні ІТ курси