Как создать бэкенд для NativeScript?
В этом учебном пособии вы узнаете как создать бэкенд для NativeScript с помощью Back4app, открытой платформы, которая упрощает разработку бэкенда для мобильных приложений.
Мы пройдем через интеграцию основных функций Back4app — таких как управление базами данных, функции Cloud Code, REST и GraphQL API, аутентификация пользователей и запросы в реальном времени (Live Queries) — чтобы создать безопасный и масштабируемый бэкенд для ваших приложений NativeScript.
Вы также узнаете, как Back4app значительно сокращает время настройки по сравнению с ручной конфигурацией серверов и баз данных.
Мы изучим продвинутые механизмы безопасности, планирование задач с помощью Cloud Jobs и использование вебхуков для подключения к сторонним сервисам.
К концу этого руководства у вас будет гибкий бэкенд, который использует NativeScript Core, который обеспечивает кроссплатформенные мобильные решения NativeScript.
С этой основой вы будете готовы интегрировать свою собственную пользовательскую логику или внешние API по мере необходимости. Это будет важным шагом к разработке готовых к производству приложений NativeScript.
- Аккаунт Back4app и новый проект Back4app Начало работы с Back4app. Если у вас нет аккаунта, вы можете создать его бесплатно. Следуйте руководству выше, чтобы подготовить ваш проект.
- Базовая среда разработки NativeScript Вы можете настроить это с помощью NativeScript CLI или другого предпочтительного рабочего процесса. Руководство по началу работы с NativeScript.
- Установленный Node.js (версия 14 или выше) Вам понадобится Node.js для установки npm пакетов и запуска NativeScript CLI. Установка Node.js
- Знание JavaScript и NativeScript Core Официальная документация NativeScript. Если вы новичок в NativeScript, ознакомьтесь с официальной документацией или учебником для начинающих перед началом.
Убедитесь, что у вас есть все эти предварительные требования перед началом. Наличие вашего проекта Back4app и готовой локальной среды NativeScript поможет вам легче следовать инструкциям.
Первый шаг в создании вашего бэкенда NativeScript на Back4app – это создание нового проекта. Если вы еще этого не сделали, выполните следующие шаги:
- Войдите в свою учетную запись Back4app.
- Нажмите кнопку “Новое приложение” в вашей панели управления Back4app.
- Дайте вашему приложению имя (например, “NativeScript-Backend-Tutorial”).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
После создания проекта вы увидите его в списке на вашей панели управления Back4app. Этот проект будет служить основой для всех конфигураций бэкенда, рассмотренных в этом учебнике.
Back4app использует платформу Parse для обработки ваших данных, функциональности в реальном времени, аутентификации пользователей и многого другого. Чтобы подключить ваше приложение NativeScript к Back4app, установите пакет parse npm и инициализируйте его с помощью учетных данных, которые вы получите из вашей панели управления Back4app.
Получите ваши ключи Parse: В вашей панели управления Back4app перейдите в раздел “Настройки приложения” или “Безопасность и ключи” вашего приложения. Найдите ваш ID приложения, JavaScript ключ, и URL сервера Parse (в формате https://parseapi.back4app.com).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Установите SDK Parse:
Затем, инициализируйте Parse в конфигурационном файле или вашем основном файле входа (например, app.js). Например, вы можете создать файл с именем parseConfig.js в проекте на основе NativeScript:
Когда вам нужно получить доступ к Parse в вашем приложении NativeScript, просто импортируйте этот файл. Завершив этот шаг, вы установили безопасное соединение между вашим фронтендом NativeScript и бэкендом Back4app, упростив операции с данными.
С вашим проектом Back4app готовым и интегрированным SDK Parse, вы можете сохранять и запрашивать данные из вашего приложения NativeScript. Ниже приведен пример использования класса Parse.Object для сохранения и получения списка элементов:
Вы также можете использовать REST API Back4app, если предпочитаете прямые HTTP-запросы:
Или используйте GraphQL:
Эта гибкость делает удобным создание функций бэкенда для ваших приложений NativeScript через Parse SDK, REST или GraphQL api endpoints.
По умолчанию Parse может автоматически создавать схемы на лету, или вы можете определить свои классы и типы данных в панели управления Back4app:
- Перейдите в раздел “База данных” в вашей панели управления Back4app.
- Создайте новый класс (например, “Задача”) и добавьте столбцы, такие как title (Строка) и isCompleted (Булевый).
![Создать новый класс Создать новый класс](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Back4app поддерживает типы данных, такие как Строка, Число, Булевый, Объект, Дата, Файл, Указатель, Массив, Отношение, GeoPoint, и Полигон. Вы можете либо позволить Parse создать эти столбцы при первом сохранении объекта, либо определить их для большего контроля.
![Создать колонку Создать колонку](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/DEh9vyxdBTZcslXxkVQMA_image.png?format=webp)
Использование AI-агента Back4app также может помочь вам автоматически генерировать схемы:
- Откройте AI-агента в вашей панели управления приложением.
- Опишите вашу желаемую модель данных (например, “Пожалуйста, создайте новый класс Task для мобильных приложений с полями isCompleted и dueDate.”).
- Позвольте агенту создать схему автоматически.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Если вам нужны реляционные данные—например, объект Category который указывает на несколько объектов Task—используйте указатели или отношения в Parse:
Этот подход помогает вам получить полные данные для задачи и ее связанной категории в одном запросе.
Для обновлений в реальном времени включите живые запросы в разделе настройки сервера в панели управления Back4app. Разработчики NativeScript могут подписываться на изменения в конкретном классе. Обновите вашу настройку Parse, чтобы включить URL-адрес сервера живых запросов:
А затем подпишитесь на события в реальном времени:
Эта подписка автоматически обновляет ваш интерфейс пользователя всякий раз, когда Task добавляется, изменяется или удаляется — идеально для живых, совместных приложений NativeScript.
Back4app включает в себя Списки контроля доступа (ACL) и Разрешения на уровне класса (CLP) для защиты ваших данных. Эти модели безопасности позволяют контролировать доступ на чтение/запись как на уровне класса, так и на уровне объекта.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
ACL устанавливает разрешения для каждого объекта. Например, чтобы предоставить только владельцу доступ на чтение и запись:
Это гарантирует, что только указанный пользователь может изменять или читать объект.
![Редактировать ACL Редактировать ACL](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/3YNfxEcv7CKdLC6ca8my6_image.png?format=webp)
CLP устанавливают разрешения по умолчанию для всего класса:
- Откройте базу данных в Back4app и выберите соответствующий класс.
- Перейдите на вкладку Разрешения на уровне класса.
- Настройте разрешения для публичных, аутентифицированных пользователей или конкретных ролей по мере необходимости.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/MF1Uf7HSJF03Xg6djap9m_image.png?format=webp)
Комбинирование ACL и CLP предлагает надежную модель безопасности для приложений NativeScript. Для получения дополнительной информации смотрите Руководство по безопасности приложений.
Облачный код позволяет вам запускать пользовательский JavaScript код на стороне сервера, поэтому вам не нужно поддерживать инфраструктуру самостоятельно. Это идеально подходит для добавления сложной логики или интеграций только на сервере в вашем бэкенде NativeScript.
Вы обычно размещаете свой Cloud Code (функции JavaScript, триггеры и любые необходимые модули NPM) в файле main.js. Затем вы развертываете его на Back4app, и он работает в среде Parse Server без дополнительной конфигурации сервера.
Пример структуры main.js:
Вы можете устанавливать и использовать пакеты NPM, такие как axios, для HTTP-запросов. Этот подход позволяет осуществлять широкий спектр интеграций, от платежных шлюзов до внешних API, все под защитой вашего приложения Back4app.
- Бизнес-логика: Автоматические расчеты, преобразования данных или обновления статуса.
- Валидация данных: Убедитесь, что обязательные поля присутствуют перед сохранением.
- Триггеры: Запуск кода при создании, обновлении или удалении данных.
- Интеграции: Подключение к внешним сервисам для платежей, аналитики или обмена сообщениями.
- Обеспечение безопасности: Проверка входящих данных или ролей пользователей перед продолжением.
Вот простая функция, которая вычисляет длину текста:
Развертывание через Back4app CLI:
- Установите CLI:
Для Windows загрузите файл b4a.exe с страницы релизов.
- Настройте ваш ключ аккаунта:
- Разверните ваш облачный код:
Развертывание через Панель управления:
- Перейдите в Cloud Code > Functions на вашей панели управления.
- Вставьте код вашей функции в main.js.
- Нажмите Deploy.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/pGxBQFBhk4prMc8Ub-uho_image.png?format=webp)
Из вашего приложения NativeScript с использованием Parse SDK:
Вы также можете вызвать его с помощью REST или GraphQL:
Это дает вам гибкий способ интеграции серверной логики в ваши мобильные приложения на базе NativeScript.
Back4app использует класс Parse User для обработки аутентификации, который включает хеширование паролей, токены сессий и многое другое. Это устраняет большую часть сложности, связанной с управлением учетными записями пользователей.
В вашем приложении NativeScript вы можете создать нового пользователя:
Пример REST может выглядеть так:
После входа в систему Parse назначает пользователю токен сессии. Чтобы проверить текущего вошедшего пользователя:
Выход из системы прост:
Parse также интегрируется с провайдерами OAuth, такими как Google или Facebook. Настройка варьируется в зависимости от провайдера, поэтому смотрите Вход с Apple и другими для получения подробной информации. Например, с Facebook:
Включите эти функции в вашей панели управления Back4app:
- Перейдите в настройки электронной почты в вашем приложении Back4app.
- Включите подтверждение электронной почты и сброс пароля.
- Настройте свои шаблоны электронной почты и адрес "От".
Back4app поддерживает управление файлами через класс Parse.File. В NativeScript вы можете загружать изображения или документы аналогично:
Вы можете получить URL файла из сохраненного объекта:
Parse Server позволяет вам настраивать безопасность загрузки файлов:
Это гарантирует, что вы можете ограничить или разрешить загрузку файлов в зависимости от ваших предпочтений безопасности.
Облачные задачи помогают вам автоматизировать рутинные задачи, такие как удаление устаревших записей или отправка уведомлений. Например:
- Разверните эту задачу через CLI или панель управления.
- В панели управления Back4app > Настройки сервера > Фоновая работа, запланируйте ее выполнение ежедневно или с интервалом по вашему выбору.
![Запланирование облачной задачи Запланирование облачной задачи](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Вебхуки позволяют вам отправлять HTTP-запросы на внешние сервисы, когда в вашем приложении происходят определенные события — такие как новые записи или регистрации пользователей. Это можно использовать для интеграции со Slack, платежными шлюзами или аналитическими платформами.
- Перейдите к конфигурации вебхуков в вашей панели управления Back4app и выберите Добавить вебхук.
- Добавьте ваш URL конечной точки (например, https://your-service.com/webhook).
- Настройте триггеры для конкретных классов или событий.
![Добавление вебхука Добавление вебхука](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Вы также можете определить вебхуки в облачном коде или вызывать внешние API напрямую в триггерах, таких как beforeSave или afterSave.
![BeforeSave WebHook BeforeSave WebHook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/fXvy4eRzabyWmN80OMyqW_image.png?format=webp)
Приложение Back4app Admin App является ориентированным на модели, удобным интерфейсом для управления данными. Оно помогает командам или нетехническим пользователям выполнять операции CRUD, создавать пользовательские панели и управлять задачами на уровне предприятия без написания кода.
- В вашей App Dashboard, нажмите More > Admin App.
- Включить приложение администратора.
![Включить приложение администратора Включить приложение администратора](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
Создайте первого администратора (имя пользователя/пароль). Эта настройка добавляет роль B4aAdminUser и связанные классы (B4aSetting, B4aMenuItem, и т.д.) в вашу схему.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/u-pU1yBJJxa9KEM2psjXS_image.png?format=webp)
Выберите поддомен, затем войдите с вашими новыми учетными данными администратора:
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/_2b71RLDTlQW468017saY_image.png?format=webp)
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
Этот портал позволяет быстро манипулировать данными, не покидая графический интерфейс — отличное решение для сотрудничества с членами команды, которые могут не быть знакомы с кодированием.
Следуя этому руководству, вы узнали как создать бэкенд для NativeScript с использованием Back4app и:
- Создали безопасный бэкенд для ваших приложений NativeScript.
- Настроили базу данных с классами, схемами и отношениями.
- Реализовали запросы в реальном времени для обновлений в реальном времени.
- Обеспечили безопасность ваших данных с помощью ACL и CLP.
- Расширили функциональность с помощью Cloud Code.
- Настроили аутентификацию для регистрации пользователей, входа и токенов сессий.
- Управляли загрузкой файлов и их получением через Parse File.
- Запланировали Cloud Jobs для автоматизированных периодических задач.
- Создали Webhooks для интеграции с третьими сторонами.
- Использовали панель администратора Back4app для управления данными без кода.
Эти шаги формируют надежную основу для создания мобильных приложений с открытым исходным кодом и кроссплатформенных приложений с NativeScript Core. Продолжайте исследовать расширенные функции, добавляйте больше конечных точек API или интегрируйте свою собственную логику, чтобы адаптировать бэкенд под точные нужды вашего приложения.
- Масштабируйте свои приложения NativeScript путем оптимизации производительности, кэширования и правил безопасности.
- Изучите расширенное управление пользователями с такими функциями, как разрешения на основе ролей.
- Посмотрите официальную документацию Back4app для подробных руководств по безопасности, журналам и производительности.
- Экспериментируйте с интеграциями в реальном мире такими как платежи или инструменты аналитики.
Счастливого кодирования и наслаждайтесь упрощенным рабочим процессом разработки, который предоставляет Back4app!
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)