GraphQL-Clients mit React und Apollo, Teil 2

Fazit

Mit dem Apollo-Framework steht ein GraphQL-Framework für React und andere Web-Frameworks zur Verfügung, das eine Vielzahl von Anwendungsszenarien abbildet, inklusive Typisierung mit Typescript. Das Framework ist insbesondere bei React-Anwendungen weit verbreitet und gilt derzeit als Standard.

Apollo ist modular, sodass Entwickler nur die wirklich benötigten Teile daraus zur eigenen Anwendung hinzufügen müssen. Allerdings ist die Weiterentwicklung von Apollo schnell und durch die Modularisierung bringt es einen mitunter hohen organisatorischen Aufwand mit. Zum Beispiel wenn es darum geht, welche Versionen der einzelnen Module zusammenpassen oder welches Modul dafür verantwortlich ist, wenn etwas nicht funktioniert, welcher Bug-Tracker dafür der richtige ist oder auch wo die Dokumentation verortet ist.

Über die gezeigten Features hinaus enthält Apollo Funktionen zur Verwaltung des von GraphQL unabhängigen globalen Anwendungszustandes, ähnlich wie aus Redux bekannt. Ob das eine gute Idee und für das eigene Projekt sinnvoll ist, muss man im Einzelfall kritisch evaluieren, ebenso, ob einem der deklarative Programmierstil gefällt oder ob einer der anderen Ansätze gewählt wird.

Neben Apollo existieren einige weitere GraphQL-Frameworks für React, die zwar nicht die Verbreitung und das Feature-Set von Apollo haben, für eigene Anwendungen je nach Anforderung aber durchaus ausreichend sein können. Als Beispiele seien Relay oder urql genannt. (bbo)

Nils Hartmann
ist Softwareentwickler und -architekt aus Hamburg. Er programmiert sowohl in Java als auch in JavaScript beziehungsweise TypeScript und beschäftigt sich mit der Entwicklung von React-basierten Anwendungen. Nils bietet dazu Schulungen und Workshops an.