Hotwire: HTML Over The Wire
(hotwire.dev)- Cách xây dựng trang web hiện đại bằng cách truyền trực tiếp HTML thay vì truyền JavaScript và JSON
→ Được dùng cho frontend của dịch vụ email Hey
- Có thể dùng nhiều ngôn ngữ khác nhau ở phía máy chủ mà không phải đánh đổi tốc độ và độ phản hồi kiểu SPA, cùng với tải trang nhanh và render phía máy chủ
Turbo + Stimulus + Strada
- Turbo: Cốt lõi của Hotwire. Tập hợp các kỹ thuật giúp tạo web app nhanh
→ Turbo Drive: Chuyển mọi lần nhấp vào liên kết a và submit form thành fetch, đọc từ máy chủ rồi thay thế body. Biến nó hoạt động giống như SPA
→ Turbo Frames: Tách các trang phức tạp thành các frame để tải và render riêng. Tương tự iframe nhưng là frame ảo được xử lý trong một DOM duy nhất
→ Turbo Streams: Truyền theo luồng các thay đổi của trang qua WebSocket
→ Turbo Native: Hỗ trợ dùng cách tiếp cận của Turbo trong ứng dụng hybrid iOS/Android
-
Stimulus: Turbo xử lý 80%, còn phần còn lại do nó đảm nhận. Framework JS tối giản
-
Strada: Bridge kết nối web và native. Dự kiến công bố vào năm sau
7 bình luận
Khái niệm truyền tải HTML khiến tôi nhớ đến PJAX.
Có lẽ
stradalà phần hiện thực hóa bằng mã của những gì đã được nói tới trong https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture/ .Stimulus vốn cũng là một framework JS mà Basecamp đã dùng từ trước, nhưng nhìn vào kho lưu trữ thì có vẻ Turbo là phiên bản đổi tên từ Turbolinks thành Turbo. Strada thì chưa được công khai nên vẫn chưa rõ lắm, nhưng có vẻ họ đã gộp các công nghệ hiện có lại và sử dụng chúng theo một cách tiếp cận gọi là Hotwire.
Phoenix LiveView cũng vậy, và dạo gần đây có vẻ xuất hiện khá nhiều nỗ lực theo hướng này. Có phải sự mệt mỏi với frontend đã lên đến đỉnh điểm rồi không?
Có phải anh/chị beungj thích leo lên mái nhà không?
Ý tưởng thú vị đấy.
Khi tech stack của Hey được công khai https://vi.news.hada.io/topic?id=2355
Nghe nói ngoài Stimulus và Turbolinks ở frontend còn có thêm một thứ nữa, có vẻ đó chính là Hotwire.