Elements of Computer Science
13.03.2024, 12:00 Uhr
Fortgeschrittene GraphQL-Konzepte mit HotChocolate
In zwei Artikel-Serien erklärt Software-Ingenierur Nicolas Descartes die Hintergründe und den Umgang mit GraphQL.
Nicolas Descartes [1] hat eine Reihe von Artikeln begonnen, die sich mit fortgeschrittenen Konzepten in GraphQL beschäftigen soll. Sein Ziel ist es, über die bisherigen Bemühungen hinauszugehen und Abfragen, Mutationen, Resolver und damit verbundene Begriffe zu untersuchen, um ein tiefes Verständnis der grundlegenden Frameworks zu fördern. Zur Veranschaulichung der für die Artikel-Reihe gewählten Szenarien wird HotChocolate eingesetzt.
HotChocolate ist ein quelloffener GraphQL-Server für die Microsoft .NET-Plattform, der mit der neuesten GraphQL-Spezifikation vom Oktober 2021 und neueren Entwürfen konform ist, wodurch Hot Chocolate mit allen GraphQL-kompatiblen Clients zusammenarbeitet.
GraphQL entstand in den frühen 2010er Jahren aus den Entwicklungsbemühungen von Facebook mit dem primären Ziel, die Datenübertragung über Netzwerke zu optimieren, insbesondere für mobile Anwendungen, bei denen die Bandbreiteneffizienz entscheidend ist. GraphQL ist eine Open-Source-Datenabfrage- und Manipulationssprache und ein Laufzeitsystem zum Beantworten von Abfragen mit vorhandenen Daten. Dank des flexiblen Ansatzes können GraphQL-Server in praktisch jeder Programmiersprache implementiert werden, und es ist nicht ungewöhnlich, dass es mehrere Implementierungen in derselben Sprache gibt.
Schon in der vorangegangenen Serie "Building GraphQL API with HotChocolate" hat sich Descartes ausführlich mit dem Wesen von GraphQL und den Gründen für seine Einführung durch Facebook in den frühen 2010er Jahren beschäftigt.
Die neue Serie soll nun verbliebene Lücken schließen, indem sie sich mit den kompliziertesten Aspekten der Spezifikation auseinandersetzt und dabei die kompliziertesten Facetten umfassend erläutert.
[1] Nicolas Descartes ist laut seiner Vita auf CodeProject.com ein Software-Ingenieur, der in verschiedenen Unternehmen gearbeitet hat und schließlich mit der Gründung seines Start-ups erfolgreich war. Er beschäftigt sich leidenschaftlich gern mit den Feinheiten der Softwareentwicklung und hat viel Spaß an der Lösung anspruchsvoller Probleme.