Để đưa ra một câu trả lời ngắn gọn, đơn giản: đối với một chương trình phụ trợ RESTful, hiện tại, bạn nên sử dụng Backbone.
Để đưa ra một câu trả lời phức tạp hơn: Nó thực sự phụ thuộc vào những gì bạn đang làm. Như những người khác đã nói, Ember được thiết kế cho những thứ khác nhau và sẽ thu hút nhiều người khác nhau. Câu trả lời ngắn gọn của tôi dựa trên việc bạn bao gồm yêu cầu RESTful.
Hiện tại, Ember-Data (có vẻ là cơ chế hoạt động bền bỉ mặc định trong Ember) còn lâu mới sẵn sàng sản xuất. Điều này có nghĩa là nó có khá nhiều lỗi và quan trọng là không hỗ trợ các URI lồng nhau (ví dụ: / posts / 2 / comments / 4556). Nếu REST là yêu cầu của bạn, thì bạn sẽ phải giải quyết vấn đề này trong lúc này nếu bạn chọn Ember (tức là bạn sẽ phải hack nó vào, chờ đợi, tự thực hiện một cái gì đó như Ember-Data từ đầu, hoặc không sử dụng -very-RESTful URI). Ember-Data không hoàn toàn là một phần của Ember, vì vậy điều này hoàn toàn có thể xảy ra.
Sự khác biệt chính giữa cả hai, ngoài kích thước, về cơ bản là:
Ember cố gắng làm nhiều việc nhất có thể cho bạn để bạn không phải viết nhiều mã. Nó rất phân cấp và, nếu ứng dụng của bạn cũng rất phân cấp, có thể sẽ rất phù hợp. Bởi vì nó có rất nhiều tác dụng đối với bạn, có thể khó tìm ra lỗi đến từ đâu và lý do tại sao hành vi không mong muốn lại xảy ra (có rất nhiều "phép thuật"). Nếu bạn có một ứng dụng phù hợp một cách tự nhiên với loại ứng dụng mà Ember mong đợi bạn đang xây dựng, điều này có thể sẽ không thành vấn đề.
Backbone cố gắng làm ít nhất có thể cho bạn để bạn có thể suy luận về những gì đang diễn ra và xây dựng một kiến trúc phù hợp với ứng dụng của bạn (thay vì xây dựng một ứng dụng phù hợp với kiến trúc của khung mà bạn đang sử dụng). Bắt đầu dễ dàng hơn rất nhiều nhưng, trừ khi bạn cẩn thận, bạn có thể kết thúc với một mớ hỗn độn rất nhanh chóng. Nó không thực hiện những thứ như thuộc tính được tính toán, sự kiện tự động hủy liên kết, v.v. và giao chúng cho bạn, vì vậy bạn sẽ cần phải tự mình triển khai nhiều thứ (hoặc ít nhất là chọn các thư viện làm điều đó cho bạn), mặc dù đó là đúng hơn là toàn bộ điểm.
Cập nhật : Có vẻ như gần đây, Ember hiện đã hỗ trợ các URI lồng nhau, vì vậy tôi cho rằng câu hỏi đặt ra là bạn thích bao nhiêu phép thuật và liệu Ember có phù hợp với ứng dụng của bạn hay không.