2011-01-28 37 views
19

Tôi đang đánh giá Backbone.js để giữ dữ liệu và giao diện người dùng được đồng bộ hóa trong ứng dụng web của tôi. Tuy nhiên, phần lớn giá trị của Backbone dường như nằm trong việc sử dụng các giao diện RESTful. Mặc dù tôi có thể thêm bản sao lưu phía máy chủ trong tương lai, trường hợp sử dụng chính của tôi liên quan đến việc lưu trữ tất cả dữ liệu ngoại tuyến bằng cách sử dụng bộ nhớ cục bộ HTML5.Sử dụng Backbone.js ngoại tuyến

Có quá tải cần thiết cho một trường hợp sử dụng như vậy không? Nếu vậy, có giải pháp nào tốt hơn hay không, chỉ tập trung vào việc cập nhật giao diện người dùng khi thay đổi dữ liệu và ngược lại? (Tôi cũng đang xem xét Knockout và Javascript MVC.)

EDIT: Tôi hiện cũng đang xem xét Angular.jsjQuery Data Link.

Trả lời

28

Backbone.js hoạt động tốt với bộ nhớ cục bộ giống như với các truy vấn RESTful.

Tôi là một học-by-ví dụ loại con trai vì vậy đây là một số liên kết để giúp bạn bắt đầu:

9

Trong các tuần qua, tôi đã đánh giá giải pháp khác nhau cho kịch bản gần với bạn; là một dự án được thực hiện trong thời gian rảnh rỗi cá nhân của tôi và không phải là một lập trình viên Javascript tốt, tất cả những gì tôi cần là một thứ dễ học để tránh bắt đầu từ đầu.

Không ngạc nhiên, tôi đã có cùng một ứng cử viên: Backbone.js, Javascript MVC và Knockout.js.

Backbone.js thắng:

  • Tôi đã không được yêu cầu để làm theo công ước hoặc thay thế những gì đã có trong nơi
  • Tôi đã easly hack trong codebase của mình để hiểu những gì không rõ ràng từ tài liệu
  • tôi đã bỏ qua thành công một số lượng lớn các tính năng của nó đó là không thú vị đối với tôi
  • Nó đã cho hiệu suất chấp nhận được trên các trang bận rộn
  • Nó hoạt động

Backbone.js có trọng lượng nhẹ và tương đối không có ma thuật; bạn có thể sẽ sử dụng một tập con nhỏ của tính năng của nó nhưng nó đã chứng minh một nền tảng vững chắc để phát triển giải pháp của bạn.

1

Bạn cũng có thể xem AFrameJS. Tôi đã tạo ra một bằng chứng hoàn hảo về nguyên tắc note-taking app hoạt động ngoại tuyến bằng cách sử dụng đặc tả HTML5 WebSQL, nhưng cũng muốn tạo một bộ điều hợp sử dụng localStorage. Ý kiến ​​cá nhân của tôi (và tôi thiên vị) là việc sử dụng thư viện MVC của bất kỳ loại nào sẽ giúp bạn về lâu dài - giá trị của các thư viện như Backbone, Knockout và AFrame nằm trong khả năng giảm tải nhận thức của nhà phát triển bằng cách thực thi sự phân tách mối quan tâm tốt. Chức năng liên quan đến dữ liệu nằm trong các mô hình, hiển thị dữ liệu đó trong Chế độ xem và keo được giữ trong Bộ điều khiển.Việc tách ba khái niệm này có thể có vẻ thoạt nhìn lúc đầu, nhưng kết quả cuối cùng là mã dễ phát triển, dễ kiểm tra hơn, dễ bảo trì hơn và dễ sử dụng hơn. Một hướng dẫn cơ bản về việc sử dụng AFrameJS có thể được tìm thấy trên trang web của tôi tại địa chỉ: http://www.shanetomlinson.com/2011/aframejs-tutorial-for-noobs/

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