Quickstarters

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

43min

Введение

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

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

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

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

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

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

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

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

  • Учетная запись Back4App и новый проект Back4App Начало работы с Back4App. Если у вас нет учетной записи, вы можете создать ее бесплатно. Следуйте приведенному выше руководству, чтобы подготовить ваш проект.
  • Среда разработки Swift Вы можете использовать Xcode в качестве вашей IDE для создания приложений iOS или macOS с использованием Swift. Убедитесь, что у вас установлена последняя стабильная версия Xcode.
  • Знание языка программирования Swift Если вы новичок в Swift, ознакомьтесь с официальной документацией по Swift или учебником для начинающих перед началом.
  • Parse Swift SDK Если вы используете CocoaPods, добавьте pod 'ParseSwiftOG' в ваш Podfile. Или, если вы используете Swift Package Manager, добавьте .package(url: "https://github.com/netreconlab/Parse-Swift.git", from: "5.0.0") в ваши зависимости. Читайте больше в документации Parse Swift.

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

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

Первый шаг в создании вашего бэкенда на Swift с помощью Back4App – это создание нового проекта. Этот проект является основой для всех конфигураций бэкенда, обсуждаемых в этом руководстве. Swift может бесшовно подключаться к вашему новому бэкенду, используя Parse Swift SDK. Давайте посмотрим, как.

Создать новый проект

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


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

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

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

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

Document image


Установите Parse Swift SDK:

  • Swift Package Manager (Рекомендуется):
Swift

  • CocoaPods:
Ruby


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

Вы можете сделать это в главной точке входа вашего проекта Swift (например, AppDelegate.swift или в структуре SwiftUI @main . Например:

Swift


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

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

На этом шаге вы настроите свою базу данных на Back4App и увидите, как управлять данными из вашего кода Swift. Back4App использует модель данных Parse, позволяя вам хранить объекты в структурах, похожих на классы. Swift может легко взаимодействовать с этими классами через SDK Parse Swift.

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

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


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

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

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

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


Чтение и запись данных: Parse Swift SDK

Используя SDK Parse Swift, вы можете создать структуру, соответствующую ParseObject для представления ваших данных. Например, если у вас есть класс Todo :

Swift


Создайте объект Todo и сохраните:

Swift


Запрос всех элементов Todo:

Swift


Чтение и запись данных: REST API

Если вы предпочитаете стандартные HTTP-запросы, вы можете использовать REST API. Например, чтобы создать новый Todo:

Bash


Чтение и запись данных: GraphQL API

GraphQL также поддерживается. Вот пример мутации для создания Todo:

GraphQL


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

Если вашему приложению на Swift нужны обновления в реальном времени, Back4App поддерживает живые запросы. Для iOS:

  1. Включите живые запросы в настройках вашего Сервера.
  2. Подключитесь указав Parse.liveQueryServerURL в вашем приложении:
Swift

  1. Подпишитесь на обновления в реальном времени:
Swift


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

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

Что такое ACL и CLP?

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

Document image


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

В панели управления Back4App:

  1. Перейдите в Базу данных и выберите класс (например, “Todo”).
  2. Откройте Разрешения на уровне класса.
  3. Настройте ограничения на чтение, запись или публичный доступ.

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

При создании или обновлении ParseObject в Swift вы можете установить ACL. Например:

Swift


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

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

Зачем облачный код?

Облачный код позволяет вам выполнять серверную логику на Swift (или JavaScript, если вы используете оригинальный стиль облачного кода Parse) без раскрытия секретов клиенту. Это идеально подходит для валидаций, триггеров, запланированных задач и многого другого.

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

Вот пример на основе JavaScript, но вы также можете работать на TypeScript или вызывать из Swift. В вашей папке Cloud Code создайте main.js:

JS


Вы можете установить модули NPM, включив их в ваш package.json файл, а затем вызывая их в main.js. После развертывания вы можете вызывать эти функции из вашего кода Swift, используя callFunction.

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

Разверните ваш Cloud Code через:

Bash


Вы также можете развернуть через панель управления Back4App, перейдя в Cloud Code > Functions. Вставьте ваш код в онлайн-редактор и нажмите Deploy.

Вызов из Swift

Swift


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

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

В панели Dashboard, вы увидите класс по умолчанию _User для учетных записей пользователей. Включите любые дополнительные провайдеры аутентификации (Apple, Facebook, Google и т.д.) на странице Auth Settings вашего приложения, если это необходимо.

Регистрация и вход в систему (Swift)

Swift


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

Back4App поддерживает вход через OAuth с Google, Apple и Facebook. Настройте этих провайдеров на странице Auth настроек и используйте соответствующий код интеграции Parse Swift в вашем приложении Swift (например, ParseFacebookUtils или ParseAppleUtils) для обработки потоков аутентификации. Для получения подробной информации смотрите Документация по социальному входу.

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

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

Вы можете хранить изображения, видео или любые файлы в Back4App. В Swift у вас есть ParseFile:

Swift


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

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

Чтобы ограничить доступ к файлам, вы можете использовать конфигурацию файлов Parse Server. Например, вы можете разрешить загружать файлы только аутентифицированным пользователям или указать права на чтение/запись в вашем коде Swift.

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

Почему нужны письма для подтверждения и сброса пароля?

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

Настройка в Back4App

Перейдите в Настройки электронной почты и включите Подтверждение электронной почты. Отредактируйте свои шаблоны электронной почты для процессов подтверждения и сброса.

Запуск сброса пароля из Swift

Swift


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

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

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

JS


Затем, в Настройки сервера Back4App > Фоновая работа, вы можете запланировать его выполнение ежедневно или с любым интервалом.

Запланировать облачную задачу
Запланировать облачную задачу


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

Что такое вебхуки?

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

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

  1. В вашей панели управления Back4App перейдите к Дополнительно > Вебхуки.
  2. Добавьте конечную точку вебхука (например, https://example.com/webhook).
  3. Выберите триггеры (например, создание объекта в “Todo”).
Добавление вебхука
Добавление вебхука


Для пользовательской логики вы также можете отправлять запросы на внешние URL в триггерах облачного кода:

Перед сохранением WebHook
Перед сохранением WebHook


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

Что такое панель администратора?

Приложение Back4App Admin App – это интерфейс с возможностью щелчка мыши для нетехнического или вспомогательного персонала. Он предоставляет простой графический интерфейс для выполнения операций CRUD с вашими данными — отлично подходит для управления данными вне вашей среды разработки.

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

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


После активации любой человек с соответствующими учетными данными может просматривать и редактировать ваши данные через удобный веб-интерфейс — код не требуется.

Заключение

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

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

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

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

  • Создайте готовое к производству приложение на Swift, доработав ваш UI/UX.
  • Интегрируйте расширенные функции такие как специализированная аутентификация (на основе ролей, SSO) или дополнительная логика Cloud Code для специфических правил.
  • Посмотрите официальную документацию Back4App для более глубокого изучения логов, аналитики или расширенной безопасности.
  • Изучите другие учебники по чатам в реальном времени, IoT панелям управления или приложениям на основе местоположения. Объедините их с внешними API для решения реальных задач.

Вот как создать бэкенд для Swift с использованием Back4App! Удачного кодирования!