W 2015 roku Meta, a adekwatnie ówczesny Facebook wydaje pierwszą wersję specyfikacji GraphQL, języka opisu zapytań do API, którego celem jest wydajne i mocno elastyczne pobieranie danych. A ten właśnie problem mocno doskwierał Facebookowi przy implementacji natywnych aplikacji mobilnych. Nadszedł rok 2024 i wiele organizacji przekonało się, iż wdrożenie rozbudowanego i wydajnego GraphQL API nie jest zadaniem prostym...
O GraphQL powiedziano już wiele, warto przybliżyć trochę ciemniejszych stron używania tego rozwiązania w projekcie. Dziś zapraszam na rozmowę o cieniach GraphQL-a, a moim gościem jest Sebastian Rabiej, który z tą technologią ma sporo doświadczenia produkcyjnego.
W tym odcinku wspólnie z Sebastianem rozmawiamy między innymi o:
- raporcie Postmana i trendach w stosowaniu poszczególnych styli budowy API
- czym jest GraphQL i jakie problemy rozwiązuje
- zasadach, popularnych narzędziach i frameworkach do budowy GraphQL API
- sposobach atakowania serwera GraphQL
- potencjalnych problemach z wydajnością, bezpieczeństwem i wersjonowaniem takich API
- best practices i sposobach rozwiązania typowych problemów w GraphQL
Materiały dodatkowe:
- Dokumentacja i strona domowa GraphQL
- Dostępne wydania specyfikacji GraphQL
- Artykuł na blogu Meta opisujący jak to się wszystko zaczęło
- Zestaw zaleceń Principled GraphQL
- Praca Migrating to GraphQL: A Practical Assessment
- Wspomniany w odcinku blog post The rise and fall of GraphQL at sennder
- Artykuł Public versus Published Interfaces Martina Fowlera
- [Dokumentacja limitów GraphQL[(https://docs.github.com/en/graphql/overview/rate-limits-and-node-limits-for-the-graphql-api) w API GitHub
- Netflix DGS Framework do implementacji i uruchamiania usług opartych o GraphQL
- GraphQL Voyager, narzędzie wizualizacji schematu API w formie interkatywnego grafu
- GraphQL Cop, narzędzie audytu security API opartych o GraphQL