Одно слово: Хасура. Это невероятный инструмент для начальной загрузки серверной части и предоставления данных для вашего приложения. Он построен на основе GraphQL и PostgreSQL — инструментов, проверенных разработчиками по всему миру.
Что такое Хасура?
Hasura — это сервис, который управляет тем, как обслуживать ваши данные. Благодаря использованию языка GraphQL вы можете легко составлять запросы для более эффективного извлечения данных. Вам не нужно беспокоиться о создании бэкенда, конечных точек, написании распознавателей, настройке базы данных — всем управляет Hasura!
Начиная
Вы можете проверить здесь, как начать использовать его в официальной документации. Для начала требуется менее 5 минут. Hasura — это программное обеспечение для собственного хостинга, но также предлагает облачный хостинг. Облачный вариант бесплатен и идеально подходит для начала работы.
Функции
У Hasura так много функций, что это как швейцарский карманный нож, в котором можно найти все необходимое для создания серверной части приложения. От обслуживания данных с отношениями и подписками до веб-перехватчиков и заданий cron.
Обслуживание данных
Это самый мощный функционал. Просто подавайте данные! Все, что вы создаете в редакторе базы данных, отражается в редакторе GraphQL.
Когда вы добавляете данные и соединяете таблицы с помощью отношений, вы получаете что-то вроде этого.
Обновления в реальном времени
В Hasura вы можете использовать подписки GraphQL из коробки. Подписки отправляют данные в режиме реального времени пользователям с помощью веб-сокетов. Когда вы что-то меняете в базе данных, вам не нужно снова извлекать данные. Ваш сервер (Hasura) отправляет новые данные и уведомляет вас о том, что что-то изменилось.
Роли
В Hasura мы можем определить роль для каждого действия на столе. Недавно добавленные унаследованные роли позволяют определять глобальные роли и назначать им разрешения.
Триггеры событий
Мы можем реагировать на изменения, внесенные в вашу базу данных. Мы можем настроить, на какие события Hasura должна реагировать и отправлять полезную нагрузку на указанный веб-хук.
В дополнительных настройках мы можем выбрать, обновление какого столбца мы хотим отправлять запросы на веб-перехватчик, а какое мы хотим пропустить. Отлично подходит для отправки подтверждения по электронной почте, когда ваш адрес электронной почты меняется. Все можно настроить в Хасуре!
… и многое другое
Кроме того, я написал, прежде чем мы сможем использовать удаленные схемы для подключения большего количества схем GraphQL к единым конечным точкам. Здорово, когда у вас микросервисная архитектура. Вы можете подключить его к единой конечной точке! Также есть:
- Одноразовые запланированные события помогают нам создать событие, которое будет запущено один раз в указанную временную метку.
- Кроме того, у Hasura есть задания Cron, которые позволяют периодически запрашивать веб-перехватчик с настраиваемой полезной нагрузкой.
- С помощью действий мыможем расширить логику Hasura, добавив проверки данных.
- Мониторинг помогает нам узнать об использовании вашей базы данных, активном подключении или ограничить лимит API.
Выводы
Я имею в виду, что! Вам не нужен бэкэнд-разработчик, по крайней мере, для обслуживания данных. Hasura делает приятной работу с данными, которые мы определили в редакторе базы данных. Помогает нам создавать отношения, разрешения и добавлять некоторые другие полезные функции. Более подробную информацию вы найдете на их сайте.