3 Punkte von GN⁺ 2023-12-19 | 1 Kommentare | Auf WhatsApp teilen

Methoden zur Bereitstellung von HTML-Inhalten

  • Einführung, wie sich mit PostgREST und der Bibliothek htmx HTML-Inhalte zurückgeben und AJAX-Anfragen verarbeiten lassen.
  • htmx erwartet HTML-Antworten und verwendet diese, um Elemente im DOM zu ersetzen.

Vorbereitung und Einrichtung

  • Erstellung einer To-do-App auf Basis von Tutorial 0.
  • Es wird ohne Authentifizierung gearbeitet, und dem Benutzer web_anon werden alle Rechte auf die Tabelle todos erteilt.
  • Hinzufügen von text/html als Media-Type-Handler, damit PostgREST Anfragen von Webbrowsern als HTML-Dokumente erkennt.

HTML-Antworten erzeugen

  • Erstellen einer Funktion, die mit Tailwind CSS eine grundlegende HTML-Datei zurückgibt.
  • Webbrowser können die Webseite unter http://localhost:3000/rpc/index öffnen.

To-dos auflisten und erstellen

  • Erstellen einer Funktion, die die bereits in der Datenbank eingetragenen To-dos anzeigt.
  • Sie wird zum Aufbau des Templates für die To-do-Liste verwendet, jedoch nicht als PostgREST-Endpunkt genutzt.
  • Hinzufügen eines Endpunkts zum Eintragen von To-dos in die Datenbank und Anpassen der Seite /rpc/index.

To-dos bearbeiten und löschen

  • Überarbeitung der Funktion api.html_todo, um sie funktionaler zu machen.
  • Hinzufügen neuer htmx-Funktionen: Ändern des To-do-Status, Rückgabe von bearbeitbarem HTML für To-dos und Löschen von To-dos.
  • Hinzufügen von Endpunkten zum Bearbeiten von To-dos sowie zum Aktualisieren und Löschen von To-dos in der Datenbank.

Meinung von GN⁺

  • Dieser Artikel dürfte für Webentwickler interessant sein, da er erklärt, wie sich mit PostgREST und der Bibliothek htmx dynamische HTML-Inhalte in Webanwendungen bereitstellen lassen.
  • Asynchrone Webseiten-Updates mit AJAX sind ein wichtiger Bestandteil moderner Webentwicklung, und der Artikel liefert ein konkretes Beispiel für die Umsetzung solcher Funktionen.
  • Eine gute Ressource, um zu lernen, wie sich Benutzeroberflächen verbessern und die Kommunikation zwischen Server und Client optimieren lässt.

1 Kommentare

 
GN⁺ 2023-12-19
Hacker-News-Kommentare
  • Zusammenfassung der Hacker-News-Kommentare zu PostgREST:
    • Wertschätzung für das Open-Source-Projekt PostgREST: Ein Nutzer bezeichnet PostgREST als eines seiner Lieblingsprojekte im Open Source-Bereich und erwähnt, dass der Erfolg von Supabase der hervorragenden Gestaltung von PostgREST und Postgres zu verdanken sei. Er merkt an, dass er nicht wisse, wie viel Supabase das PostgREST-Projekt sponsort, bedauert jedoch, dass es trotz der Nutzung durch viele Unternehmen nur 12 Sponsoren gebe.
    • Schwierigkeiten bei der Entwicklung von Apps mit PostgREST: Ein anderer Nutzer berichtet, dass seine Erfahrung bei der App-Entwicklung mit PostgREST nicht gut gewesen sei, und weist darauf hin, dass selbst Frameworks, die einfach wirken, Probleme bekommen, sobald die Anforderungen komplexer werden. In diesem Fall mussten die Entwickler viele Stored Procedures in der Datenbank schreiben, um die gewünschten Ergebnisse zu erzielen, was zu Skalierbarkeitsproblemen geführt habe.
    • Schwierige Wartbarkeit: Ein weiterer Nutzer meint, PostgREST sei als Proof of Concept großartig, aber die Wartung einer tatsächlich komplexen Webanwendung damit wäre wohl ein Albtraum.
    • Reiz eines einfachen Webentwicklungs-Stacks: Ein Nutzer bewertet einen Webentwicklungs-Stack, der nur aus HTML und Datenbank besteht, als attraktiv, und sieht es positiv, dass weder Backend noch Frontend nötig seien.
    • Coding-Pattern in neuen/modernen Anwendungen: Unter Verweis auf JSON-Dokumentdatenbanken wie CouchDB erklärt ein Nutzer einen Ansatz, bei dem der Client direkt auf die Datenbank zugreift und HTML oder JSON erhalten kann. Er erwähnt jedoch, dass dieser Ansatz die Wartung erschwert habe und die Entwicklung deshalb eingestellt worden sei.
    • Die Eigenständigkeit von PostgREST aus Haskell-Perspektive: Ein Nutzer sagt, aus Haskell-Sicht sei PostgREST ein offensichtliches Projekt, und genau darin liege seine Genialität.
    • Vorstellung von SmoothDB: Ein Entwickler stellt ein neues Projekt namens SmoothDB vor, das Kompatibilität mit PostgREST anstrebt und auf GitHub veröffentlicht wurde; es befinde sich noch in der Beta-Phase. SmoothDB ist in Go geschrieben und kann eigenständig oder als Modul in komplexeren Serveranwendungen verwendet werden.
    • Artikel über eine Datenvalidierungs-Pipeline mit PostgREST: Ein Nutzer erwähnt, dass er einen Artikel darüber geschrieben habe, wie sich PostgREST als allgemeine Datenvalidierungs-Pipeline verwenden lässt, und dass er als Nächstes einen Artikel darüber vorbereite, wie man es als CQRS/REST-API-Schicht einsetzen kann.
    • Kombination von PostgREST und HTMX: Ein Nutzer berichtet, dass er PostgREST in einem früheren Projekt verwendet habe und es gut mit HTMX zusammenpasse. Er äußert jedoch Bedenken hinsichtlich der Wartung von HTMX-Templates innerhalb von SQL-Funktionen.
    • Zusätzliche Werkzeuge für einen wartbaren Stack: Ein Nutzer fragt nach Meinungen zu zusätzlichen Werkzeugen, die nötig wären, um dieses Konzept zu einem wartbaren Stack weiterzuentwickeln, der für mittelgroße bis große Anwendungen eine gute UX bietet.