3 puan yazan GN⁺ 2023-12-19 | 1 yorum | WhatsApp'ta paylaş

HTML içeriği sunma yöntemi

  • PostgREST ve htmx kütüphanesini kullanarak HTML içeriği döndürme ve AJAX isteklerini işleme yöntemine giriş.
  • htmx, HTML yanıtları bekler ve bunu kullanarak DOM içindeki öğeleri değiştirir.

Hazırlık ayarları

  • Tutorial 0 temel alınarak bir yapılacaklar (to-do) uygulaması oluşturma.
  • Kimlik doğrulama olmadan ilerlenir ve web_anon kullanıcısına todos tablosu üzerinde tüm yetkiler verilir.
  • PostgREST'in web tarayıcısından gelen istekleri HTML belgesi olarak tanıması için medya türü işleyicisi olarak text/html eklenir.

HTML yanıtı oluşturma

  • Tailwind CSS kullanarak temel bir HTML dosyası döndüren bir fonksiyon oluşturma.
  • Web tarayıcısı, web sayfasını http://localhost:3000/rpc/index adresinde açabilir.

Yapılacakları listeleme ve oluşturma

  • Veritabanına daha önce girilmiş yapılacaklar listesini gösteren bir fonksiyon oluşturma.
  • Bu fonksiyon, yapılacaklar listesi şablonunu oluşturmak için kullanılır ve PostgREST endpoint'i olarak kullanılmaz.
  • Yapılacakları veritabanına kaydeden bir endpoint ekleme ve /rpc/index sayfasını düzenleme.

Yapılacakları düzenleme ve silme

  • api.html_todo fonksiyonunu daha işlevsel hale getirecek şekilde düzenleme.
  • Yeni htmx özellikleri ekleme: yapılacak durumunu değiştirme, düzenlenebilir yapılacak HTML'i döndürme, yapılacağı silme.
  • Yapılacağı düzenlemek ve veritabanında yapılacağı güncellemek ve silmek için endpoint'ler ekleme.

GN⁺ görüşü

  • Bu yazı, PostgREST ve htmx kütüphanesini kullanarak web uygulamalarında dinamik HTML içeriğinin nasıl sunulacağını anlattığı için web geliştiricileri açısından ilgi çekici olabilir.
  • AJAX ile eşzamansız web sayfası güncellemeleri modern web geliştirmede önemli bir yer tutar ve bu yazı, bu tür işlevleri uygulamaya yönelik somut örnekler sunar.
  • Kullanıcı arayüzünü iyileştirme ve sunucu ile istemci arasındaki iletişimi optimize etme yöntemlerini öğrenmek için iyi bir kaynaktır.

1 yorum

 
GN⁺ 2023-12-19
Hacker News görüşleri
  • PostgREST hakkındaki Hacker News yorumlarının özeti:
    • PostgREST açık kaynak projesine duyulan sevgi: Bir kullanıcı, PostgREST'i en sevdiği açık kaynak projelerinden biri olarak gösteriyor ve Supabase'in başarısının PostgREST ile Postgres'in mükemmel tasarımı sayesinde olduğunu belirtiyor. Bu kullanıcı, Supabase'in PostgREST projesine ne kadar sponsor olduğunu bilmediğini, ancak pek çok şirket bunu kullanmasına rağmen yalnızca 12 destekçi olmasından üzüntü duyduğunu ifade ediyor.
    • PostgREST ile uygulama geliştirmenin zorlukları: Başka bir kullanıcı, PostgREST ile uygulama geliştirme deneyiminin iyi olmadığını söyleyerek, basit görünen framework'lerin gereksinimler karmaşıklaştığında sorun çıkardığına dikkat çekiyor. Bu durumda geliştiricilerin istedikleri sonucu elde etmek için veritabanına çok sayıda stored procedure yazması gerektiği, bunun da ölçeklenebilirlik sorunlarına yol açtığı belirtiliyor.
    • Bakım zorlukları: Bir başka kullanıcı, PostgREST'in kavram kanıtı olarak harika olduğunu ancak gerçek hayatta karmaşık web uygulamalarını bakımını yapmanın kâbus gibi olacağını düşünüyor.
    • Basit web geliştirme yığınının çekiciliği: Bir kullanıcı, yalnızca HTML ve veritabanından oluşan bir web geliştirme stack'inin çekici olduğunu, backend ya da frontend gerektirmemesini olumlu bulduğunu söylüyor.
    • Yeni/modern uygulamalardaki kodlama kalıpları: Couchdb gibi JSON belge veritabanlarını örnek vererek, istemcinin doğrudan veritabanına erişip HTML ya da JSON alabileceği bir yaklaşım anlatılıyor. Ancak bu yöntemin bakım zorlukları yarattığı ve bu yüzden geliştirmenin durdurulduğu da belirtiliyor.
    • Haskell perspektifinden PostgREST'in özgünlüğü: Bir kullanıcı, Haskell bakış açısından PostgREST'in çok açık bir proje olduğunu ve dehasının tam olarak burada yattığını değerlendiriyor.
    • SmoothDB'nin tanıtımı: Bir geliştirici, PostgREST ile uyumlu olmayı hedefleyen SmoothDB adlı yeni projeyi GitHub'da yayımladığını tanıtıyor ve bunun henüz beta sürümünde olduğunu belirtiyor. SmoothDB, Go ile yazılmış ve bağımsız olarak ya da karmaşık sunucu uygulamalarının bir modülü olarak kullanılabiliyor.
    • PostgREST kullanan veri doğrulama pipeline'ı hakkında makale: Bir kullanıcı, PostgREST'i genel amaçlı bir veri doğrulama pipeline'ı olarak kullanma yöntemine dair bir makale yazdığını, bunu CQRS/REST API katmanı olarak kullanma üzerine sonraki makaleyi de hazırladığını söylüyor.
    • PostgREST ve HTMX birleşimi: Bir kullanıcı, önceki bir projede PostgREST kullandığını ve HTMX ile iyi uyum sağladığını değerlendiriyor. Ancak SQL fonksiyonlarının içinde HTMX şablonlarını bakımını yapma konusunda endişelerini dile getiriyor.
    • Bakımı yapılabilir bir stack'e dönüştürmek için ek araçlar: Bir kullanıcı, bu fikri orta ve büyük ölçekli uygulamalarda iyi UX sunan, bakımı yapılabilir bir stack'e dönüştürmek için hangi ek araçların gerekli olduğu konusunda görüş soruyor.