Все мобильные приложения, которые существуют на нашей планете, можно четко разделить на две категории:
- Содержащие в себе базу данных (следовательно, отправляющие пользователю запросы для получения этих данных).
- Не содержащие данные, так как конструктивно для работы они им не нужны.
Вторая группа до смешного малочисленна (таймер, будильник, набор стикеров, калькулятор и прочая мелочевка).
К первой же категории относятся все остальные, а это совершенно гигантское число приложений различного назначения. И у всех у них есть бэкенд.
Зачем нужен бэкенд?
Итак, приложению нужны данные человека, который в нем регистрируется, как минимум, имя, фамилия, телефон. Программе нужно отдельное место, где будет храниться вся эта информация. Оно и называется бэкендом. Или, говоря языком программистов, серверная часть.
Большинство коммерческих приложений в принципе не может работать без этой серверной части. К примеру, интернет-магазины, так как через них, в том числе, проходит оплата за предоставленные товары.
Хотя сам пользователь никогда не видит бэкенд, его корректная работа очень важна. И на его разработку и внедрение требуется много ресурсов.
Особенно важна та часть бэкенда, которая называется API – без нее серверные данные не будут предоставляться в формате, читаемом мобильным приложением. Написание API – это, по сути, выстраивание и программирование всей бизнес-логики, написание документа и создание форматов, пригодных для «чтения».
Если говорить о чисто денежной стороне вопроса, стоит сказать, что бэкенд – это одна из наиболее затратных строк бюджета при разработке мобильного приложения.
Как сэкономить на разработке бэкенда?
Есть несколько логичных и законных путей, помогающих сэкономить здесь:
1. Хранить данные у клиента. То есть непосредственно в его устройстве.
Плюс – приложение работает даже там, где нет интернета, системные функции оплаты у пользователя сохранятся.
Минус – приложение лишено интерактивности, новый контент появится у пользователя одновременно с новой версией приложения в Store.
Таким образом, данный вариант подходит только тем, кто распространяет статический контент, будь то текст, фотографии, видео, некоторые игры.
2. Бессерверная архитектура. По-другому это называется «Serverless». Используется облачный сервис — «BaaS-платформа».
Плюс – такое решение не потребует значительного бюджета, можно отслеживать аналитику, проводить оптимизацию, прописывать скрипты.
Минус – придется пользоваться теми возможностями, которые представляет выбранный облачный сервис. И при выборе придется довериться разработчику и его опыту. Таким образом, данный вариант подходит тем, кто ограничен в бюджете.
3. Воспользоваться SaaS-сервисом. Это тоже облачный сервис, но предоставляющий не место под бэкенд, а программное обеспечение, точнее готовые решения: push-уведомления, оплата, чаты.
Плюс – решения работают не на устройстве у пользователя, а в облаке. Инструменты многократно протестированы, но они продолжают развиваться дальше.
Относительный минус – это тоже платно, хоть и дешевле, чем писать собственную платформу. Кроме того, может не быть готовой библиотеки под совсем уж уникальные устройства.
Таким образом, данный вариант подходит тем, кто располагает в своем приложении совершенно типовыми функциями.
4. Интеграция с бесплатным инструментарием. А почему бы не заменить кастомную форму на обычную и всем привычную Гугл-форму? Почему бы не собирать данные пользователей не в панель администрирования, а просто в Гугл-таблицу?
Плюс – это довольно дешевый способ, надо только найти специалиста, который сможет все грамотно настроить.
Минус – все же это немного странный путь. И если вы уже заменили JSON-бэкенд на Гугл-таблицу, в принципе, и вместо приложения можно использовать Телеграм-бота.
Таким образом, данный вариант подходит тем, кто не очень заинтересован в собственном приложении.
Почему разработку бэкенда должна проводить студия?
Программа для обработки данных также нуждается в программировании. Бэкенд предоставляет информацию по товарам, отвечает за учет, способствует формированию заказа, без него не пройдет оплата.
Если бэкенд разработан студией, он будет иметь:
- Гибкость (можно включать дополнительные возможности, развивать приложение),
- Способность масштабироваться,
- Техподдержку (быстрые ответы, исправление недочетов, внесение изменений).
Если обратиться за разработкой бэкенда к той же студии, что разрабатывает мобильное приложение, это уменьшит стоимость продукта и повысит его качество.
Если команды мобильной и серверной разработки трудятся рядом, взаимодействуя между собой, это делает процесс предсказуемым, снижает издержки. Сами процессы разработки, в том числе, написания API, будут стандартизированными. Этому поможет быстрая и доверительная коммуникация, а документация будет актуальной, чтобы приложение понимало, на каком языке говорит с ним сервис бэкенда.