Когда вы заказываете разработку приложения, то кроме выбора платформы (Android, iOS или обе) нужно также принять решение о его бэкенде (серверной части). В этой статьи мы поговорим об альтернативе разработки бэкенда с нуля, а именно BaaS и Backendless как одном из представителей такого рода сервисов.
Разработка серверной части — один из самых трудных этапов создания приложения. Зачастую, при планировании разработки проекта недооценивается необходимый объем ресурсов и время создания бэкенда. Еще одна проблема — ограниченность доступных команде ресурсов. Чаще всего разрабатывать бэкенд приходится с помощью тех инструментов и технологий, которыми владеют члены команды. Процесс получается длительным, а само приложение — достаточно сложным и дорогим с точки зрения сопровождения. А длительная разработка бэкенда на даже относительно простых проектах ведет к увеличению расходов и другим рискам: деньги потрачены, а визуально видимого результата, который можно продемонстрировать инвесторам, пока нет.
Здесь нам на помощь приходит Backend as a Service (BaaS) — готовые серверные сервисы, собрав которые вместе, мы получаем необходимый универсальный бэкенд для любого проекта. BaaS избавляют от существенных затрат, а именно написания и поддержки серверного бэкенда. Используя BaaS, мы имеем возможность реализовать простой сервис силами одного мобильного разработчика. Такое решение будет особо уместно для небольших стартапов, которые сначала хотят проверить бизнес идею на её работоспособность, и не планируют очень сложной логики и взаимодействия со сторонними сервисами — хотя с BaaS такое тоже возможно реализовать.
Преимущества бэкенда на BaaS
Сегодня, используя BaaS, разработчики способны быстро построить необходимый бэкенд и платформу для обработки данных, поступающих из мобильных приложений. BaaS-функции включают в себя облачное хранилище, push-уведомления, управление пользователями и файлами, службы определения местоположения и др. Все эти сервисы имеют собственный API, чтобы легко встраиваться в приложения.
BaaS позволяет избегать разработчикам необходимости иметь дело с:
- физическим сервером приложения;
- базой данных;
- клиент-серверной библиотекой;
- написанием админки;
- дизайном своего API;
- хостингом.
Еще до недавнего времени самой популярной BaaS-платформой был Parse. Однако, в 2013 году Facebook поглотил этот стартап. Позже он развивал его еще в течение трех лет, но в январе 2016 года объявил, что Parse будет закрыт через год, а разработчики должны в течение 2016 года мигрировать на другие ресурсы.
Самыми популярными BaaS-платформами, на мой взгляд, сейчас остаются: QuickBlox, Scorocode и Backendless. В этой статье мы остановимся на Backendless, с которым у нас уже есть опыт работы.
Давайте рассмотрим, чем же в первую очередь Backendless привлек нас.
Такие возможности как авторизация, регистрация, сессии, восстановление пароля уже есть в «коробке». Очень сложно представить себе современное приложение, в котором они отсутствуют, но, тем не менее, на их реализацию и тестирование тратится время, даже если ваши разработчики уже имеют наработанные библиотеки для Android или iOS.
База данных и удобная админка. Данные о пользователях и служебная информация вашего приложения хранятся в базе данных. Обычно приходится принимать решение о выборе типа базы данных, устанавливать решение на сервере, настраивать таблицы и связи в ней. С Backendless подгонка под нужды конкретного приложения не занимает много времени, а сама база и управление ею уже есть в сервисе.
Возможность писать кастомною логику сервера на таких языках, как Java, PHP, JavaScript. Это решает проблему с ресурсами, так как отсутствует жесткая привязка к технологии и логику бэкенда могут разрабатывать и поддерживать специалисты в разных технологиях, в том числе и сами мобильные разработчики.
Инструменты для удобного дебага и деплоя кастомной логики сервера. Что сильно упрощает и ускоряет разработку.
Очень простое подключение и настройка Cloud Messaging. Приложения постоянно обмениваются данными с сервером, и частенько вам нужно показывать сообщения пользователям о тех или иных событиях, например о скидках в магазине, завершении синхронизации данных или получении нового сообщения, если в вашем приложении есть функция их отправки. Часто это реализуется при помощи кросс-платформенного решения Cloud Messaging, которое легко подключить к Backendless.
Удобные инструменты для работы с геолокациями, файлами и медиа-стримами. Геолокацию сейчас используют почти все актуальные сервисы, поскольку она позволяет сразу показывать более релевантные результаты, не требуя от пользователя вводить много дополнительных данных. Но ее реализация с нуля занимает много времени. В Backendless есть готовые инструменты для работы с геолокацией, что ускорит процесс реализации этого функционала в вашем приложении.
Еще данная платформа позиционирует себя лучше других за счет ряда особенностей.
Версионность, с общими данными/таблицами между версиями: создав приложение, вы можете сделать официальный релиз, а в это время работать над другой версией этого же приложения.
Живой стриминг аудио и видео: можно подключить видеочат, живую трансляцию, музыку, радио, клипы, все, что хотите.
Фильтрация сообщений — работает фильтрация сообщений по саб-топикам, а также можно задать фильтр в sql-виде, так называемый селектор.
Коробочное решение — можно получить свой in-house Backendless из коробки. Крупные энтерпрайз-клиенты могут развернуть платформу на своих собственных серверах только для себя.
Гибкое ценообразование и «жирный» бесплатный план. В фримиум входят: АПИ-вызовы безлимитно (но не более 50 в секунду), 20 GB дискового пространства, 1000000 publish/subscribe messages, 1000000 push notifications и еще куча разных плюшек. Платить если и придется, то только за то, что будет непосредственно использоваться.
АПИ и веб-консоль — тщательно отшлифованы под разработчиков, потому простоте и удобству уделяется максимум внимания.
Автомасштабируемость — платформа размещена на инфраструктуре Амазона и автоматически масштабируется при возникающих нагрузках: по месту и по используемой памяти. В случае превышения критического лимита при обработке запросов запускаются дополнительные виртуальные машины.
Недостатки Backendless:
- Бесплатная версия ограничена — на больших проектах «жирный» бесплатный план может упереться в лимиты и нужно будет покупать расширения.
- Ограниченные ресурсы сервера — что может сказаться на быстродействии.
- Частично ограничены возможности разработки — поэтому с задачами, которые требуют сложной логики сервера могут быть затруднение.
При помощи Backendless сложнее будет реализовать:
- Приложение для популярного интернет-магазина электроники или одежды;
- Сложный логистический сервис с GPS-отслеживанием посылок или автобусов;
- Приложение, осуществляющее обработку фотографий (Prisma) или видео (MSQRD, Snapchat);
- Сервис с большими пиковыми нагрузками — скидочный или для покупки билетов на автобус или самолет;
- Сложные решения требующие нестандартных подходов, алгоритмов и инструментов.
Backendless подойдет для того, чтобы быстрее и дешевле реализовать MVP (поскольку вам не придется оплачивать часы работы отдельного бэкенд-разработчика), а также для реализации бэкенда небольших сервисов:
- локальных служб доставки;
- небольших логистических сервисов;
- приложений для поиска ресторанов;
- приложений для подготовки к языковым или другим тестам и т.д.
Ищете команду, которая сможет быстро и качественно создать приложение с нуля или MVP? Обращайтесь в Stfalcon.com! У нас есть опыт создания мобильных проектов разного масштаба и мы будем рады вам помочь.