Быстрые стартеры

Как создать бэкенд для Kotlin?

39min

Введение

В этом учебном пособии вы научитесь создавать полный бэкенд для Android-приложения (написанного на Kotlin) с использованием Back4App.

Мы пройдем через интеграцию основных функций Back4App, включая управление базами данных, функции Cloud Code, REST и GraphQL API, аутентификацию пользователей и запросы в реальном времени (Live Queries), чтобы создать безопасный, масштабируемый и надежный бэкенд, который бесшовно взаимодействует с вашим Android-приложением.

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

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

К концу этого учебного пособия вы будете хорошо подготовлены, чтобы улучшить эту базовую настройку до готового к производству приложения или легко интегрировать пользовательскую логику и сторонние API по мере необходимости.

Предварительные требования

Чтобы завершить это учебное пособие, вам потребуется:

  • Аккаунт Back4app и новый проект Back4app Начало работы с Back4app. Если у вас нет аккаунта, вы можете создать его бесплатно. Следуйте приведенному выше руководству, чтобы подготовить ваш проект.
  • Базовая среда разработки Android/Kotlin Убедитесь, что у вас установлена Android Studio на вашем компьютере. Вы можете следовать официальной документации по настройке Android Studio если вы еще не настроили её.
  • Минимум Android 4.0 или выше в конфигурации Gradle вашего приложения Обычно вы устанавливаете это в вашем minSdkVersion в файле build.gradle вашего модуля.
  • Знание Kotlin и базовых концепций Android Документации для разработчиков Android. Если вы новичок в Android или Kotlin, ознакомьтесь с официальной документацией или учебным пособием для начинающих перед началом.

Убедитесь, что у вас есть все эти предварительные условия, прежде чем вы начнете. Настройка вашего проекта Back4app и вашей локальной среды Android поможет вам легче следовать инструкциям.

Шаг 1 – Настройка проекта Back4app

Создание нового проекта

Первый шаг в создании вашего Android бэкенда на Back4app – это создание нового проекта. Если вы еще не создали его, выполните следующие шаги:

  1. Войдите в свою учетную запись Back4app.
  2. Нажмите кнопку “Новое приложение” на вашей панели управления Back4app.
  3. Дайте вашему приложению имя (например, “Android-Kotlin-Backend-Tutorial”).
Document image


После создания проекта вы увидите его в списке на вашей панели управления Back4app. Этот проект станет основой для всех конфигураций бэкенда, обсуждаемых в этом учебном пособии.

Подключите Parse SDK

Back4App полагается на платформу Parse для управления вашими данными, предоставления функций в реальном времени, обработки аутентификации пользователей и многого другого. Интеграция вашего Android-приложения с Back4App включает добавление зависимостей Parse Android SDK в ваши файлы Gradle и их инициализацию с учетными данными из вашей панели управления Back4App.

