2012-11-02 25 views
8

Tôi mới dùng backbone.js và đang làm việc theo cách của mình thông qua một số hướng dẫn. Tôi đã tìm thấy một cặp vợ chồng có vẻ tốt, nhưng có một số mâu thuẫn trong cách họ thực hiện vì vậy tôi đang tìm kiếm một chút hướng dẫn về thực hành tốt nhất.backbone.js noob nhầm lẫn bởi các hướng dẫn xung đột

Dưới đây là các hướng dẫn Tôi đang học hỏi từ:

Câu hỏi của tôi là:

  1. Các tut đầu tiên tận dụng Backbone.Controller nhưng không phải Backbone.Collection. Cái thứ hai ngược lại. Đó là phương pháp hay nhất cho "C" trong xương sống quay trên MVC?
  2. Lệnh đầu tiên xác định các url trong Mô hình, trong khi thứ hai xác định các url trong Bộ sưu tập. Đó là thực hành tốt hơn?
  3. Người thứ hai sử dụng Backbone.Router, trong khi người thứ nhất thì không. Phương pháp nào là tốt nhất?

Hoặc nếu ai đó có thể đề xuất hướng dẫn giới thiệu tốt hơn tuân theo các phương pháp hay nhất, tôi rất sẵn lòng học hỏi từ đó. Thật không may vì sự mâu thuẫn giữa hai điều này, tôi lo ngại rằng tôi có thể học một số thói quen xấu ngoài cổng.

Xin cảm ơn trước.

Trả lời

3

Backbone.Controller là renamed to Backbone.Router năm ngoái. Tôi đoán bạn đã đọc một hướng dẫn cũ.

BackboneTutorials.com là hướng dẫn thích hợp để bắt đầu.

Xây dựng một ứng dụng nhỏ khi bạn học và bạn sẽ biết Backbone làm gì cho bạn.

Cách tốt nhất để tìm hiểu Xương sống là đi qua annotated source code. Mỗi dòng được nhận xét và giải thích.

Sử dụng dev version thay vì phiên bản được rút gọn khi xây dựng ứng dụng của bạn. Điều này giúp gỡ lỗi.

Nếu bạn đang đọc sách, hãy xem sốcủa Addy Osmani, một cuốn sách điện tử miễn phí. Cuốn sách tuyệt vời, nhưng khá dài dòng. Bạn có thể sử dụng nó làm tài liệu tham khảo.

Xem this question trên Quora để biết danh sách tài nguyên dứt khoát;

Đừng lo lắng quá nhiều về những gì 'V' và những gì 'C' và spin của xương sống trên MVC. Khuôn khổ thực hiện một công việc tuyệt vời để tách mã tương tác với máy chủ và mã thực hiện logic khách hàng cốt lõi. Templating và updation của DOM Elements được để lại cho bạn. Nó khá tối giản theo nghĩa đó. Backbone cung cấp Events giúp các phần khác nhau tương tác với nhau.

+1

Tôi không biết Bộ điều khiển đã được đổi tên thành Bộ định tuyến, vì vậy đó phải là cờ đỏ khi xem hướng dẫn đã lỗi thời. Cảm ơn bạn đã làm rõ. –

1

đây là một câu hỏi hay. Mặc dù, Backbone không lấy vị trí về cách bạn nên tổ chức mã của mình.

Vì vậy, câu trả lời thực sự là: nó phụ thuộc.

Tùy thuộc vào nhu cầu của ứng dụng và cách bạn sử dụng để lập trình.

Nếu bạn muốn một cái nhìn tổng quan của một số thực hành tốt nhất, tôi muốn giới thiệu bạn đến các dự án Backbone Boilerplate: https://github.com/tbranyen/backbone-boilerplate

Dự án này là khá vững chắc, và thực sự đã giúp tôi ra khi bắt đầu.

Sau đó, để trả lời câu hỏi của bạn (điều này có thể cảm thấy opiniated, và nó thực sự là):

: Backbone chủ yếu là một MV * khuôn khổ (Model-View-Dù). Logic điều khiển chủ yếu sống trong khung nhìn Backbone, và điều này là phù hợp cho việc phát triển giao diện người dùng vì logic thường thực sự gắn liền với giao diện người dùng (vì chúng ta chủ yếu là các giao diện mã hóa). Xương sống không được tích hợp sẵn với bộ điều khiển, nhưng nếu bạn thích loại tổ chức này, chỉ cần xây dựng tổ chức của riêng bạn.

: Url phụ thuộc vào nhu cầu của bạn. Nếu bạn đang tìm nạp bộ sưu tập đầy đủ, hãy thiết lập bộ sưu tập, nếu bạn chỉ tìm nạp (hoặc có thể lưu) một mô hình, hãy đặt nó trên mô hình. Những điều này cũng sống tốt với nhau.

: Giới thiệu về bộ định tuyến, nếu bạn đang xây dựng nhiều trang/phần trên ứng dụng của mình, hãy sử dụng chúng. Nhưng hãy cẩn thận khi không sử dụng routes như action như bạn sẽ làm trong RESTful APIs, điều này sẽ phần lớn thời gian mang lại vấn đề cuối cùng (người dùng nhấn nút quay lại, vv). Vì vậy, hãy sử dụng các tuyến đường nếu bạn muốn quản lý các trang.

Hy vọng trợ giúp này !!

1

Tôi sẽ trả lời từ kinh nghiệm:

Q: Thứ hai làm điều ngược lại. Đó là phương pháp hay nhất cho "C" trong xương sống quay trên MVC?

A: Không có Controller trong Backbone hiện tại http://backbonejs.org/ - "C" xảy ra trong Chế độ xem (hầu hết các trường hợp) hoặc trong Bộ định tuyến (xem bên dưới).

Q: Lệnh đầu tiên xác định url trong Mô hình, trong khi thứ hai xác định url trong Bộ sưu tập. Đó là thực hành tốt hơn?

A: Có những trường hợp bạn không cần bộ sưu tập. Trong trường hợp bạn không, mô hình của bạn hoàn toàn cần một URL. Khi bạn có một bộ sưu tập, URL bạn chỉ định cho Bộ sưu tập sẽ áp dụng cho các mô hình của nó.

Q: Người thứ hai sử dụng Backbone.Router, trong khi người thứ nhất thì không. Phương pháp nào là tốt nhất?

A: Quy tắc chung - bạn muốn sử dụng Bộ định tuyến trong 2 trường hợp: 1) khi bạn muốn có lịch sử và 2) khi bạn muốn có liên kết cố định. Nếu không, bạn không thực sự cần router.