Одно слово: Хасура. Это невероятный инструмент для начальной загрузки серверной части и предоставления данных для вашего приложения. Он построен на основе GraphQL и PostgreSQL — инструментов, проверенных разработчиками по всему миру.

Что такое Хасура?

Hasura — это сервис, который управляет тем, как обслуживать ваши данные. Благодаря использованию языка GraphQL вы можете легко составлять запросы для более эффективного извлечения данных. Вам не нужно беспокоиться о создании бэкенда, конечных точек, написании распознавателей, настройке базы данных — всем управляет Hasura!

Начиная

Вы можете проверить здесь, как начать использовать его в официальной документации. Для начала требуется менее 5 минут. Hasura — это программное обеспечение для собственного хостинга, но также предлагает облачный хостинг. Облачный вариант бесплатен и идеально подходит для начала работы.

Функции

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

Обслуживание данных

Это самый мощный функционал. Просто подавайте данные! Все, что вы создаете в редакторе базы данных, отражается в редакторе GraphQL.

Когда вы добавляете данные и соединяете таблицы с помощью отношений, вы получаете что-то вроде этого.

Обновления в реальном времени

В Hasura вы можете использовать подписки GraphQL из коробки. Подписки отправляют данные в режиме реального времени пользователям с помощью веб-сокетов. Когда вы что-то меняете в базе данных, вам не нужно снова извлекать данные. Ваш сервер (Hasura) отправляет новые данные и уведомляет вас о том, что что-то изменилось.

Роли

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

Триггеры событий

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

… и многое другое

Кроме того, я написал, прежде чем мы сможем использовать удаленные схемы для подключения большего количества схем GraphQL к единым конечным точкам. Здорово, когда у вас микросервисная архитектура. Вы можете подключить его к единой конечной точке! Также есть:

  • Одноразовые запланированные события помогают нам создать событие, которое будет запущено один раз в указанную временную метку.
  • Кроме того, у Hasura есть задания Cron, которые позволяют периодически запрашивать веб-перехватчик с настраиваемой полезной нагрузкой.
  • С помощью действий мыможем расширить логику Hasura, добавив проверки данных.
  • Мониторинг помогает нам узнать об использовании вашей базы данных, активном подключении или ограничить лимит API.

Выводы

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