Получите ваши ключи Parse: В вашей панели управления Back4App перейдите в раздел “Настройки приложения” или “Безопасность и ключи”, чтобы найти ваш Идентификатор приложения и Ключ клиента. Вы также найдете URL сервера Parse (обычно в формате https://parseapi.back4app.com).

Document image


Добавьте SDK Parse в ваши build.gradle файлы:

В вашем корневом build.gradle (уровень проекта):

Text


В вашем модульном build.gradle (обычно app/build.gradle):

Text


Инициализируйте Parse в вашем Android приложении:

Создайте пользовательский Application класс (например, App.kt) если у вас его еще нет:

Kotlin


Далее откройте ваш AndroidManifest.xml и зарегистрируйте пользовательский Application класс:

XML


Завершив этот шаг, вы установили безопасное соединение между вашим Android (Kotlin) фронтендом и бэкендом Back4App. Все запросы и транзакции данных безопасно маршрутизируются через этот SDK, что снижает сложность ручных вызовов REST или GraphQL (хотя вы все равно можете использовать их при необходимости).

Шаг 2 – Настройка базы данных

Сохранение и запрос данных

С вашим проектом Back4App, настроенным и интегрированным с Parse SDK в ваше Android-приложение, вы теперь можете начинать сохранять и извлекать данные. Ниже приведен пример на Kotlin для создания и получения данных.

Kotlin


В качестве альтернативы вы можете использовать конечные точки REST API Back4App:

Bash


Back4app также предоставляет интерфейс GraphQL:

GraphQL


Эти разнообразные варианты позволяют вам интегрировать операции с данными так, как это лучше всего подходит вашему процессу разработки — будь то через Parse SDK, REST или GraphQL.

Проектирование схемы и типы данных

По умолчанию Parse позволяет создание схемы на лету, но вы также можете определить свои классы и типы данных в панели управления Back4app для большего контроля.

  1. Перейдите в раздел “База данных” в вашей панели управления Back4app.
  2. Создайте новый класс (например, “Todo”) и добавьте соответствующие столбцы, такие как заголовок (String) и isCompleted (Boolean).
Создать новый класс
Создать новый класс


Back4app предлагает AI-агента, который может помочь вам разработать вашу модель данных:

  1. Откройте AI-агента из вашей панели управления приложением или в меню.
  2. Опишите вашу модель данных простым языком (например, “Пожалуйста, создайте новое приложение ToDo на back4app с полной схемой класса.”).
  3. Позвольте AI-агенту создать схему для вас.
Document image


Использование AI-агента может сэкономить ваше время при настройке архитектуры данных и обеспечить согласованность в вашем приложении.

Реляционные данные

Если у вас есть реляционные данные — скажем, объект Category, который указывает на несколько Todo элементов — вы можете использовать Pointers или Relations в Parse. Например, добавление указателя на Category:

Kotlin


Когда вы выполняете запрос, вы также можете включить данные указателя:

Kotlin


Этот include("category") вызов извлекает детали категории вместе с каждой задачей Todo, что делает ваши реляционные данные легко доступными.

Живые запросы

Для обновлений в реальном времени Back4app предоставляет Live Queries. Вы можете подписаться на изменения в конкретном классе из вашего Android-приложения:

  1. Включите Live Queries в вашей панели управления Back4App в разделе Server Settings.
  2. Инициализируйте подписку на Live Query в вашем коде:
Kotlin


Каждый раз, когда создается, обновляется или удаляется новый Todo, клиент получает обратный вызов в реальном времени — идеально для совместных или динамических приложений.

Шаг 3 – Применение безопасности с помощью ACL и CLP

Механизм безопасности Back4app

Back4app серьезно относится к безопасности, предоставляя Списки контроля доступа (ACL) и Разрешения на уровне класса (CLP). Эти функции позволяют ограничить, кто может читать или записывать данные на уровне отдельных объектов или классов, обеспечивая, чтобы только авторизованные пользователи могли изменять ваши данные.

Document image


Списки контроля доступа (ACL)

ACL применяется к отдельным объектам, чтобы определить, какие пользователи, роли или общественность могут выполнять операции чтения/записи. Например:

Kotlin


Разрешения на уровне класса (CLPs)

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

  1. Перейдите в свою панель управления Back4app, выберите свое приложение и откройте раздел База данных.
  2. Выберите класс (например, “Todo”).
  3. Откройте вкладку Разрешения на уровне класса.
  4. Настройте свои параметры по умолчанию, такие как “Требуется аутентификация” для чтения или записи, или “Нет доступа” для общественности.
Document image


Шаг 4 – Написание функций облачного кода

Облачный код позволяет вам запускать пользовательский код на JavaScript, похожий на Kotlin, на сервере Parse (загруженный как .js файлы), не требуя управления серверной инфраструктурой. Это идеально подходит для бизнес-логики, валидаций, триггеров и вызовов внешних API.

Как это работает

Вы обычно размещаете функции JavaScript, триггеры и любые необходимые модули npm в файле main.js. Этот файл развертывается в вашем проекте Back4App и выполняется в среде Parse Server.

Типичные случаи использования

  • Бизнес-логика
  • Проверка данных
  • Триггеры (например, beforeSave, afterSave)
  • Обеспечение безопасности
  • Интеграции с API третьих сторон

Разверните вашу функцию

Ниже приведена простая функция Cloud Code:

main.js


Развертывание через Back4App CLI:

Bash


Затем настройте и разверните:

Bash


Вызов вашей функции

Из вашего Android (Kotlin) кода через Parse SDK:

Kotlin


Вы также можете вызвать его через REST или GraphQL аналогичным образом.

Шаг 5 – Настройка аутентификации

Аутентификация пользователя в Back4App

Back4App использует класс Parse User для аутентификации. Parse обрабатывает безопасное хеширование паролей, токены сессий и многое другое из коробки.

Настройка аутентификации пользователя

В Kotlin вы можете создать нового пользователя:

Kotlin


Войдите в существующий аккаунт:

Kotlin


Социальные входы, такие как Google, Facebook и Apple, также могут быть интегрированы. Проверьте Документацию по социальному входу для получения подробной информации.

Управление сессиями

Parse автоматически управляет токенами сессии. Вы можете получить доступ к текущему пользователю:

Kotlin


И выйти из системы:

Kotlin


Шаг 6 – Обработка хранения файлов

Загрузка и получение файлов

Parse включает класс ParseFile для обработки загрузки файлов:

Kotlin


Безопасность файлов

Вы можете контролировать, кто может загружать или скачивать файлы, настраивая ACL и CLP или используя настройки, специфичные для файлов, в конфигурации parse-server.

Шаг 7 – Подтверждение электронной почты и сброс пароля

  1. Включите подтверждение электронной почты в настройках вашей панели управления Back4App.
  2. Настройте ваш адрес отправителя, шаблоны электронной почты или пользовательский домен, если это необходимо.
  3. Используйте ParseUser.requestPasswordResetInBackground(email, callback) для запуска процесса сброса пароля в вашем приложении.

Шаг 8 – Планирование задач с помощью облачных заданий

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

JS


Запланируйте задание в вашей панели управления Back4App в разделе Настройки сервера > Фоновая работа.

Шаг 9 – Интеграция вебхуков

Вебхуки позволяют вашему приложению Back4App отправлять HTTP-запросы на внешний сервис, когда происходят определенные события.

  1. Добавьте вебхук в вашей панели управления Back4App в разделе Дополнительно > Вебхуки.
  2. Настройте триггеры (например, после сохранения нового объекта).
  3. Добавьте URL-адрес конечной точки (например, вебхук Slack или Stripe).
Добавление вебхука
Добавление вебхука


Шаг 10 – Изучение панели администратора Back4App

Приложение Back4App Admin App – это удобный веб-интерфейс для нетехнических пользователей для управления данными.

  1. Включите его в разделе Панель приложения > Дополнительно > Приложение администратора.
  2. Создайте своего первого администратора.
  3. Выберите поддомен для доступа к панели администратора.
  4. Войдите для легкого просмотра, редактирования или удаления записей из вашей базы данных.
Включить приложение администратора
Включить приложение администратора


Заключение

Следуя этому подробному руководству, вы:

  • Создали безопасный бэкенд для Android-приложения на Back4App.
  • Настроили базу данных с классами схем, типами данных и отношениями.
  • Интегрировали запросы в реальном времени (Live Queries) для немедленного обновления данных.
  • Применили меры безопасности с использованием ACL и CLP для защиты и управления доступом к данным.
  • Реализовали функции Cloud Code для выполнения пользовательской бизнес-логики на стороне сервера.
  • Настроили аутентификацию пользователей с поддержкой проверки электронной почты и сброса паролей.
  • Управляли загрузкой файлов и их извлечением, с дополнительными мерами безопасности для файлов.
  • Запланировали Cloud Jobs для автоматизированных фоновых задач.
  • Использовали Webhooks для интеграции с внешними сервисами.
  • Изучили панель администратора Back4App для управления данными.

С надежным фронтендом на Android (Kotlin) и мощным бэкендом на Back4App, вы теперь хорошо подготовлены для разработки функциональных, масштабируемых и безопасных приложений. Продолжайте исследовать более продвинутые функции, интегрируйте свою бизнес-логику и используйте возможности Back4App, чтобы сэкономить вам бесчисленные часы на администрировании серверов и баз данных. Удачного кодирования!

Следующие шаги

  • Создайте готовое к производству Android-приложение путем расширения этого бэкенда для обработки более сложных моделей данных, стратегий кэширования и оптимизации производительности.
  • Интегрируйте расширенные функции такие как специализированные потоки аутентификации, контроль доступа на основе ролей или внешние API (например, платежные шлюзы).
  • Посмотрите официальную документацию Back4app для более глубокого изучения вопросов безопасности, настройки производительности и анализа логов.
  • Изучите другие учебники по приложениям для чата в реальном времени, IoT-панелям или сервисам на основе местоположения. Вы можете комбинировать техники, изученные здесь, с API третьих сторон для создания сложных, реальных приложений.