дизайн мобільного додатку на екрані ноутбука в офісному середовищі

Ринок розробки мобільних додатків є висококонкурентним, тому клієнт може мати декілька пропозицій від різних компаній. Важливими критеріями вибору компанії є кінцева вартість проєкту та час розробки.

Оскільки більшість додатків мають схожий функціонал (реєстрація, авторизація, видалення облікового запису, завантаження фото тощо), ми вирішили розробити декілька універсальних готових рішень, які з мінімальною кастомізацією можна використати в проєкті, зекономивши час розробки та кошти клієнта. ReadyCode рішення не настільки хайпове, як NoCode solutions, за допомогою яких можна зробити апку без написання коду, але теж крута тема )). Раді з вами ділитися своїми напрацюваннями. Отож, давайте занурюватися!

TL;DR

  • Готові рішення ReadyCode допомагають зменшити час і вартість розробки мобільних додатків за рахунок повторного використання перевіреного функціоналу.
  • Більшість додатків має схожі компоненти: реєстрацію, авторизацію, видалення облікового запису, підписки, завантаження фото та чати. Використання готових модулів дозволяє швидше реалізувати ці функції з мінімальною кастомізацією.
  • ReadyCode-рішення включають базову архітектуру проєкту, роботу з мережею, необхідні розширення та фреймворки, що дозволяють команді не витрачати час на однотипні завдання в кожному новому проєкті.
  • Готові рішення можуть включати як бекенд-частину, так і логіку взаємодії мобільного застосунку з сервером, тоді як унікальний дизайн і специфічний функціонал залишаються індивідуальними для кожного продукту.
  • Використання перевірених компонентів допомагає створювати більш гнучкі оцінки проєктів і спрямовувати ресурси команди на функції, які роблять застосунок унікальним.

Як готові рішення допомагають скоротити час і вартість розробки

У більшості проєктів мобільна команда Stfalcon використовує Clean Architecture та MVVM-архітектуру, тому при старті нового додатку ми спочатку створюємо структуру проєкту з Data, Domain та Presentation шарів (layers).

ReadyCode рішенняЩо включаєПеревага для проєкту
Базова архітектура застосунку Готова структура проєкту на основі Clean Architecture та MVVM, Data, Domain і Presentation шари, налаштована робота з мережею, extensions та необхідні фреймворки. Скорочує час старту нового проєкту та усуває повторення однотипної роботи для кожного застосунку.
Реєстрація та авторизація Готова бекенд-частина та методи взаємодії клієнтського застосунку з бекендом для реєстрації через email, авторизації та видалення облікового запису. Зменшує оцінку розробки стандартного функціоналу та дозволяє зосередитися на унікальній частині продукту.
Робота з підписками Готове рішення для інтеграції підписок у застосунок разом із необхідною логікою взаємодії між клієнтом і бекендом. Допомагає швидше реалізувати монетизацію без повторної розробки базової функціональності.
Завантаження фото Готовий функціонал для завантаження фото користувача та передачі зображень на сервер. Економить час розробки завдяки використанню перевіреного рішення замість створення механізму з нуля.
Чат між користувачами Готова реалізація чату на основі Centrifugo та WebSocket, включно з UI-рішенням на рівні Presentation-шару. Дозволяє швидко інтегрувати real-time спілкування, змінюючи лише стилі та специфічний для продукту функціонал.

Щоб не робити однотипну роботу на кожному проєкті, команда вирішила зробити універсальний базовий проєкт, де буде реалізована необхідна структура, робота з мережею, додані розширення (extensions) та встановлені необхідні фреймворки. Це рішення суттєво зекономило час роботи розробників та кінцеву вартість проєктів.

структура проекту SwiftUI з файлами та папками

Готове рішення для реєстрації та авторизації користувачів

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

Так на проектах наших клієнтів Velvot (додаток для навчання за допомогою відеоконтенту) та STRONGMom (фітнес-додаток для вагітних) за рахунок використання готових рішень була зменшена оцінка вартості такого функціоналу:

  • реєстрація через електронну пошту
  • авторизація
  • видалення облікового запису
  • робота з підписками.

Рішення включали в себе вже готову бекенд-частину та методи взаємодії клієнтських додатків з бекендом в Data- та Domain-шарах. Presentation шар був зроблений унікальним для цих додатків.

екран реєстрації користувача з формою та планами підписки

Оптимізація завантаження фото за допомогою ReadyCode

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

скріншот інтерфейсу профілю з можливістю завантаження фото

Реалізація чату між клієнтами

У додатку (ніша: нерухомість) для реалізації чату між клієнтами та замовником ми запропонували нашу готову реалізацію чату на основі Centrifugo (сервера повідомлень в реальному часі) та протоколу WebSocket (обмін інформацією в реальному часі). На рівні шару Presentation був використаний розроблений нами UI, в результаті розробник замінив тільки стилі та додатково розширив функціонал. Як результат, більшість готового функціоналу чату цілісно влилася у додаток. За рахунок цих готових рішень, які включають як наш код, так і опенсорс, було суттєво зменшено кінцеву вартість проєкту.

Скріншоти базового проєкту

скріншоти базового проекту з функціоналом чату

Скріншоти готового додатку

скріншоти інтерфейсу готового додатку для обміну повідомленнями

Висновки: як ReadyCode допомагає зменшити витрати на розробку

Розробка готових універсальних рішень, які використовуються у більшості додатків, позитивно впливає на оцінку вартості розробки проєкту. У такому разі ІТ-компанія має більш гнучку пропозицію для клієнта, при цьому пропонує стабільні та неодноразово перевірені рішення для реалізації однотипного функціоналу. Нам такі рішення дуже подобаються (вони в першу чергу дбають про клієнта), тому рекомендуємо і вам спробувати працювати у цьому напрямку самостійно або звернутися до нашої команди.