12 điểm bởi xguru 2021-03-02 | 7 bình luận | Chia sẻ qua WhatsApp
  • SPA + API + JSON làm chậm quá trình phát triển và chu kỳ phát hành

  • Lập luận rằng bằng cách sử dụng WebSocket hai chiều, có thể render phía máy chủ, tạo mẫu nhanh, SEO trực quan và phát triển tính năng nhanh chóng

-> Truyền HTML thay đổi hoặc văn bản đơn giản qua socket

-> Để máy chủ thực hiện xác thực thay vì xử lý các kiểm tra giá trị phức tạp và các đối tượng lỗi ở phía client

-> Kiểm tra trạng thái kết nối của người dùng bằng việc xem kết nối socket có đang hoạt động hay không

-> Cũng có thể dễ dàng hỗ trợ chat nhiều người dùng hoặc cộng tác tài liệu

  • Sự trở lại của Rails: Turbolinks, Stimulus, StimulusReflex, CableReady và ViewComponent của GitHub

  • Hotwire của Basecamp cũng là cùng một công nghệ

7 bình luận

 
chanhee 2021-03-03

Có vẻ serverside blazor của dotnet cũng hoạt động tương tự. Nhưng khi thực sự dùng cái này trong production thì thường gặp khá nhiều tình huống mệt mỏi...

Ngoài việc đóng gói cả server lẫn client vào Electron để phân phối thì tôi thật sự không thấy có ưu điểm gì rõ rệt.

 
kunggom 2021-03-04

Bạn có thể chia sẻ trải nghiệm sử dụng cụ thể được không?

 
andrewchaa 2021-03-03

Tuy nhiên, một khi đã tạo sẵn API endpoint thì có thể dùng cho cả mobile, web lẫn desktop nên tính đa dụng rất tốt; vì vậy tôi không chắc có thể gọi WebSocket là tương lai hay không.

 
colus001 2021-03-02

Elixir Phoenix LiveView và RoR Stimulus Reflex cũng là những khái niệm tương tự,

cũng có câu chuyện rằng Chris McCord ban đầu làm bằng Rails nhưng vì các vấn đề mang tính cấu trúc nên đã chuyển sang Elixir.

 
iolothebard 2021-03-02

Lại là cái tiếng quay vòng vòng...

 
xguru 2021-03-02

Có vẻ đây cũng là một góc nhìn đáng để tham khảo.

Tôi đồng ý rằng khi Javascript được dùng ở khắp mọi nơi, các khái niệm như SPA, SSR... đã trở nên quá nhiều và mọi thứ cũng trở nên phức tạp quá mức.

Vì WebSocket hỗ trợ xử lý hai chiều nên có vẻ nó sẽ được tận dụng nhiều hơn, nhưng cá nhân tôi vẫn hy vọng sẽ xuất hiện một thứ gì đó còn tiện hơn cả Hotwire.

 
galadbran 2021-03-04

(Có thể là do tôi không biết rõ lắm) nhưng dạo gần đây có một điểm tôi thấy khá buồn cười: với web app React + Laravel, nếu chỉ phía server thay đổi thì nội dung triển khai chỉ là ký hiệu phiên bản và vài dòng mã đã đổi, còn khi frontend thay đổi thì phải build frontend app và kích thước triển khai cũng tương đối lớn hơn nhiều nên tôi chỉ biết bật cười. Việc áp dụng tạm thời các tùy chỉnh gấp cũng khó nữa. Có lẽ là vì tôi cứ đem so với trải nghiệm phát triển trước đây.