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

Как создать бэкэнд для Play Framework?

36min

Введение

В этом учебном пособии вы узнаете, как создать полный бэкенд для Play Framework с использованием Back4App.

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

Вы увидите, как Back4App упрощает процесс настройки, масштабирования и поддержки бэкенда веб-приложения, позволяя вам сосредоточиться на вашем коде Play Framework.

Изучив, как построить бэкенд для Play Framework с помощью Back4App, вы сократите время разработки и минимизируете проблемы с dev ops.

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

Когда вы закончите, у вас будет надежный план для создания вашего следующего масштабируемого и безопасного веб-приложения на Play Framework.

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

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

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

  • Учетная запись Back4App и новый проект Back4App Начало работы с Back4App. Если у вас нет учетной записи, вы можете создать ее бесплатно. Следуйте приведенному выше руководству, чтобы подготовить ваш проект.
  • Рабочая среда Play Framework
  • Базовые знания Play Framework Обратитесь к Документации Play если вам нужно освежить свои знания.
  • Знание REST или GraphQL Это поможет вам взаимодействовать с Back4App, особенно если вы решите не использовать или не сможете использовать Parse SDK напрямую.

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

Шаг 1 – Создание нового проекта на Back4App и подключение

Почему вам нужен новый проект Back4App

Новый проект Back4App является основой для вашего бэкенда, так как он управляет данными вашего приложения, аутентификацией и облачной логикой. Независимо от того, создаете ли вы небольшой прототип или крупномасштабное веб-приложение, легко подключить ваше приложение Play Framework к новому проекту Back4App.

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

  1. Войдите в свою учетную запись Back4App.
  2. Нажмите “Новое приложение” в вашей панели управления Back4App.
  3. Назовите ваше приложение, например, “Play-Framework-Backend”.
Document image


После создания ваш новый проект появится в панели управления.

Подключение к Back4App

Back4App использует Parse Server. Если ваше приложение на Play Framework планирует взаимодействовать с Back4App через Parse Java SDK, вы можете добавить его в ваш build.sbt при необходимости. В противном случае вы можете использовать REST или GraphQL конечные точки.

