Перейти к содержанию
IPS Invision Community 🇷🇺
  • GraphQL для сообщества Invision Community

    GraphQL для сообщества Invision Community

    Что такое GraphQL?

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

    GraphQL был создан Facebook в 2012 году и в настоящее время является проектом с открытым исходным кодом, управляемым GraphQL Foundation, который работает независимо от Facebook.

    GraphQL00001.png

    Чем GraphQL лучше существующих API REST?

    GraphQL имеет несколько преимуществ по сравнению с существующим REST API, представленным в Invision Community, в том числе:

    Гибкость: GraphQL позволяет клиентам запрашивать только те данные, которые им нужны, уменьшая количество избыточной или недостаточной выборки данных. Получение данных из REST API часто означает получение множества полей и значений, которые вам не нужны для завершения создаваемой вами операции.

    Универсальность: GraphQL может запрашивать несколько баз данных или API, что делает его более универсальным решением, чем REST, для которого часто требуется несколько конечных точек для нескольких типов данных.

    Строгая типизация: GraphQL имеет надежную систему типов, что упрощает понимание возможностей API и отслеживание ошибок на ранних этапах процесса разработки.

    Лучшая производительность. Позволяя клиенту запрашивать только те данные, которые ему нужны, GraphQL может повысить производительность приложения по сравнению с REST, который часто возвращает больше данных, чем необходимо.

    Простота развития: GraphQL, основанный на схеме, позволяет вносить более простые и менее серьезные изменения в API по сравнению с REST.

    Давайте посмотрим на пример

    Вы создаете панель управления, использующую данные Invision Community для вашего приложения Node.js, которая показывает последние темы, последних зарегистрированных участников и события календаря. С REST API вам нужно сделать три запроса, чтобы получить все необходимые данные. С GraphQL вы можете получить точные данные, которые вам нужны, с помощью одного запроса.

    GraphQL00002.png

    Современная веб-разработка

    GraphQL теперь является стандартом для современной веб-разработки, включая создание мобильных приложений. Современное веб-приложение имеет «внешнюю часть» и «внутреннюю часть».

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

    Бэкэнд относится к серверной части веб-приложения. Серверная часть обычно написана на серверных языках, таких как PHP, и отвечает за выполнение бизнес-логики, управление данными и обслуживание ответов API для внешнего интерфейса.

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

    Мы в Invision Community знаем, что некоторые клиенты используют REST для извлечения данных из Invision Community для использования в специальных веб-приложениях и мобильных приложениях. Поэтому мы надеемся, что вы еще больше взволнованы возможностями GraphQL.

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

    GraphQL00003.jpg

    Расширение функциональности сообщества Invision

    Конечно, у вас также есть полный доступ к GraphQL API в рамках Invision Community, поэтому вы можете использовать GraphQL внутри своих контроллеров для выполнения своих запросов, что имеет то преимущество, что вам не нужно беспокоиться о будущих изменениях в API. 

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

    Это более технологически насыщенный блог, чем обычно. Главный вывод заключается в том, что мы продолжаем вкладывать средства в то, чтобы ваши данные Invision Community могли использоваться вашими собственными приложениями. GraphQL делает эту работу намного проще и эффективнее.

    Было ли это полезно?

    Sipsb
    • Нравится 1

    Обратная связь

    Рекомендуемые комментарии

    Комментариев нет



    Создайте учетную запись или войдите, чтобы комментировать

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти
×
×
  • Создать...
Вверх
Вверх