Co to jest GraphQL?

GraphQL jest bardzo potężnym językiem zapytań służącym do komunikacji danych między klientem, przeglądarką, serwerem i pozwala nam konstruować aplikacje oparte na danych w znacznie bardziej elastyczny i wydajny sposób niż spokojne podejście. Wyobraź sobie, że stworzyliśmy pewnego rodzaju spokojny interfejs API dla strony internetowej, która wyświetla książki i autorów. Teraz, aby pobrać informacje o konkretnej książce i wyświetlić te informacje na stronie internetowej, prawdopodobnie wysłalibyśmy żądanie AJAX do punktu końcowego. To przywróci niektóre informacje, takie jak tytuł, gatunek, recenzja itp.

Definicja

GraphQL to po stronie serwera technologia open source opracowana przez Facebook w celu optymalizacji wywołań API RESTful. Jest to język zapytań o dane i silnik wykonawczy.

Zrozumienie GraphQL

Schematy w GraphQL można zapisać w języku GraphQL Schema Definition Language lub SDL. SDL jest łatwy do zrozumienia i prosty do nauczenia. Schematy w nim są silnie typowane, które są pomocne dla programistów w sposób, który nie byłby możliwy do korzystania z interfejsów API bez schematów.

Mało tego, schemat GraphQL jest systemem wsparcia API GraphQL. Schemat wyjaśnia możliwe wyniki lub odpowiedzi na wprowadzone argumenty. Schemat GraphQL dobrze określa obsługiwane operacje, a także możliwości interfejsu API.

W jaki sposób GraphQL sprawia, że ​​praca jest tak łatwa?

Zmniejsza ilość danych przesyłanych przewodowo i poprzez wybór danych w zależności od potrzeb klienta. Dlatego klient mobilny pobiera mniej informacji, ponieważ są one potrzebne na mniejszym ekranie. Największe problemy z większością obecnie dostępnych interfejsów API polegają na tym, że brakuje im silnych kontraktów na to, jak powinny wyglądać ich operacje. Programiści znaleźli się w sytuacjach, w których oczekuje się, że będą pracować z przestarzałą i wadliwą dokumentacją API, która nie ma odpowiednich sposobów na poznanie, jakie operacje są obsługiwane przez API i jak z nich korzystać. Z drugiej strony GraphQL ma odpowiednią dokumentację.

Co możesz zrobić z GraphQL?

Struktura serwerów GraphQL jest taka, że ​​umożliwia deklaratywne pobieranie danych. Ułatwia to gromadzenie wymaganych danych za pomocą tylko jednego żądania.

Wyobraźmy sobie na przykład sytuację, w której osoba prosi o dane konkretnego piosenkarza, takie jak nazwisko, utwory i tak dalej. W przypadku tradycyjnego wzorca REST wymagałoby to co najmniej dwóch żądań do dwóch punktów końcowych, czyli / wykonawców i / utworów. Ale jeśli go wykorzystamy, wszystkie dane można zdefiniować za pomocą tylko jednego zapytania GraphQL, aby zażądać wielu zasobów.

Praca z GraphQL

Ułatwiło to życie programistom frontendów. Wszystkie kredyty trafiają do bibliotek klienta GraphQL, takich jak Apollo lub Urql. Programiści Frontend otrzymują różne funkcje, takie jak buforowanie lub optymistyczne aktualizacje interfejsu użytkownika za darmo całkowicie z polami, w których całe zespoły mogą po prostu pracować nad nimi, jeśli nie ma GraphQL. Za pomocą GraphQL można teraz całkowicie przeprojektować interfejs użytkownika aplikacji bez dotykania zaplecza.

Zalety

Interfejsy API GraphQL mają silnie typowany schemat

  • Bez nadmiernego pobierania i niepełnego pobierania
  • Umożliwia szybki rozwój produktu
  • Bogaty ekosystem open source i niesamowita społeczność

Wymagane umiejętności

Przede wszystkim użytkownik musi biegle posługiwać się co najmniej jednym językiem programowania i podstawowymi pojęciami stojącymi za tym językiem. Musisz także biegle posługiwać się składnią JavaScript i ES6.

Zakres

Jest to teraz ogromny skok przed projektowaniem interfejsu API REST. GraphQL bezpośrednio modeluje wszelkiego rodzaju przejścia danych, które klient musi wykonać, aby wykonać swoje zadanie. Oczekuje się, że w ciągu najbliższych kilku lat nastąpi znaczne udoskonalenie tej przestrzeni.

Dlaczego go potrzebujemy i dlaczego powinniśmy używać GraphQL?

Jeśli jesteś programistą front-end, najprawdopodobniej nie będziesz pracować ze schematem, ale będzie on służył jako ważny dokument, który pozwoli ci dowiedzieć się, jakie wszystkie zapytania możesz wykonać.

Jeśli porównasz to z innymi standardami API, takimi jak Swagger dla interfejsów API REST, musisz zaufać, że ktokolwiek napisał dokumentację, napisał ją naprawdę dobrze, z udokumentowanymi wszystkimi przypadkami brzegowymi. Swagger nie wymusza sprawdzania typu dla różnych pól, więc możesz mieć prawidłowy plik Swagger YAML, który jest teraz również bardzo trudny w nawigacji.

Jakikolwiek prawidłowy schemat GraphQL sam w sobie będzie bardzo pomocny dla każdego, aby wiedzieć, z jakimi różnego rodzaju danymi ma do czynienia, i to nawet, jeśli nie jest odpowiednio udokumentowany.

Kto jest odpowiedni do nauki technologii GraphQL?

GraphQL jest dostępny dla dużej grupy odbiorców. Obejmują one po stronie klienta i po stronie serwera, ponieważ zapewniają duży ekosystem bibliotek dla obu stron.

W jaki sposób ta technologia pomoże ci w rozwoju kariery?

Byłoby naprawdę wdzięczne wszystkim programistom, niezależnie od tego, czy dobrze znają React, Angular czy Android, aby dowiedzieć się o GraphQL i stale go używać. Istnieje wiele społeczności, które rozszerzają wsparcie dla początkujących, którzy używają GraphQL, takich jak kanał Slack, Apollo i organizacja GitHub GraphQL.

Odwiedź ich portale, aby uzyskać pomoc i najnowsze aktualizacje.

Różne firmy przechodzą teraz na GraphQL, ponieważ rozumieją swoje przyszłe perspektywy i znaczenie.

Wniosek

Dzięki tym dyskusjom możemy stwierdzić, że jest to ekscytująca technologia, ale konieczne jest zrozumienie kompromisów przed podjęciem ważnych decyzji architektonicznych. Interfejsy API, takie jak te z niewielką liczbą jednostek i relacjami między jednostkami, nie są tak naprawdę odpowiednie dla GraphQL. Ale aplikacje z różnymi obiektami domenowymi, takie jak aplikacje e-commerce, w których masz wiele podmiotów, mogą być do tego bardziej odpowiednie. Jest to naprawdę potężne narzędzie, które ma wiele powodów, aby wybrać je w swoich projektach, ale w każdym razie nie musisz zapominać, że najważniejsze jest wybranie dowolnego narzędzia odpowiedniego dla twojego projektu.

Polecane artykuły

To był przewodnik po czym jest GraphQL. Tutaj omówiliśmy działanie, wymagane umiejętności, zakres, rozwój kariery i zalety GraphQL. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest MySQL?
  2. Jak zainstalować JavaScript
  3. Co to jest Python
  4. Co to jest SQL Server?