Web yazılımının geleceği HTML-over-WebSocket
(alistapart.com)-
SPA + API + JSON, geliştirme ve sürüm döngüsünü yavaşlatıyor
-
Çift yönlü WebSocket kullanarak sunucu taraflı render alma, hızlı prototipleme, sezgisel SEO ve hızlı özellik geliştirme yapmanın mümkün olduğu savunuluyor
→ Değişen HTML veya basit metin soket üzerinden iletilir
→ İstemcideki karmaşık değer doğrulamaları ve hata nesneleri yerine doğrulamayı sunucu yapar
→ Kullanıcının bağlı olup olmadığı, soket bağlantısının aktif olup olmadığına bakılarak kontrol edilir
→ Çok kullanıcılı sohbet ya da belge iş birliği gibi özelliklerin tamamı da kolayca desteklenir
-
Rails'in geri dönüşü: Turbolinks, Stimulus, StimulusReflex, CableReady ve GitHub’ın ViewComponent'i
-
Basecamp'in Hotwire'ı da aynı teknolojiyi kullanıyor
7 yorum
dotnet’in sunucu tarafı blazor’u da benzer şekilde çalışıyor gibi görünüyor. Bunu production’da gerçekten kullanmaya başlayınca insanı epey yoran durumlarla sık karşılaşıyorsunuz...
Electron’da sunucu ve istemciyi birlikte paketleyip dağıtmak dışında, açıkçası pek bir avantajını göremedim.
Belirli kullanım deneyiminizden biraz bahsedebilir misiniz?
Ama API endpoint’leri bir kez oluşturulduğunda mobil, web ve masaüstünde de kullanılabildiği için oldukça genel amaçlı; bu yüzden WebSocket’i geleceğin kendisi olarak görmekten emin değilim.
Elixir Phoenix LiveView ve RoR Stimulus Reflex de benzer bir kavram.
Chris McCord'un Rails ile geliştirirken yapısal sorunlar nedeniyle Elixir'e geçtiğine dair de bir anlatı var.
Boşa kürek çekme sesi...
Buna benzer görüşler de varmış diye bakmak iyi olabilir.
JavaScript her yerde kullanılmaya başlayınca SPA, SSR gibi bir sürü terim ortaya çıktı ve işlerin gereğinden fazla karmaşıklaştığına katılıyorum.
İki yönlü işlem imkanı sunduğu için WebSocket'in daha fazla kullanılacağı düşünülebilir ama benim beklentim Hotwire'dan da daha kullanışlı bir şeyin ortaya çıkması yönünde.
(Ben pek bilmiyor olabilirim ama) son zamanlarda bana biraz komik gelen bir nokta var: React + Laravel web uygulamasında yalnızca sunucu tarafı değiştiğinde dağıtımdaki içerik sürüm işareti ve değişen birkaç satır koddan ibaret oluyor; ama frontend değişince frontend uygulamasını build etmek gerekiyor ve dağıtım boyutu görece çok daha büyüdüğü için insanın gülesi geliyor. Geçici ve acil özelleştirmeleri uygulamak da zor oluyor. Sanırım bunu önceki geliştirme deneyimlerimle kıyasladığım için böyle hissediyorum.