Начнём с основ — разберём какие типы мобильных приложений бывают, это база, которая пригодится каждому мобильному тестировщику.

Я описала самые основные типы, но и добавила интересные варианты, которые можно встретить реже (например, amp или Google Play Instant Apps).

Нативные приложения

Нативные приложения разрабатываются на ‘родном’ для платформы языке для Android это Kotlin и Java, а для iOS — Objective-C и Swift.

Преимущества:

  • Высокая производительность: приложения работают быстро и плавно, потому что используют все возможности и мощности девайса

  • Поддержка сложных проектов: легко масштабируются и подходят для разработки сложной логики

  • Расширенные интерфейсы: можно кастомизировать элементы интерфейса 

  • Удобство для пользователей: приложения создаются с учётом гайдлайнов, а значит, они соответствуют всем стандартам платформы и пользователю будет интуитивно понятно, как пользоваться приложением

Недостатки:

  • Высокая стоимость: так как это две разные платформы, два разных языка, то потребуется две команды разработки для каждой из платформ

  • Длительность разработки: на начальном этапе для создания базового функционала и элементов потребуется больше времени, так как опять же два разных языка - две разные команды

  • Необходимость регулярных обновлений: любая новая фича требует релиза новой версии через стор

Примеры:

Android: Instagram (нативное, но использует WebView для отдельных функций), WhatsApp, TikTok

iOS: Apple Maps, iMessage

Мобильные веб-приложения

Мобильные веб-приложения - это приложения, которые работают через браузер. То есть пользователю достаточно ввести URL в адресной строке или перейти по ссылке, без необходимости установки.
Иногда веб-приложения могут быть встроены в контейнер через WebView для интеграции с функциями устройства (чаще всего можно встретить в гибридных приложениях).

Преимущества:

  • Кроссплатформенность: одно приложение, которое будет работать на всех платформах

  • Экономия времени и денег: разработка проще и дешевле, так как используется единый стек HTML, CSS, JavaScript, с котором работает вся команда

Недостатки:

  • Зависимость от интернета: офлайн работать не будет

  • Меньший контроль над интерфейсом: интерфейс не всегда будет выглядеть нативно

  • Ограничения производительности: скорость работы ниже, чем у нативных приложений

Примеры:

Google Docs: Полноценное веб-приложение для работы с документами

Canva: Графический редактор, доступный через браузер

Гибридные приложения

В этих приложениях основной контент разрабатывается как веб-приложение, но доступ к устройству осуществляется через нативные оболочки. Эти оболочки выступают в роли мостов между веб-контентом и аппаратными функциями устройства, благодаря чему у приложения есть доступ к камере, GPS, уведомлениям и тд.

Преимущества:

  • Экономия времени: используется одна кодовая база, а значит, разработка будет быстрее

  • Обновления без магазина: так как часть приложения - это веб, то обновление этого функционала происходит без необходимости выпускать новую версию через App Store или Google Play

  • Доступ к устройству: приложения взаимодействуют с камерой, GPS и другими функциями

Недостатки:

  • Проблемы с производительностью: работают медленнее нативных приложений

  • Ограничения дизайна: не всегда соответствуют гайдлайнам платформы

Примеры:

Uber: Использует гибридную модель для отображения интерфейса в WebView и работы с картами

Twitter: Частично гибридное приложение для упрощения разработки и обновлений

Кроссплатформенные приложения

Эти приложения разрабатывается с помощью фреймворков -  React Native (JavaScript), Flutter (Dart), Xamarin (C#), они позволяют использовать один код для нескольких платформ (iOS и Android). Они компилируются (= превращаются) в нативный код для каждой операционной системы, что обеспечивает близкую к нативным приложениям производительность.

Преимущества:

  • Единая кодовая база: меньше времени на разработку и поддержание

  • Производительность: выше, чем у гибридных приложений, так как происходит компиляция в нативный код

  • Доступ к функциям устройства: полный доступ к аппаратным возможностям 

Недостатки:

  • Ограничения фреймворков: несмотря на то, что код компилируется в нативный, не все возможности нативных API могут быть поддержаны

  • Размер приложения: может быть больше из-за необходимости включения всех библиотек фреймворка

Примеры:

Airbnb: Использует React Native для некоторых компонентов

Alibaba: Работает на Flutter

Аналоги инсталлируемых приложений

Progressive Web Apps (PWA)

PWA - это улучшенная версия веб-приложения, данное приложение вы можете скачать из браузера к себе на телефон(ну или десктоп). PWA поддерживают такие функции как оффлайн-доступ, push-уведомления и тд.

Преимущества:

  • Простота установки: пользователь открывает сайт в браузере и добавляет его на главный экран устройства через меню браузера

  • Работа оффлайн: могут функционировать без интернета

Недостатки:

  • Ограниченный доступ к устройству: например, нет доступа к Bluetooth

  • Скорость: работают медленнее нативных приложений

Примеры: Starbucks, Twitter Lite, Forbes.

Google Play Instant / Android Instant Apps (AIA)

Instant Apps дают возможность протестировать ключевые функции без установки. Пользователь кликает на ссылку, и приложение загружается в память устройства временно.

Instant Apps используются для продвижения приложений через рекламные кампании. Пользователь, увидев рекламу, может сразу "попробовать" приложение, что увеличивает вероятность его последующей установки.

Преимущества:

  • Быстрая демонстрация функционала апки

  • Экономия памяти устройства

Недостатки:

  • Ограниченная функциональность (нет пушей, Bluetooth), только базовый функционал

  • Не работают офлайн

  • Не поддерживаются сложные модели монетизации, например покупки внутри приложения или подписки

Примеры: BuzzFeed, Skyscanner

Accelerated Mobile Pages (AMP)

AMP - технология, разработанная Google для ускоренной загрузки веб-страниц. Используется чаще всего для новостных сайтов и других ресурсов с большим объёмом контента. AMP-страницы не требуют скачивания, тк работают прямо в браузере.

Преимущества:

  • Мгновенная загрузка страниц

  • Оптимизация для мобильных устройств, автоматически адаптируется под различные размеры экранов и устройства

Недостатки:

  • Ограниченные возможности для кастомизации, поэтому часто такие страницы выглядят одинаково

  • В AMP запрещено использование JavaScript (кроме заранее определённых компонентов AMP), из-за этого усложняется реализация сложной функциональности

Примеры:  The Washington Post, BBC News, CNBC

Если ты готовишься к собесу или только начинаешь свой путь, то знание типов мобильных приложений - это именно то, с чего стоит начать. Разобрав основные типы, их некоторые плюсы, минусы и примеры, будет понимание того на что обратить внимание при тестировании.

Комментарии (0)