Получите ваши ключи Parse:

  • В вашей панели управления Back4App откройте Настройки приложения или Безопасность и ключи чтобы найти ваш Идентификатор приложения, Ключ REST API, Ключ JavaScript (если используете фронтенд вызовы), или Ключ клиента, плюс URL сервера (обычно https://parseapi.back4app.com).
Document image


Использование Java/Parse SDK (необязательно):

Если вы хотите прямую серверную интеграцию с использованием Parse SDK, добавьте зависимость в ваш build.sbt:

Text


Затем, в вашем коде Play Framework, вы можете инициализировать Parse:

Text


Вы можете разместить это в вашем Global.scala или вызвать это из подходящей точки инициализации. Это подготавливает вас к прямому взаимодействию с вашим проектом Back4App. Если вы предпочитаете, используйте REST или GraphQL конечные точки для операций с данными, особенно если вы хотите больше контроля над вашими HTTP-запросами или если вы строите микросервисы.

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

Сервис хранения данных Back4App поддерживает широкий спектр типов данных и динамическое создание схемы. Это позволяет вам хранить данные вашего приложения Play с минимальными усилиями.

Создание модели данных

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


Создание модели данных с помощью AI-агента

Если вы хотите быстро определить структуру данных:

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


Чтение и запись данных с использованием Parse SDK (необязательно)

Если вы решили включить Parse Java SDK в ваше приложение Play Framework, вы можете сохранять и запрашивать данные:

Text


Чтение и запись данных с использованием REST

Вы можете отправлять HTTP-запросы из ваших контроллеров или сервисов Play Framework:

Bash


Чтение и запись данных с использованием GraphQL

Back4App также предоставляет GraphQL API:

GraphQL


Это удобно, если вы создаете микросервисы или хотите гибкий API для ваших клиентских приложений.

Работа с живыми запросами

Если ваше веб-приложение требует данных в реальном времени, включите живые запросы:

  1. Включите живые запросы в панели управления Back4App в разделе Настройки сервера.
  2. Настройте вашу подписку в коде. Если вы используете Parse SDK или собственный код, убедитесь, что вы настроили liveQueryServerURL.
  3. Подпишитесь на изменения для классов, таких как “Todo.”

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

Обзор ACL и CLP

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

Document image


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

В разделе База данных вашей панели управления Back4App:

  1. Выберите класс (например, “Todo”).
  2. Откройте CLP для ограничения чтения/записи для аутентифицированных пользователей, ролей или для общественности.
  3. Настройте по мере необходимости (например, “Требуется аутентификация” для любых записей).

ACL

ACL защищает отдельные объекты. Например, вы можете гарантировать, что только определенный пользователь может читать или записывать конкретную запись. Если вы используете Parse SDK из кода Scala:

Text


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

Почему облачный код

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

Пример функции

JS


Вы можете вызвать это из вашего приложения Play через REST, GraphQL или, если используете Parse SDK, напрямую.

Развертывание

Используйте Back4App CLI или панель управления:

  1. Установите CLI (пример для Linux/MacOS):
  2. Настройте ключ учетной записи:
  3. Развернуть:

Или развернуть через панель управления вставив вашу функцию в Cloud Code > Functions и нажав “Развернуть”.

Использование модулей NPM

Облачный код поддерживает модули NPM. Например, если вам нужен HTTP-клиент, такой как axios:

JS


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

Включение аутентификации пользователей

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

Пример кода (Parse SDK)

Text


Социальный вход

Если вам нужны социальные входы (Google, Apple или Facebook), настройте их в вашей панели управления Back4App. Parse предоставляет утилиты или вы можете полагаться на стандартные потоки OAuth, в зависимости от ваших потребностей и подхода.

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

Back4App хранит файлы через Parse.File. Из Play Framework вы можете загружать с помощью REST или Parse SDK.

Text


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

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

  1. Перейдите в настройки электронной почты в панели управления Back4App.
  2. Включите подтверждение электронной почты и настройте шаблоны электронной почты для сброса паролей.
  3. В вашем приложении Play вы можете вызвать:
Bash


Это вызовет Back4App для отправки инструкций по сбросу пароля на электронную почту пользователя.

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

Облачные задания

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

JS


Планирование:

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


Шаг 9 – Интеграция Webhooks

Если вы хотите уведомлять внешние сервисы всякий раз, когда данные изменяются, настройте Webhooks в Back4App.

  1. Перейдите в Разное > WebHooks в вашей панели управления Back4App.
  2. Добавить Webhook с конечной точкой (например, Slack или Stripe).
  3. Выберите триггеры, такие как “Новая запись в классе Todo.”
Добавление Webhook
Добавление Webhook


Вы также можете создавать Webhooks в триггерах Cloud Code, выполняя прямые HTTP-запросы к сторонним сервисам.

WebHook BeforeSave
WebHook BeforeSave


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

Административное приложение Back4App Admin App является удобным интерфейсом для управления данными и записями. Нетехнические пользователи могут выполнять операции CRUD, не углубляясь в код.

Включение административного приложения

  1. Перейдите в App Dashboard > More > Admin App.
  2. Включите его и создайте администратора.
  3. Выберите поддомен для удобного доступа.
Включите административное приложение
Включите административное приложение


После входа в систему вы можете управлять записями данных, не беспокоясь о низкоуровневых панелях управления или инструментах CLI.

Document image


Заключение

Поздравляем! Вы научились создавать бэкенд для Play Framework с использованием услуг Back4App. На протяжении этого учебника вы:

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

С этими инструментами вы можете оптимизировать режим разработки, масштабироваться по мере необходимости и создавать надежные веб-приложения на Play Framework.

Используйте дальнейшие интеграции, настройку производительности и расширенные меры безопасности, чтобы вывести ваши серверные бэкенды на новый уровень.

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

  • Улучшите вашу производственную настройку с помощью кэширования, ведения журналов или инструментов мониторинга.
  • Изучите расширенную безопасность с контролем доступа на основе ролей или настройками нулевого доверия.
  • Интегрируйте платежные шлюзы или другие сторонние API для коммерции или аналитики.
  • Посмотрите официальную документацию Back4App для более глубокого понимания производительности и устранения неполадок.
  • Просмотрите больше учебников по приложениям для чата в реальном времени, IoT-решениям или услугам на основе местоположения — многие из которых основаны на методах, описанных в этом руководстве.