Quickstarters

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

34min

Введение

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

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

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

Этот подход экономит время и усилия, используя платформу с открытым исходным кодом, построенную на Parse. Вы увидите, как ускорить проекты разработки с помощью принципов быстрого развития.

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

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

Вы сможете:

  1. Интегрировать Ruby с Back4App для моделей данных, объектно-ориентированной логики и данных в реальном времени.
  2. Воспользоваться лучшими практиками процесса разработки для разработки приложений в стиле модель-представление-контроллер (MVC) или любой другой архитектуре, которую вы предпочитаете.
  3. Укрепить свою роль как разработчика на стороне сервера, обрабатывая безопасную аутентификацию пользователей, триггеры Cloud Code и многое другое.
  4. Дальше уточнить свои веб-приложения, чтобы удовлетворить реальные потребности, используя гибкие функции Back4App.

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

  • Аккаунт Back4app и новый проект Back4app Начало работы с Back4app. Зарегистрируйтесь бесплатно, если у вас нет аккаунта.
  • Локальная среда Ruby У вас должна быть установлена Ruby . Обычно рекомендуется Ruby 2.6 или выше.
  • Знание языка программирования Ruby Базовые знания синтаксиса Ruby, объектно-ориентированных концепций и общего
  • Bundler (необязательно, но рекомендуется) Bundler помогает управлять гемами для вашего веб-приложения или разработки проектов. Официальная документация Bundler.

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

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

  1. Почему этот шаг важен Новый проект Back4App является основой для вашей разработки приложений. Он размещает вашу базу данных, управляет аутентификацией пользователей и предоставляет среду для выполнения Cloud Code.
  2. Создать новый проект
    • Войдите в Back4App.
    • Нажмите Новый приложение в вашей панели управления Back4App.
    • Дайте вашему приложению имя (например, “Ruby-Backend-Tutorial”).
  3. Установите Parse SDK и подключитесь к Back4App Parse SDK для Ruby помогает вам взаимодействовать с бэкендом Back4App. Вы можете установить его через gem:

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

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

В Back4App, класс похож на таблицу базы данных. Например, вы можете создать класс “Todo” для хранения задач. Вы можете создавать классы на лету из Ruby или определять их в панели управления для более точного контроля.

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

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


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

Ниже приведен простой пример создания новой записи в классе “Todo” с использованием Ruby SDK:

Ruby


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

Вы также можете создавать и извлекать записи с помощью REST-интерфейса:

Bash


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

Back4App предлагает конечную точку GraphQL для продвинутых веб-приложений:

GraphQL


6. Работа с живыми запросами (по желанию)

Включите Живые запросы в панели управления Back4App (Настройки сервера) и подписывайтесь из вашего Ruby-скрипта, если ваша среда поддерживает соединения WebSocket. Вы также можете использовать их для обновлений в реальном времени в веб-приложении , которое поддерживает параллелизм.

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

1. Обзор

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

Document image


2. Установка разрешений на уровне класса (CLP) и ACL

Перейдите в раздел База данных вашего приложения и выберите свой класс, например, “Todo.” Настройте CLP вашего класса в разделе “Безопасность” или “Разрешения на уровне класса.” Чтобы установить ACL на запись:

Ruby


Это гарантирует, что только владелец может читать/писать эту конкретную задачу.

Шаг 4 – Написание функций Cloud Code

1. Зачем нужен Cloud Code

Cloud Code помогает встроить бизнес-логику и валидации прямо на сервер. Это идеально подходит для обеспечения целостности данных и выполнения задач, не доступных клиентам.

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

В вашем проекте main.js (или аналогичном) на Back4App вы можете определить функцию Cloud:

JS


Примечание: Хотя наше основное приложение использует Ruby, Cloud Code в Parse основан на JavaScript. Так вы встраиваете серверную логику на Back4App.

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

  • Back4App CLI:
  • Панель управления Back4App: Скопируйте/вставьте вашу функцию в Cloud Code > Functions и нажмите Deploy.

4. Модули NPM

Вы можете установить модули npm (например, axios) для вашей среды Cloud Code. Например:

Bash


В вашем main.js, подключите его и делайте внешние API вызовы по мере необходимости.

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

1. Настройки панели управления

Включите аутентификацию пользователей в настройках вашего приложения App Settings. Back4App использует Parse.User для управления пользователями.

2. Регистрация / Вход с помощью Ruby

Ruby


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

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

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

1. Настройка хранения файлов

Back4App управляет загрузкой файлов через объект Parse::File. В Ruby:

Ruby


2. Пример

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

3. Соображения по безопасности

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

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

1. Почему это важно

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

2. Конфигурация панели управления Back4App

  • Включите Подтверждение электронной почты.
  • Настройте пользовательские шаблоны для подтверждения и сброса пароля.

3. Пример кода

Из Ruby вы можете запросить сброс пароля:

Bash


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

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

1. Что делают облачные задания

Задачи Cloud выполняют периодические задачи, такие как очистка старых данных или отправка сводных электронных писем.

2. Пример задачи

JS


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

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

1. Определение

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

2. Конфигурация

Перейдите в панель управления вашего приложения Back4App > Дополнительно > Вебхуки, и добавьте новый вебхук с URL вашего внешнего сервиса.

3. Пример

Отправляйте данные в Stripe или Slack каждый раз, когда создается новая «Задача». В качестве альтернативы вы можете определить триггеры в облачном коде и делать HTTP-запросы внутри этих триггеров.

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

1. Где это найти

В вашей панели управления приложением нажмите Больше > Админ-приложение, затем включите его.

2. Функции

  • Графический интерфейс для управления данными без кода.
  • Инструменты для анализа журналов, планирования фоновых задач и многого другого.
  • Контроль доступа на основе ролей, позволяющий предоставлять нетехническим пользователям безопасный способ управления контентом.
Включите админ-приложение
Включите админ-приложение


Заключение

Вы создали безопасный и масштабируемый бэкенд для вашего Ruby-приложения на Back4App, используя язык программирования Ruby для подключения к Parse API. Ваш процесс разработки теперь включает:

  • База данных с расширенными функциями безопасности (ACL, CLP).
  • Обновления данных в реальном времени через Live Queries.
  • Триггеры Cloud Code для пользовательской бизнес-логики.
  • Аутентификация пользователей и обработка файлов.
  • Запланированные задачи с помощью Cloud Jobs и Webhooks для внешних сервисов.
  • Удобная панель администратора для управления данными.

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

Будь вы опытным разработчиком бэкенда или только начинаете с Ruby, Back4App предоставляет объектно-ориентированную и простую в использовании платформу для быстрого развития.

Не стесняйтесь интегрировать дополнительные API или функции и исследовать дальнейшие настройки, чтобы соответствовать шаблонам модели представления контроллера (MVC) или другим архитектурным стилям.

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

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

Наслаждайтесь созданием более надежных и богатых функциями веб-приложений с Ruby и Back4App!