Rapid Application Development von GraphQL-Backends mit Hasura

Wir bei MAXIMAGO setzen Hasura für Rapid Application Development ein, insbesondere um Daten schnell und flexibel  zu modellieren und dem Client verfügbar zu machen. So können effizient Interaktionsabläufe mit echter Datenpersistenz implementiert und mit Nutzern evaluiert werden.

Um schnell „normale“ Daten verfügbar zu machen, ist Hasura perfekt

Unser Johannes Katzer hat am 23.06.2022 auf der Konferenz enterJS einen Vortrag zu unseren Erfahrungen mit Hasura gehalten.

Der Hands-On Teil des Vortrags umfasste u.a.:

  • Endpoint and Request Headers
  • Subscriptions
  • Mutations
  • Foreign Keys
  • Permissions
  • Actions
  • Remote Schemas, Schema Stitching
  • Events, z.B. NodeJs webhook
  • Monitoring & Regression Tests

Unser Fazit zu Hasura

Hasura ist stark bei:

  • Hasura für Rapid Application Development ist die größte Stärke
  • „CRUD“-Anwendungen ohne viel Applikationslogik
  • Agiles Projektsetup, z.B. bei Parallelisierung von REQ, UX und DEV
  • Vereinigung von Datensilos unter einer API
  • Datenanalyseanwendungen, die flexible Datenabfragen erfordern
  • Microservice-Landschaften: Hasura fungiert als Gateway durch Verwendung von Remote Schemas & Actions

Skeptisch sind wir in folgenden Punkte:

  • Langfristige Zuverlässigkeit des Herstellers unklar
    • Undurchsichtige Roadmap des Herstellers mit wenig Ausblick auf kommende Features (z.B. Anbindungsmöglichkeit weiterer Datenbanken)
    • Wenig Engagement des Hasura-Teams für Bugfixes auf GitHub
  • Keine Busineslogik in Hasura (nur per Actions und Events)
  • Kein Code-First Ansatz
  • Nicht alle gängigen Datenbanken werden Stand heute unterstützt, so fehlt voll Unterstützung für die Microsoft SQL-Server
  • Wie immer: Je komfortabler ein umfangreiches Werkzeug ist, desto weniger Individualitäten lassen sich effizient abbilden. Obacht also bei exotischen Anforderungen!

Weiterführende Links:

 

Für Fragen und Anregung steht unser Johannes Katzer sehr gerne zur Verfügung!