Выбрать главу

Нативная разработка

Нативные приложения написаны для конкретной мобильной платформы: iOS, Android, Windows. Язык программирования, который используется для написания таких сервисов, поддерживается только одной платформой. Например, Swift и Objective-C понимает только iOS, а Java или Kotlin – только Android.

Делайте нативное приложение, если оно должно стать важной частью бизнеса и влиять на продажи.

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

Плюсы нативных приложений:

• наиболее производительны;

• получают полную поддержку от сторов;

• интуитивно понятны, работают более плавно, привычны для пользователя и дарят больше эмоций;

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

• позволяют разработчикам получить доступ к полному набору функций операционной системы.

Минусы нативных приложений:

• требуют больших затрат на старте и при дальнейшей поддержке, чем кроссплатформенные приложения;

• не лучший вариант для простых приложений.

Кроссплатформенная разработка

При создании таких приложений используются общие наборы средств разработки (SDK). Из-за этого кроссплатформенные сервисы не используют все нативные преимущества каждой платформы. Зато сделать такое приложение дешевле – это оптимальный вариант для проектов с ограниченным бюджетом.

Делайте кроссплатформенное приложение, если нужно быстро проверить гипотезу или протестировать новый продукт.

Плюсы кроссплатформенных приложений:

• разработка и поддержка дешевле, чем у нативных приложений;

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

Минусы кроссплатформенных приложений:

• низкие производительность и отзывчивость;

• для качественного продукта нужны высококвалифицированные разработчики – их мало и они дорого стоят;

• требуют у разработчиков больше сил и времени, чтобы адаптировать сервис под разные платформы и устройства;

• обновления операционных систем и новые функции можно использовать не так быстро, как в случае с нативными приложениями.

Чек-лист: как выбрать тип приложения

Исходите из своих бизнес-целей и ответьте на следующие вопросы:

• Насколько быстрое и отзывчивое приложение вам нужно?

• Насколько важны бизнес-процессы, которые встроены в приложение?

• Насколько сложные функции будет выполнять ваше приложение?

Рустам Мухамедьянов, руководитель студии WINFOX:

«Главное отличие между нативным и кроссплатформенным приложением – в скорости и отзывчивости работы. Это как проехаться на Porsche Cayenne и Hyundai Solaris. Оба авто едут по дороге, разгоняются, маневрируют и входят в повороты. Но разница чувствуется сразу».

Бэкенд

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

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

Александр Хрущев, технический директор студии WINFOX:

«На этапе бэкенда участие заказчика минимальное. Вам не надо думать, где хранить данные и нужно ли использовать бессерверную архитектуру – это решают разработчики. Мы в WINFOX всегда выбираем оптимальные для клиента решения. Единственное исключение – это когда надо вписать приложение в уже существующую среду. Тогда вы можете сказать: “Делайте на PHP, а не на Java”».

Этап 5. Тестирование и стабилизация

Тестирование – это процесс поиска ошибок в работе приложения, а стабилизация – процесс их исправления.

Тестирование

Некоторые заказчики пренебрегают тестированием: «Давайте скорее запускаться! Если будут баги, поправим по ходу». Но чем дальше вы идете в цикл разработки без тестирования, тем дороже будет исправление ошибок.

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