Швидка розробка бекенду для мобільних застосунків. Backendless

Коли ви замовляєте розробку застосунку, після вибору платформи (Android, iOS або обидві) вам також потрібно ухвалити рішення щодо бекенду (серверної частини). У цій статті ми поговоримо про альтернативу розробці бекенду з нуля, а саме BaaS Backendless, який є одним з таких сервісів.

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

І тут на допомогу приходить Backend as a Service (BaaS), серверні сервіси. Зібравши їх разом, ми отримуємо необхідний універсальний бекенд для будь-якого проєкту. BaaS усуває значні витрати, а саме на написання та підтримку серверного бекенду. Використовуючи BaaS, ми можемо реалізувати простий сервіс за допомогою одного мобільного розробника. Це рішення буде особливо актуальним для малих стартапів, де на початку хочеться протестувати бізнес-ідей на її працездатність без планування складної логіки та взаємодії з сторонніми сервісами. Хоча BaaS може допомогти навіть у цьому.

Переваги бекенду BaaS

Використовуючи BaaS, розробники можуть швидко створити необхідну платформу бекенду для обробки даних з мобільних застосунків. До функцій BaaS належать хмарне зберігання, push-сповіщення, управління користувачами та файлами, сервіси геолокації та інші. Усі ці сервіси мають власний API для легкого інтегрування в застосунки.

BaaS усуває необхідність для розробника займатися:

  • фізичним сервером застосунку;
  • базою даних;
  • клієнт-серверною бібліотекою;
  • написанням панелі адміністратора;
  • розробкою власного API;
  • хостингом.

До нещодавна найпопулярнішою платформою BaaS був Parse. Однак у 2013 році Facebook поглинув цей стартап. Пізніше Facebook покращував його ще три роки, але в січні 2016 року компанія оголосила, що Parse буде закрито протягом року, і у 2016 році розробникам потрібно буде мігрувати на інші ресурси.

На мою думку, зараз найпопулярнішими платформами BaaS є QuickBlox, Scorocode та Backendless. У цій статті ми зосередимося на Backendless.

Давайте розглянемо функції Backendless, які нас зацікавили.

Такі функції, як авторизація, реєстрація, сесії, відновлення пароля вже є в «коробці». Важко уявити сучасний застосунок без них, але, тим не менше, їх реалізація та тестування займає певний час, навіть якщо у ваших розробників вже є такі бібліотеки для Android або iOS.

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

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

Інструменти для легкого налагодження та розгортання власної серверної логіки. Це значно спрощує та пришвидшує розробку.

Хмарне повідомлення легко підключити та налаштувати. Застосунки постійно обмінюються даними з сервером, і вам часто потрібно відображати повідомлення користувачам про певні події, такі як знижки в магазині, завершення синхронізації даних або отримання нового повідомлення (якщо ваш застосунок має функцію їх відправки). Часто це реалізується за допомогою хмарних рішень для крос-платформеного обміну повідомленнями, які можна підключити до Backendless.

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

Також ця платформа позиціонує себе як краща за інших завдяки ряду особливостей.

Версійність, з спільними даними/таблицями між версіями: після створення застосунку ви можете зробити офіційний реліз, але в той же час можете працювати з іншою версією того ж застосунку.

Прямий аудіо- та відео-трансляції: ви можете підключити відеочат, прямий ефір, музику, радіо, відео — все, що вам потрібно.

Фільтрація повідомлень. Це працює з підтемами, і ви можете встановити фільтр у режимі sql, у так званому селекторі.

Рішення «під ключ». Ви можете отримати свій власний Backendless «з коробки». Великі корпоративні клієнти можуть розгорнути платформу на своїх серверах.

Гнучке ціноутворення та «жирний» безкоштовний план. Freemium включає: необмежені виклики API (але не більше 50 на секунду), 20 ГБ дискового простору, 1 000 000 публікацій/підписок, 1 000 000 push-повідомлень та багато інших переваг. Платіть лише за ті функції, які ви плануєте використовувати.

API та веб-консоль ретельно відшліфовані розробниками, простота та зручність є пріоритетом.

Автоматичне масштабування. Платформа працює на інфраструктурі Amazon і автоматично масштабується при виникненні навантажень: за розміром та використанням пам’яті. У разі перевищення критичного ліміту запускаються додаткові віртуальні машини, коли це необхідно.

Недоліки Backendless:

  • Безкоштовна версія має обмеження. На великих проєктах «вагомий» безкоштовний план може досягти межі, і вам знадобиться купити розширення.
  • Обмежені ресурси сервера, що може вплинути на продуктивність.
  • Частково обмежені можливості розробки, тому можуть виникнути труднощі з завданнями, які вимагають складної серверної логіки.

З Backendless буде важче реалізувати:

  • Застосунок для популярного онлайн-магазину електроніки або одягу;
  • Складні логістичні послуги з GPS-відстеженням пакунків або автобусів;
  • Застосунок для обробки фотографій (Prisma) або відео (MSQRD, Snapchat);
  • Сервіс з великими піковими навантаженнями, орієнтований на купони або з функцією покупки квитка на автобус або авіаквитка;
  • Складні рішення, які вимагають інноваційних підходів, алгоритмів та інструментів.

Backendless підходить для швидшої та дешевшої реалізації MVP (оскільки вам не потрібно платити за години роботи одного бекенд-розробника), а також для реалізації невеликих бекенд-сервісів:

  • послуги локальної доставки;
  • невеликі логістичні послуги;
  • застосунки для пошуку ресторанів;
  • застосунки для підготовки до мовних або інших тестів тощо.

Потрібна розробка MVP, додатків для iOS та Android або прототипування? Ознайомтеся з нашим портфоліо та зробіть замовлення сьогодні!