Как создать бэкенд для Dart?
В этом учебном пособии вы узнаете как создать бэкенд для Dart с использованием Back4app.
Мы сосредоточимся на интеграции основных функций Back4app — таких как управление базами данных, функции Cloud Code, REST и GraphQL API, аутентификация пользователей и запросы в реальном времени (Live Queries) — в проект на основе Dart.
Поскольку Dart является универсальным языком программирования, вы можете использовать его для различных проектов бэкенда, от простых веб-серверов до полнофункциональных приложений.
Используя интуитивно понятную среду Back4app, вы быстро настроите надежный и безопасный фреймворк бэкенда без сложного обслуживания серверов.
Вы увидите, как такие функции, как ACL, CLP, планирование фоновых задач и создание пользовательской логики с помощью Cloud Code упрощают ваши серверные операции.
После завершения этого учебного пособия вы будете готовы масштабировать свой бэкенд на Dart или добавлять более сложные интеграции.
Чтобы завершить этот учебник, вам потребуется:
- Учетная запись Back4app и новый проект Back4app Начало работы с Back4app. Если у вас нет учетной записи, вы можете создать ее бесплатно.
- Базовая среда разработки Dart Вы можете настроить это, установив SDK Dart и любой редактор на ваш выбор. Для получения дополнительной информации смотрите Получите SDK Dart.
- Dart 2.0 или выше Убедитесь, что ваша среда обновлена, чтобы вы могли воспользоваться последними функциями Dart и библиотеками серверной стороны, такими как shelf.
- Знание Dart и концепций бэкенда Если вы новичок в Dart, ознакомьтесь с Официальной документацией Dart. для получения базовых знаний.
Убедитесь, что у вас есть все эти предварительные условия перед началом. Подготовка вашего проекта Back4app и правильная настройка вашей локальной среды Dart помогут вам легче следовать инструкциям.
- Почему стоит создать новый проект Back4app? Новый проект Back4app формирует основу вашего бэкенда, управляя вашей базой данных, безопасностью, API, хранением файлов и многим другим. Он предоставляет вам организованную структуру для создания вашей серверной логики на основе Dart.
- Создание проекта Back4app
- Войдите в свою учетную запись Back4app.
- Нажмите “Новое приложение” в панели управления Back4app.
- Дайте вашему приложению описательное имя (например, “Dart-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
После создания ваш проект появится на панели управления Back4app. Этот проект — это место, где вы настроите все параметры бэкенда для вашего Dart приложения.
- Установите Parse SDK и подключите Хотя у Dart нет официального Parse SDK, существуют библиотеки, поддерживаемые сообществом, такие как parse_server_sdk которые позволяют интеграцию с Back4app. Вы можете добавить его, включив следующую зависимость в ваш проект Dart’s pubspec.yaml:
Затем выполните:
Инициализируйте Parse в вашем коде Dart (например, в файле main.dart):
Получите ваш Application ID, JavaScript Key, и Parse Server URL из панели управления Back4app (в разделе “Настройки приложения” > “Безопасность и ключи”). С этим шагом ваше приложение Dart может безопасно взаимодействовать с вашим бэкендом Back4app.
- Создание модели данных В панели управления Back4app перейдите в раздел “База данных” и создайте новый класс (например, “Todo”). Добавьте столбцы для ваших полей, такие как title (String) и isCompleted (Boolean).
- Создание модели данных с помощью AI-агента
- Откройте AI-агента в вашей панели управления приложением.
- Опишите вашу желаемую схему (например, “Пожалуйста, создайте класс ToDo с полями title и isCompleted.”).
- Позвольте AI-агенту завершить схему за вас.
![AI-агент для создания схемы AI-агент для создания схемы](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
- Чтение и запись данных с использованием SDK С помощью библиотеки parse_server_sdk вы можете сохранять и запрашивать данные из вашего кода Dart. Например:
- Чтение и запись данных с использованием REST API
- Чтение и запись данных с использованием GraphQL API
- Работа с живыми запросами (по желанию) Чтобы включить обновления в реальном времени, включите живые запросы в вашей панели управления Back4app (Настройки сервера). Затем вы можете подписаться с помощью Dart, хотя вам может понадобиться специализированная библиотека. Библиотека parse_server_sdk может иметь частичную поддержку живых запросов; проверьте ее документацию для получения подробной информации.
- Обзор
- ACL (Списки управления доступом): Ограничение чтения/записи на уровне объекта.
- CLP (Разрешения на уровне класса): Ограничение чтения/записи на уровне класса.
- Пошагово
- Разрешения на уровне класса: В панели управления Back4app откройте раздел База данных, выберите класс и настройте CLP в разделе «Безопасность».
- ACL в коде (с использованием parse_server_sdk):
- Почему облачный код Облачный код необходим для создания пользовательской бизнес-логики на стороне сервера. Он избавляет вас от необходимости управлять собственной инфраструктурой и обеспечивает безопасность и масштабируемость вашего кода.
- Пример функции и триггеры В вашем main.js (для облачного кода):
- Развертывание
- Используя Back4app CLI:
- Используя Панель управления:
- Перейдите в Cloud Code > Functions.
- Вставьте ваш код в main.js.
- Нажмите Deploy.
- NPM и Cloud Code Если вам нужны дополнительные модули NPM для вашего Cloud Code, укажите их в package.json. Это позволяет интегрировать внешние API или выполнять сложные операции непосредственно из вашего серверного кода.
- Включить аутентификацию пользователей В панели управления Back4app вы можете включить проверку электронной почты или настроить социальные входы. По умолчанию класс Parse User безопасно хранит пароли.
- Примеры кода (используя parse_server_sdk в Dart):
- Социальный вход
- Настройте провайдеров, таких как Google, Apple или Facebook, в панели управления Back4app.
- Реализуйте соответствующий плагин parse_server_sdk или пользовательский поток OAuth, если он доступен.
- Настройка хранения файлов Back4app автоматически размещает файлы, которые вы загружаете через API Parse. Вы можете хранить изображения, документы или любые типы файлов.
- Пример (Dart)
- Соображения безопасности Вы можете контролировать, кто может загружать или получать файлы, изменяя свои CLP или роли пользователей в панели управления Back4app.
- Обзор Подтверждение электронной почты подтверждает, что пользователи владеют электронными адресами, с которыми они регистрируются, в то время как ссылки для сброса пароля предоставляют безопасный способ управления утерянными учетными данными.
- Конфигурация панели управления Back4App
- Перейдите в Настройки приложения > Электронная почта.
- Включите Подтверждение электронной почты пользователей и Сброс пароля.
- Настройте свои шаблоны электронной почты по мере необходимости.
- Реализация Когда пользователи регистрируются с использованием действительного адреса электронной почты, они получают ссылку для подтверждения электронной почты. Для сброса пароля вызовите метод requestPasswordReset класса ParseUser (если он доступен в parse_server_sdk) или REST-эндпоинт.
- Что делают облачные задания Облачные задания позволяют вам планировать задачи через определенные интервалы времени, такие как очистка старых записей или отправка периодических отчетов. Они работают в фоновом режиме, независимо от действий, инициированных пользователем.
- Пример В main.js, добавьте:
- Планирование
- Перейдите в Настройки приложения > Настройки сервера > Фоновая работа.
- Запланируйте cleanupOldTodos для ежедневного выполнения или с интервалом по вашему выбору.
- Определение Вебхуки позволяют вашему приложению Back4app отправлять HTTP-запросы на внешний сервис при определенных событиях. Это полезно для интеграции с сторонними сервисами, такими как Slack или Stripe.
- Конфигурация
- Перейдите в Дополнительно > Вебхуки в вашей панели управления Back4app.
- Нажмите Добавить вебхук и укажите конечную точку (например, https://your-external-service.com/webhook-endpoint).
- Укажите событие-триггер (например, после создания задачи Todo).
![Добавление вебхука Добавление вебхука](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
- Пример Если у вас есть URL вебхука Slack, вы можете настроить его для получения уведомления каждый раз, когда добавляется новая задача. Это бесшовное соединение между вашим бэкендом Dart и внешними инструментами увеличивает автоматизацию.
- Где это найти В вашей консоли Back4app откройте Дополнительно > Админ-приложение и включите панель.
- Функции
- Легко управлять записями базы данных.
- Просматривать журналы, фоновые задачи и аналитику.
- Контролировать доступ пользователей и роли.
![Включить приложение администратора Включить приложение администратора](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Следуя этим шагам, вы:
- Создали безопасный бэкенд для Dart на Back4app.
- Управляли вашей базой данных через классы и поля Parse.
- Создали пользовательский Cloud Code для обработки логики на стороне сервера.
- Обеспечили безопасность данных с помощью ACL, CLP и аутентификации пользователей.
- Запланировали фоновые задачи с помощью Cloud Jobs.
- Интегрировали внешние сервисы с помощью Webhooks.
- Изучили панель администратора для удобного управления данными.
Эта прочная основа подготавливает вас к эффективному развертыванию проектов на Dart, будь то создание полнофункциональных веб-серверов, микросервисов или специализированных приложений. Отсюда вы можете масштабировать свою серверную архитектуру, добавлять более сложную логику или интегрировать такие продвинутые функции, как push-уведомления или продвинутая аналитика.
- Изучите готовность к производству: Используйте стратегии кэширования, обрабатывайте параллелизм и оптимизируйте производительность для высокой нагрузки.
- Интегрируйте продвинутые функции: Такие как контроль доступа на основе ролей, больше социальных входов или инструменты для совместной работы в реальном времени.
- Посмотрите официальную документацию Back4app для более глубокого понимания журналов, безопасности и настройки производительности.
- Экспериментируйте с дополнительными пакетами, такими как пакет shelf, чтобы создавать пользовательские веб-серверы наряду с вашим слоем данных на основе Parse, используя возможности Dart как гибкого языка программирования.
С этими знаниями о том, как построить серверную часть для Dart, у вас есть мощный способ обработки данных, обеспечения безопасности ваших серверных процессов и автоматизации рабочих процессов вашего приложения — все это без необходимости значительных затрат на инфраструктуру.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)