웹 소프트웨어의 미래는 HTML-over-WebSocket 이다
(alistapart.com)- SPA + API + JSON 은 개발과 릴리즈 사이클을 느리게함
- 양방향 웹소켓을 이용해서 서버 렌더링, 빠른 프로토타이핑, 직관적인 SEO, 신속한 기능 개발이 가능하다는 주장
ㅤ→ 변경되는 HTML 또는 간단한 텍스트를 소켓으로 전달
ㅤ→ 클라이언트의 복잡한 값 검증 및 에러객체들 대신 서버가 검증하게
ㅤ→ 사용자의 접속여부는 소켓 연결이 활성화 되었는지로 체크
ㅤ→ 다중 사용자 채팅이나, 문서 협업들도 모두 쉽게 지원
- Rails의 귀환 : Turbolinks, Stimulus, StimulusReflex, CableReady, and GitHub’s ViewComponent
- Basecamp 의 Hotwire 도 같은 기술
댓글과 토론
dotnet의 serverside blazor가 비슷하게 동작하는거 같은데요. 이걸 프로덕션에서 실제로 사용해보면 좀 피곤한경우를 많이 겪게되서...
Electron에 서버와 클라이언트를 다 붙여서 배포하는거 빼고는 딱히 장점을 모르겠더라구요.
그런데 API endpoint는 만들어 놓으면 모바일, 웹, 데스크톱 다 쓸 수 있어서 범용성이 좋은데, 웹소켓을 미래라고 할 수 있을지 모르겠네요.
Elixir Phoenix LiveView, 나 RoR Stimulus Reflex 도 비슷한 개념인데,
Chris McCord 가 Rails 로 만들다가 구조적인 문제로 Elixir 로 넘어갔다고 하는 얘기도 있죠.
- If not SPAs, what? https://macwright.com/2020/10/28/if-not-spas.html
이런 주장도 있구나 라고 보시면 좋을듯
Javascript 가 어디에나 쓰이면서 SPA, SSR 등 뭔가 용어가 많아 졌고, 과도하게 복잡해졌다는 것에는 동의합니다.
양방향 처리가 되는 것이 웹소켓이 더 많이 활용될 것 같긴 한데, 전 Hotwire 보다 더 편한 무언가가 나오길 기대해봐야 할 것 같아요.
- Hotwire : HTML Over The Wire Hotwire : HTML Over The Wire