С чего мы начали — RESTful API

Когда разработчики думают об API, их мысли сразу же обращаются к REST. Структура REST (репрезентативная передача состояния) была введена в 2000 году как средство обеспечения стандартов связи между системами, требующее соответствия набору определенных ограничений. С тех пор он стал доминирующим методом соединения компонентов и приложений в микросервисной архитектуре. Рост популярности фреймворка можно объяснить его связью без сохранения состояния между клиентом и сервером, умеренной кривой обучения и единым интерфейсом, который стандартизирует передачу информации. Хотя API-интерфейсы RESTful по-прежнему широко используются, их недостатки, естественно, стали более заметными с годами по мере роста требований современных приложений и внедрения новых технологий.

Одним из основных ограничений извлечения данных с использованием среды REST является отсутствие гибкости. Из-за ограничений, реализованных REST, из одной конечной точки может быть возвращена только фиксированная структура данных. Из-за этого может произойти избыточная выборка, что приведет к тому, что пользователь получит больше данных, чем необходимо, и, следовательно, к большему, чем необходимо, объему пропускной способности. И наоборот, недостаточная выборка возникает, когда одна и та же фиксированная структура не может предоставить все необходимые данные в случаях, когда для нескольких запросов требуется несколько конечных точек. Неполная выборка приводит к тому, что к серверу отправляется несколько последовательных HTTP-запросов, также известных как запросы водопада.

….

Куда мы идем — прокладываем курс с помощью GraphQL

Признавая недостатки фреймворка REST, Meta (ранее известная как Facebook) создала новый язык запросов и манипуляций — GraphQL. Публично выпущенный в 2015 году, GraphQL неуклонно набирает обороты и теперь широко известен своей эффективностью и гибкостью. Этот язык запросов использует типы и преобразователи для выполнения запросов, а не несколько конечных точек, что позволяет точно контролировать полученные данные. Некоторые из преимуществ GraphQL по сравнению с REST включают в себя:

  • Использование строго типизированной системы для определения возможностей API в так называемой схеме. Схемы описывают, как пользователи могут взаимодействовать и получать доступ к данным с сервера.
  • Эффективное использование пропускной способности благодаря гибкости выборки данных, что также исключает появление каскадных запросов.
  • Значительное улучшение скорости, позволяющее приложениям работать быстрее даже в более плохих условиях (например, при нестабильном подключении к мобильным сетям).

источник: https://dev.to/mayank0508/rest-v-s-graphql-5bln

….

Преодолевая барьер: Enter, MetricQL

Хотя во многих случаях GraphQL оказывается более оптимальным подходом к работе с API, переход от того, что проверено, верно и привычно (REST), может оказаться непростой задачей. За семь лет после выпуска GraphQL появился ряд сервисов, призванных помочь в интеграции языка запросов. Наша команда проанализировала указанные сервисы и поняла, что на рынке есть место для легкого инструмента, призванного минимизировать нагрузку, связанную с переключением. Вместе мы создали MetricQL, инструмент помощи при миграции, призванный снять утомительные задачи с плеч разработчиков, позволяя им сосредоточиться на максимальном использовании GraphQL.

Для начала пользователь может просто скопировать и вставить URL-адрес реляционной базы данных на наш веб-сайт (или загруженное приложение), а MetricQL сделает за него всю рутинную работу. Щелчком отправить вы можете просмотреть всю схему, связанную с вашей реляционной базой данных. Хотя наш веб-сайт предлагает все необходимое для простого перехода на GraphQL, загрузка нашего приложения открывает множество дополнительных функций.

Функции MetricQL

  • После просмотра ваших типов и преобразователей легко сохраните их для будущего использования прямо с нашего веб-сайта.

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

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

  • Просматривайте и взаимодействуйте со своей схемой с помощью сгенерированного графического визуализатора, чтобы было ясно, что где находится

  • Отслеживайте введенные запросы и их измеренное время на нашей вкладке истории.

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

Команда MetricQL

Альфонсо Замаррипа | LinkedIn | GitHub

Дайана Ли | LinkedIn | GitHub

Эрик Роджерс | LinkedIn | GitHub

Рэймонд Хуанг | LinkedIn | GitHub

Рехема Арморер | LinkedIn | GitHub