Рубрики
Без рубрики

Почему graphql – будущее API

Леонардо Мальдонадо, почему Graphql – это будущее апассаса Начало Интернета, Разработка API была сложной задачей для разработчиков. То, как мы разрабатываем наши API, должны развиваться со временем, чтобы мы всегда могли строить хорошие, интуитивные и хорошо разработанные API. В последние несколько лет,

Автор оригинала: FreeCodeCamp Community Member.

Леонардо Мальдонадо

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

В последние несколько лет Graphql растет популярность среди разработчиков. Многие компании начали принимать эту технологию, чтобы построить их API. GraphQL – это язык запросов, разработанный Facebook в 2012 году и публично выпущен в 2015 году. Он набирает много тяги. Он был принят многими крупными компаниями, такими как Spotify, Facebook, Github, Nytimes, Netflix, Walmart и так далее.

В этой серии учебных пособий мы собираемся изучить Graphql, понять, что есть, и посмотрите, какие функции делают этот язык запроса настолько интуитивно и простым в использовании.

Итак, давайте начнем, рассмотрев проблемы с отдыхом и как Graphql решает их. Мы также узнаем, почему компании строят свои API с Graphql, и почему это будущее API.

О, отдых

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

Тем не менее, отдых имеет много проблем. Посмотрим, что они:

Много конечных точек

Каждый ресурс в покое представлено конечной точкой. Итак, в реальном мире мы получим много конечных точек для многих ресурсов. Если вы хотите сделать запрос на получение, вам понадобится конечная точка, специфичная для этого запроса, с определенными параметрами. Если вы хотите сделать запрос на почту, вам понадобится другая конечная точка только для этого запроса.

Но в чем проблема с этим? Давайте представим, что мы создаем огромное применение в социальных сетях, как Facebook. Мы окажемся с большим количеством конечных точек, что означает, что больше времени разработчика будет потрачено развиваться и поддержание этих API.

Чрезмерное приема и недостаточно получения информации

Реальная проблема, которая раздражает многие разработчики, перевернута и недостаточно для получения информации через API. Это потому, что apis отдыха всегда возвращают фиксированную структуру. Мы не можем получить именно данные, которые мы хотим, если мы не создаем определенную конечную точку для этого.

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

Также проблема с недостаточной выборкой информации. Если мы хотим получать данные из двух разных ресурсов, нам нужно сделать разные вызовы на два разных конечных точка. В огромном приложении это не так хорошо, поскольку будут случаи, когда нам нужно только получить конкретный кусок данных, а не весь объект. Теперь представьте, что мы создаем приложение, которое будет иметь 100 конечных точек. Представьте себе сумму работы и код, который нам нужно написать. Это станет сложнее со временем. Код также становится трудно поддерживать, и разработчики чувствуют себя потерянными в процессе.

Версию

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

В Graphql все, что вам нужно сделать, чтобы развивать ваш API, это написать новый код. Вы можете написать новые типы, запросы и мутации без необходимости отправить другую версию вашего API.

Таким образом, вы не увидите APICQL API с конечными точками, как следующее:

https://example.com/api/v1/users/12312https://example.com/api/v2/users/12312

Почему graphql – это будущее

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

  • Плохая работа
  • Много конечных точек
  • Чрезмерные или недостаточные данные данных
  • Доставить другую версию каждый раз, когда нам нужно включить или удалить что-то
  • Сложность понимания API

С учетом многих концепций разработчики из Facebook разработали лучший способ разработки API и позже назвал IT Graphql. По сути, это замена для отдыха, с большим количеством улучшений.

С Graphql мы получаем много новых функций, которые дают вам Superpowers, когда вы создаете свои API. Давайте рассмотрим их один за другим:

Одна конечная точка

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

Кроме того, как я уже сказал выше, подход «только конечный точку» делает ваш API самообязательным, поскольку вам нет необходимости создавать документацию, потому что ваши разработчики уже знают, как его использовать. Они могут понять API, просто глядя на код, или глядя на детскую площадку. Мы собираемся узнать больше об этом позже (следующий учебник в этой серии). Кажется волшебным, но это просто график!

С GraphQL вы получите только данные, которые вам нужны

Нет больше чрезмерных или недостаточных извлечений информации. Вы получаете только данные, которые вам нужны. Помните бедные проблемы с производительностью, которые мы обсуждали изначально? У нас больше нет, так как GraphQL улучшает производительность вашего API, особенно в случае медленного сетевого подключения.

Graphql позволяет легко начать строительные API и быть последовательным

Многие люди думают, что GraphQL довольно сложный, потому что он включает в себя схему и одну конечную точку. Как только вы начнете разрабатывать API с этим, вы обнаружите, что это проще, чем вы думали. API «Только конечная точка» помогает очень помогает, когда вы разрабатываете свой веб-сайт/приложение. Это делает ваш API более самододобитым, и вам не нужно написать много документации об этом.

Если вы не используете JavaScript в качестве основного языка, это не проблема. Graphql – это язык амностического запроса, который означает, что вы можете использовать его с любым языком. На момент написания этого учебника GraphQL имеет поддержку более 12 языков.

Graphql – это будущее

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

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

Так что, если бы я мог сказать тебе что-то сейчас, это: Да, Graphql – это действительно будущее API Отказ Вот почему большие компании ставят на него.

В ноябре 2018 года GraphQL создал основу GraphQL в партнерстве с Фондом Linux. Этот язык запросов побуждает своих разработчиков построить больше документации, инструментов и поддержку языка. Этот фундамент обеспечит стабильное, нейтральное и устойчивое будущее для GraphQL. Итак, это еще одна причина для рассмотрения графов быть будущим API.

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

Заключение

Graphql – это действительно будущее API, и нам нужно больше узнать об этом. Вот почему я решил создать серию из 4 учебных пособий, которые покажут, как мы можем работать с лучшими из GraphQL, начиная с запросов и мутаций, затем подписки и аутентификации.

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

Итак, оставайся настроенными и увидимся в следующем руководстве!

? F Оллау меня в Twitter!

Эта статья была первоначально опубликована на Hashnode. Если вам нравится эту статью, прочитала ее там, чтобы вы могли поддерживать меня и помочь мне написать больше статей! Уход Вы можете прочитать это здесь !