Graphql (не быть путаницей с графом или открытым графом или даже фактическим графиком) – это замечательно креативное решение относительно распространенной проблемы: Как вы включаете разработчики переднего конца, чтобы получить доступ к данным Backend, именно им это нужно?
Быстрый пример: мы хотим отобразить список продуктов на веб-странице. Таким образом, мы пишем услугу, которая возвращает список продуктов. Мы делаем это супер спокойным, потому что это то, что кто-то на подкасте сказал, что мы должны сделать.
{
"items": [
{
"id": 2051,
"name": "Extension Cord",
"price": 15,
"productType": "Electrical",
"supplierName": "Northwind",
"shortDescription": "Outlet not where you need it? Extend your power to the right place at the right time",
},
{
"id": 2053,
"name": "LED Lamp",
"price": 14,
"productType": "Hardware",
"supplierName": "Northwind",
"shortDescription": "Low power battery operated light",
}
]
}Затем мы пощечим произведенными продуктами на странице. Продолжайте и представьте слабый звук. Или не стесняйтесь использовать этот здесь …
Теперь, когда у нас все сделано, кто-то решит, что нам также нужно отображать, какое количество каждого продукта у нас есть в наличии, потому что, конечно, они делают.
Ok. Наверное. Я имею в виду, вы не уточняли это в оригинальном документе проекта, но почему нет. Давайте просто сделаем охват тому, что все …| Вы хочу, чтобы это было.
Информация о количестве продукта – это поле в базе данных, но не возвращается службой. Чтобы добраться до него с переднего конца, мы должны изменить код нашего сервиса, а затем повторно развернуть, прежде чем мы сможем даже подумать о внесении изменений на переднем конце. Для одного поля.
Точно так же, если это тот же кто-то (кто не может решать, что они действительно хотят в жизни), решает, что нам больше не нужна SKU, мы можем игнорировать его на переднем конце, но это часть ответа API, поэтому он заканчивается Быть нежелательными данными в полезной нагрузке, и бессмысленные биты, которые нашим пользователям не нужно.
Каждый проект Это просто взад и вперед в непредвиденных изменениях. Это буквально определение «разработки программного обеспечения». Я имею в виду, что это не так, но моя точка звучит лучше, если я ссылаюсь на словарь.
Дело в том, что мы в конечном итоге делаем много компромиссов как на передних, так и за спине, просто чтобы делать вещи работать и идти в ногу с темпом изменениями. И компромиссы равные технические долги.
Это сама сущность проблемы, которую GraphQL пытается решить.
Я только недавно поставил все кусочки GraphQl вместе в мою голову. Это было не до моего коллеги Симона Котин Возложил научить меня Graphql, что у меня было эпопание, что, возможно, ответ на проблему, которую я пытался поработать вокруг массы моей профессиональной карьеры.
Узнать график С нами
Симона и я сделал три преподавательства вместе, и мы записали каждый. В этих трех видео вы можете узнать со мной, когда я иду от нулевых знаний о GraphQL, для реализации интерфейса GraphQL, а затем потребляя его из приложения React.
Каждое видео поставляется с репо GitHub, который вы можете клонировать, чтобы получить полностью рабочее решение в случае, если вы потеряете по пути.
Мы используем Azure Functions много функций в этой серии видео, потому что намного проще построить API без сервера, чем начать с нуля. Возьмите бесплатный аккаунт Azure, если у вас его еще нет.
Создайте свой бесплатный аккаунт Azure сегодня | Microsoft Azure Начните с 12 месяцев бесплатных услуг и 200 долларов США в кредит. Создайте свой бесплатный аккаунт сегодня с Microsoft … azure.microsoft.com
Часть 1: Представляя GraphQL
В первом видео Симона вводит меня в концепции GraphQL и причудливого синтаксиса, который он использует. Мы также создаем API GraphQL в этом видео и разверните его.
Simonaco/Serverless-GraphQL-API-Part1 Вклад в разработку Simonaco/Serverless-Graphql-APIS-Part1, создавая учетную запись на Github. github.com
Часть 2: Установка GraphiQL локально и развертывание
В части 2 я получаю Graphiql Инструмент тестирования Visual GraphQL работает на месте на моей собственной машине, а затем развернуть его на Azure Storage. Таким образом, я могу легко проверить My GraphQL API, не требуя подключения приложения.
Simonaco/Serverless-graphql-apis-part2 Вклад в разработку Simonaco/Serverless-GraphQl-API-PAPIT2, создавая учетную запись на GitHub. github.com
Часть 3: Использование API в APC
Мы окружаем эту серию, глядя на то, как на самом деле называть это API из приложения. Это своего рода важная деталь.
Simonaco/Serverless-GraphQL-API-PAPIT3 Ссолюсь в разработку Simonaco/Serverless-GraphQL-API-PAPI-PAPIT3, создавая учетную запись на GitHub. github.com
Узнайте больше о GraphQL
Как только вы понимаете проблему, которая решает GraphQL, вы начнете видеть возможности для нее везде. И лучшая часть в том, что вам не нужно начать свежим, чтобы использовать его. На самом деле, это рекомендуемые Что вы используете его сверху типичного API отдыха, поэтому вы, вероятно, в идеальном месте, чтобы использовать GraphQL сегодня.
Если вы хотите пойти дальше с graphql и отреагируйте, проверьте WES BOS’S курс. Это оплачено, но это стоит каждого копейки. Это инвестиции, которые вы будете рады, что вы сделали. Уэс не платит мне что-нибудь, чтобы сказать это. Но, возможно, он должен.
Advanced React & GraphQL Создайте полные стеки приложения с React и GraphQL advancedreact.com
Оригинал: “https://www.freecodecamp.org/news/why-graphql-is-the-key-to-staying-out-of-technical-debt-7915f8f59a9/”