Mục tiêu của tôi là chuyển một ứng dụng web hiện có sang một ứng dụng trang RESTful (SPA). Hiện tại, tôi đang đánh giá một số khuôn khổ ứng dụng web Javascript.
Yêu cầu của tôi như sau:
- Lớp dữ liệu RESTful (như dữ liệu ember)
- MV * -cấu trúc
- Các tuyến đường động
- Hỗ trợ kiểm tra
- Mã hóa theo quy ước
- Hỗ trợ SEO
- Lịch sử trình duyệt-Hỗ trợ
- Tài liệu (API-) tốt
- Sẵn sàng sản xuất
- Cộng đồng sống
Xương sống
Ứng dụng hiện tại đang sử dụng backbone.js
. Nhìn chung, backbone.js
là một dự án tốt, nhưng tôi đang thiếu các cấu trúc được xác định rõ ràng để xác định điều gì sẽ xảy ra và mọi thứ phải được thực hiện như thế nào. Làm việc trong một nhóm lớn hơn với các nhà phát triển thay đổi, điều này dẫn đến một số loại mã không có cấu trúc, khó bảo trì và khó hiểu. Đây là lý do tại sao bây giờ tôi đang tìm kiếm một khuôn khổ, đã xác định tất cả những thứ này.
Ember
Tôi đã nhìn vào ember.js
những ngày cuối cùng. Cách tiếp cận có vẻ rất hứa hẹn với tôi. Nhưng, thật không may, mã thay đổi gần như hàng ngày. Vì vậy, tôi sẽ không gọi nó là sẵn sàng sản xuất. Và, thật không may, chúng tôi không thể chờ đợi nó là phiên bản 1.0. Nhưng tôi thực sự thích ý tưởng đằng sau khuôn khổ này.
Angular
Angular.js
cũng là một khuôn khổ phổ biến rộng rãi, được duy trì bởi Google. Nhưng tôi không thể làm quen với góc cạnh. Đối với tôi, cấu trúc có vẻ không rõ ràng, thiếu các giải thích về trách nhiệm tổng thể của từng phần trong khuôn khổ và việc triển khai cảm thấy mạch lạc. Xin nói thẳng: đây chỉ là ấn tượng cá nhân của tôi và có thể dựa trên kiến thức còn thiếu.
Người dơi và sao băng
Như tôi đã hiểu, cả hai framework đều cần một phần máy chủ. Và vì chúng tôi chỉ muốn một chương trình phụ trợ RESTful - bất kể ngôn ngữ, kỹ thuật hay phần mềm nào, đây không phải là những gì chúng tôi muốn. Hơn nữa, API phụ trợ đã tồn tại (RoR).
Knockout , CanJS và Spine
Tôi không đi sâu hơn vào ba ứng cử viên này. Có lẽ đây sẽ là bước tiếp theo của tôi.
Vì vậy, câu hỏi của tôi bây giờ:
- Tôi có thiếu bất kỳ khuôn khổ SPA tốt nào không?
- Bạn sẽ đề xuất / giới thiệu khuôn khổ nào?
- Bạn có tránh bất kỳ khuôn khổ nào đã đề cập không?
- Kinh nghiệm của bạn trong các ứng dụng SP lớn hơn là gì?
Tái bút: Tôi muốn giới thiệu một bài đăng blog tuyệt vời từ Steven Anderson (nhà phát triển cốt lõi của Knockout.js) về hội nghị "Throne of JS" (từ năm 2012) và các khuôn khổ javascript nói chung.
Tái bút: Vâng, tôi biết đã có một số câu hỏi trên SO. Nhưng vì sự phát triển quá nhanh và nhanh chóng của các SPA, nên hầu hết chúng đều đã lỗi thời.