2012-12-10 20 views
10

Tôi đang xây dựng một ứng dụng web bằng cách sử dụng Node.js + Express.js + socket.io.js trên chương trình phụ trợ.Bất kỳ khung JavaScript nào của phía máy khách có tích hợp tốt với Node.js + Express.js + socket.io.js không?

Thực hiện bất kỳ khung công tác front-end phổ biến nào (Agility, Angular, Backbone, Closure, Dojo, Ember, GWT, jQuery, Knockback, Knockout, Cột sống, YUI, v.v.) " các ứng dụng?

Tôi muốn ứng dụng của mình có cảm giác "thời gian thực". Cụ thể, khi người dùng gửi biểu mẫu tôi muốn thông tin được gửi bằng cách sử dụng các ổ cắm web đến phần phụ trợ để xác thực và (nếu xác thực qua) được cập nhật trong cơ sở dữ liệu. Sau đó, phía máy chủ sẽ sử dụng ổ cắm web để gửi xác nhận rằng dữ liệu đã được lưu hoặc một số danh sách lỗi. Tôi sẽ sử dụng phản hồi của máy chủ để cập nhật trang bằng JavaScript.

Tôi biết tất cả điều này có thể được thực hiện với bất kỳ khung được liệt kê nào. Tôi quan tâm đến các tính năng của các khung công tác cụ thể sẽ giúp khung tích hợp tốt hơn với phần phụ trợ dựa trên nút Node so với các khung công tác khác.

+1

WebSockets rất tuyệt và mọi thứ, nhưng nếu bạn làm đúng, bạn có thể có hiệu suất rất cao đối với các ứng dụng "thông thường" từ HTTP cũ thuần túy. – Pointy

+0

Tôi có thể nói rằng Backbone, Knockout và CanJS làm một công việc tốt ở đây. Tôi không nghĩ rằng có bất kỳ sự khác biệt trong làm việc với bất kỳ trong số này bạn trích dẫn nếu bạn sử dụng một phụ trợ JSON RESTfull. – rcdmk

+0

Seconding @Pointy - ứng dụng của bạn có thể là một trường hợp sử dụng tuyệt vời cho websockets, nhưng ít nhất kịch bản bạn mô tả trong câu hỏi của bạn giống như một công việc cho ol 'xmlhttprequest tốt. Đây là khóa học bên cạnh điểm của câu hỏi của bạn, chỉ cần phải đi và nói nó anyway. – jevakallio

Trả lời

1

Phụ thuộc vào ứng dụng và trường hợp sử dụng của bạn. Tôi có xu hướng tạo ra phía máy chủ html, vì vậy tôi vẫn nhận được những lợi ích của seo - xương sống và các khung công tác giàu js khác ở phía máy khách có tác dụng phụ không may là không thể thu thập dữ liệu bởi Googlebot.

Nếu bạn yêu cầu xác thực để sử dụng ứng dụng của mình, thì xương sống hoặc một khung công tác khác được giới thiệu tại TODOMVC có thể là một giải pháp tốt.

Thông thường khi sử dụng socket.io ở phía máy chủ, bạn cũng sẽ sử dụng nó ở phía máy khách.

3

Ember cũng thực sự phù hợp.

Xem số convoy của Charles Jolley có thể rất hữu ích cho tích hợp nội dung phía máy khách.

Gói Ember của NPM cũng đi kèm với một ứng dụng mẫu có thể là một khởi đầu tốt (dựa trên convoy).

1

Tôi nghĩ angular.js là tốt nhất cho các ứng dụng thời gian thực.

  • Binding dữ liệu và Dependency Injection
  • công cụ kiểm tra
  • Dễ REST của

Đây là some information về khuôn khổ.

+0

Tôi thấy rằng Angular bước trên thể hiện rất nhiều - kiểm soát định tuyến vv (để thể hiện là chỉ có để phục vụ tĩnh) - thấy nó khó xử nhưng đó là tôi. – electblake

Các vấn đề liên quan