Как создать бэкенд для Kotlin?
В этом учебном пособии вы научитесь создавать полный бэкенд для 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 поможет вам легче следовать инструкциям.
Первый шаг в создании вашего Android бэкенда на Back4app – это создание нового проекта. Если вы еще не создали его, выполните следующие шаги:
- Войдите в свою учетную запись Back4app.
- Нажмите кнопку “Новое приложение” на вашей панели управления Back4app.
- Дайте вашему приложению имя (например, “Android-Kotlin-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
После создания проекта вы увидите его в списке на вашей панели управления Back4app. Этот проект станет основой для всех конфигураций бэкенда, обсуждаемых в этом учебном пособии.
Back4App полагается на платформу Parse для управления вашими данными, предоставления функций в реальном времени, обработки аутентификации пользователей и многого другого. Интеграция вашего Android-приложения с Back4App включает добавление зависимостей Parse Android SDK в ваши файлы Gradle и их инициализацию с учетными данными из вашей панели управления Back4App.
Получите ваши ключи Parse: В вашей панели управления Back4App перейдите в раздел “Настройки приложения” или “Безопасность и ключи”, чтобы найти ваш Идентификатор приложения и Ключ клиента. Вы также найдете URL сервера Parse (обычно в формате https://parseapi.back4app.com).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Добавьте SDK Parse в ваши build.gradle файлы:
В вашем корневом build.gradle (уровень проекта):
В вашем модульном build.gradle (обычно app/build.gradle):
Инициализируйте Parse в вашем Android приложении:
Создайте пользовательский Application класс (например, App.kt) если у вас его еще нет:
Далее откройте ваш AndroidManifest.xml и зарегистрируйте пользовательский Application класс:
Завершив этот шаг, вы установили безопасное соединение между вашим Android (Kotlin) фронтендом и бэкендом Back4App. Все запросы и транзакции данных безопасно маршрутизируются через этот SDK, что снижает сложность ручных вызовов REST или GraphQL (хотя вы все равно можете использовать их при необходимости).
С вашим проектом Back4App, настроенным и интегрированным с Parse SDK в ваше Android-приложение, вы теперь можете начинать сохранять и извлекать данные. Ниже приведен пример на Kotlin для создания и получения данных.
В качестве альтернативы вы можете использовать конечные точки REST API Back4App:
Back4app также предоставляет интерфейс GraphQL:
Эти разнообразные варианты позволяют вам интегрировать операции с данными так, как это лучше всего подходит вашему процессу разработки — будь то через Parse SDK, REST или GraphQL.
По умолчанию Parse позволяет создание схемы на лету, но вы также можете определить свои классы и типы данных в панели управления Back4app для большего контроля.
- Перейдите в раздел “База данных” в вашей панели управления Back4app.
- Создайте новый класс (например, “Todo”) и добавьте соответствующие столбцы, такие как заголовок (String) и isCompleted (Boolean).
![Создать новый класс Создать новый класс](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4app предлагает AI-агента, который может помочь вам разработать вашу модель данных:
- Откройте AI-агента из вашей панели управления приложением или в меню.
- Опишите вашу модель данных простым языком (например, “Пожалуйста, создайте новое приложение ToDo на back4app с полной схемой класса.”).
- Позвольте AI-агенту создать схему для вас.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Использование AI-агента может сэкономить ваше время при настройке архитектуры данных и обеспечить согласованность в вашем приложении.
Если у вас есть реляционные данные — скажем, объект Category, который указывает на несколько Todo элементов — вы можете использовать Pointers или Relations в Parse. Например, добавление указателя на Category:
Когда вы выполняете запрос, вы также можете включить данные указателя:
Этот include("category") вызов извлекает детали категории вместе с каждой задачей Todo, что делает ваши реляционные данные легко доступными.
Для обновлений в реальном времени Back4app предоставляет Live Queries. Вы можете подписаться на изменения в конкретном классе из вашего Android-приложения:
- Включите Live Queries в вашей панели управления Back4App в разделе Server Settings.
- Инициализируйте подписку на Live Query в вашем коде:
Каждый раз, когда создается, обновляется или удаляется новый Todo, клиент получает обратный вызов в реальном времени — идеально для совместных или динамических приложений.
Back4app серьезно относится к безопасности, предоставляя Списки контроля доступа (ACL) и Разрешения на уровне класса (CLP). Эти функции позволяют ограничить, кто может читать или записывать данные на уровне отдельных объектов или классов, обеспечивая, чтобы только авторизованные пользователи могли изменять ваши данные.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
ACL применяется к отдельным объектам, чтобы определить, какие пользователи, роли или общественность могут выполнять операции чтения/записи. Например:
CLPs управляют стандартными разрешениями всего класса, такими как возможность чтения или записи класса для общественности.
- Перейдите в свою панель управления Back4app, выберите свое приложение и откройте раздел База данных.
- Выберите класс (например, “Todo”).
- Откройте вкладку Разрешения на уровне класса.
- Настройте свои параметры по умолчанию, такие как “Требуется аутентификация” для чтения или записи, или “Нет доступа” для общественности.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
Облачный код позволяет вам запускать пользовательский код на JavaScript, похожий на Kotlin, на сервере Parse (загруженный как .js файлы), не требуя управления серверной инфраструктурой. Это идеально подходит для бизнес-логики, валидаций, триггеров и вызовов внешних API.
Вы обычно размещаете функции JavaScript, триггеры и любые необходимые модули npm в файле main.js. Этот файл развертывается в вашем проекте Back4App и выполняется в среде Parse Server.
- Бизнес-логика
- Проверка данных
- Триггеры (например, beforeSave, afterSave)
- Обеспечение безопасности
- Интеграции с API третьих сторон
Ниже приведена простая функция Cloud Code:
Развертывание через Back4App CLI:
Затем настройте и разверните:
Из вашего Android (Kotlin) кода через Parse SDK:
Вы также можете вызвать его через REST или GraphQL аналогичным образом.
Back4App использует класс Parse User для аутентификации. Parse обрабатывает безопасное хеширование паролей, токены сессий и многое другое из коробки.
В Kotlin вы можете создать нового пользователя:
Войдите в существующий аккаунт:
Социальные входы, такие как Google, Facebook и Apple, также могут быть интегрированы. Проверьте Документацию по социальному входу для получения подробной информации.
Parse автоматически управляет токенами сессии. Вы можете получить доступ к текущему пользователю:
И выйти из системы:
Parse включает класс ParseFile для обработки загрузки файлов:
Вы можете контролировать, кто может загружать или скачивать файлы, настраивая ACL и CLP или используя настройки, специфичные для файлов, в конфигурации parse-server.
- Включите подтверждение электронной почты в настройках вашей панели управления Back4App.
- Настройте ваш адрес отправителя, шаблоны электронной почты или пользовательский домен, если это необходимо.
- Используйте ParseUser.requestPasswordResetInBackground(email, callback) для запуска процесса сброса пароля в вашем приложении.
Облачные задания позволяют вам автоматизировать рутинные задачи, такие как очистка данных или отправка периодических уведомлений.
Запланируйте задание в вашей панели управления Back4App в разделе Настройки сервера > Фоновая работа.
Вебхуки позволяют вашему приложению Back4App отправлять HTTP-запросы на внешний сервис, когда происходят определенные события.
- Добавьте вебхук в вашей панели управления Back4App в разделе Дополнительно > Вебхуки.
- Настройте триггеры (например, после сохранения нового объекта).
- Добавьте URL-адрес конечной точки (например, вебхук Slack или Stripe).
![Добавление вебхука Добавление вебхука](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Приложение Back4App Admin App – это удобный веб-интерфейс для нетехнических пользователей для управления данными.
- Включите его в разделе Панель приложения > Дополнительно > Приложение администратора.
- Создайте своего первого администратора.
- Выберите поддомен для доступа к панели администратора.
- Войдите для легкого просмотра, редактирования или удаления записей из вашей базы данных.
![Включить приложение администратора Включить приложение администратора](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Следуя этому подробному руководству, вы:
- Создали безопасный бэкенд для Android-приложения на Back4App.
- Настроили базу данных с классами схем, типами данных и отношениями.
- Интегрировали запросы в реальном времени (Live Queries) для немедленного обновления данных.
- Применили меры безопасности с использованием ACL и CLP для защиты и управления доступом к данным.
- Реализовали функции Cloud Code для выполнения пользовательской бизнес-логики на стороне сервера.
- Настроили аутентификацию пользователей с поддержкой проверки электронной почты и сброса паролей.
- Управляли загрузкой файлов и их извлечением, с дополнительными мерами безопасности для файлов.
- Запланировали Cloud Jobs для автоматизированных фоновых задач.
- Использовали Webhooks для интеграции с внешними сервисами.
- Изучили панель администратора Back4App для управления данными.
С надежным фронтендом на Android (Kotlin) и мощным бэкендом на Back4App, вы теперь хорошо подготовлены для разработки функциональных, масштабируемых и безопасных приложений. Продолжайте исследовать более продвинутые функции, интегрируйте свою бизнес-логику и используйте возможности Back4App, чтобы сэкономить вам бесчисленные часы на администрировании серверов и баз данных. Удачного кодирования!
- Создайте готовое к производству Android-приложение путем расширения этого бэкенда для обработки более сложных моделей данных, стратегий кэширования и оптимизации производительности.
- Интегрируйте расширенные функции такие как специализированные потоки аутентификации, контроль доступа на основе ролей или внешние API (например, платежные шлюзы).
- Посмотрите официальную документацию Back4app для более глубокого изучения вопросов безопасности, настройки производительности и анализа логов.
- Изучите другие учебники по приложениям для чата в реальном времени, IoT-панелям или сервисам на основе местоположения. Вы можете комбинировать техники, изученные здесь, с API третьих сторон для создания сложных, реальных приложений.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)