Abstract:
W niniejszej pracy omówiono język zapytań GraphQL w kontekście zagadnienia kreowania czytelnych i efektywnych interfejsów programistycznych API. Przedstawiono w niej tło historyczne w postaci wiodących rozwiązań dostępnych dotychczas na rynku oraz ich podstawowe cechy. W kolejnych rozdziałach omówiono budowę i składnię języka GraphQL oraz przykładową implementację interfejsu programistycznego udostępniającego dane przy użyciu omawianego narzędzia. Na zakończenie przedstawiono wyniki testów wydajnościowych porównujących dwie technologie: REST oraz GraphQL.
Język zapytań GraphQL został w całości stworzony w 2012 roku przez programistów portalu społecznościowego Facebook, jako odpowiedź na trapiące ich wówczas problemy. W obliczu globalnego przyrostu danych, związanego z rozpowszechnieniem urządzeń mobilnych, potrzebne było narzędzie, które zapewniłoby lepszą wydajność pracy zespołów programistycznych oraz wyższą efektywność komunikacji klient-serwer na rynku aplikacji komercyjnych. Narzędzie stworzone w ramach projektu GraphQL, który w roku 2015 zyskał status otwartego oprogramowania, rozwiązało wiele kłopotów programistów projektujących interfejsy wymiany danych w różnych językach na różnych platformach programistycznych. Dziś, w przeddzień swoich dziesiątych urodzin, GraphQL traci powoli status nowości technologicznej i zajmuje coraz bardziej znaczące miejsce w rodzinie rozwiązań dla twórców interfejsów programistycznych. Niniejsza praca ma na celu przybliżenie czytelnikowi narzędzia GraphQL, aby – posiadając szerszy kontekst wiedzy z zakresu budowy i funkcjonalności języka – miał możliwość podjęcia właściwych decyzji w zakresie doboru odpowiedniego narzędzia do pracy przy projektowaniu i implementacji API.