Masa depan perangkat lunak web adalah HTML-over-WebSocket
(alistapart.com)-
SPA + API + JSON memperlambat siklus pengembangan dan rilis
-
Klaimnya, dengan memanfaatkan WebSocket dua arah, server rendering, prototyping cepat, SEO yang intuitif, dan pengembangan fitur yang gesit menjadi mungkin
→ Mengirim HTML yang berubah atau teks sederhana melalui socket
→ Alih-alih validasi nilai yang kompleks dan objek error di klien, biarkan server yang melakukan validasi
→ Status apakah pengguna sedang terhubung dicek dari apakah koneksi socket aktif
→ Chat multi-pengguna maupun kolaborasi dokumen semuanya juga mudah didukung
-
Kembalinya Rails: Turbolinks, Stimulus, StimulusReflex, CableReady, dan ViewComponent milik GitHub
-
Hotwire dari Basecamp juga menggunakan teknologi yang sama
7 komentar
Sepertinya
serverside blazormilik dotnet juga bekerja dengan cara yang mirip. Tapi kalau benar-benar dipakai di production, cukup sering ketemu situasi yang lumayan bikin capek...Selain untuk mendistribusikan server dan klien sekaligus dengan Electron, saya sendiri kurang melihat kelebihannya.
Bisakah Anda menceritakan pengalaman penggunaan yang lebih konkret?
Namun, endpoint API sekali dibuat bisa dipakai di mobile, web, dan desktop, jadi fleksibilitasnya bagus. Karena itu, saya kurang yakin apakah WebSocket bisa disebut sebagai masa depan.
Konsep yang mirip juga ada di Elixir Phoenix LiveView maupun RoR Stimulus Reflex,
ada juga cerita bahwa Chris McCord awalnya membuatnya dengan Rails lalu beralih ke Elixir karena masalah struktural.
Omong kosong yang diputar-putar...
Saya rasa ini bisa dilihat sebagai salah satu pendapat seperti itu.
Seiring JavaScript dipakai di mana-mana, istilah seperti SPA, SSR, dan sebagainya jadi makin banyak, dan saya setuju bahwa semuanya menjadi terlalu rumit.
Karena bisa menangani komunikasi dua arah, tampaknya WebSocket akan lebih banyak dimanfaatkan, tetapi saya rasa kita perlu berharap akan muncul sesuatu yang lebih nyaman daripada Hotwire.
(Mungkin karena saya kurang paham) ada bagian yang belakangan ini terasa agak lucu: di web app React+Laravel, kalau yang berubah hanya sisi server, isi deploy cuma penanda versi dan beberapa baris kode yang berubah, tapi kalau frontend berubah, harus build app frontend dan ukuran deploy jadi relatif jauh lebih besar, sampai rasanya lucu. Juga sulit menerapkan kustomisasi mendesak secara sementara. Mungkin juga karena jadi membandingkannya dengan pengalaman pengembangan sebelumnya.