2013-04-16 38 views
12

Tôi đang phát triển một dự án lớn trong Backbone (khoảng 8000 dòng javascript, ngoại trừ thư viện bên ngoài) và tôi đang xem xét việc di chuyển sang AngularJS.Di cư từ xương sống đến AngularJS - khó khăn như thế nào?

Hiện tại tôi có nhiều mã xử lý các thay đổi DOM, ràng buộc và hủy liên kết các sự kiện. Tôi đang sử dụng Mustache để tạo mẫu. Hầu hết dữ liệu được tải bằng AJAX và được lưu trữ trong các mô hình Backbone, một số trong số đó sử dụng BackboneRelational. Tôi đang sử dụng khoảng 10 plugin jQuery nhỏ để làm công cụ giao diện người dùng ưa thích.

Tôi quyết tâm thực hiện việc di chuyển này, tuy nhiên tôi lo lắng về thời hạn của mình. Vì vậy, các câu hỏi là:

  1. Mất bao lâu để viết lại bằng AngularJS? Có thể ai đó có thể chia sẻ kinh nghiệm của anh ấy.
  2. Có thể bắt đầu sử dụng Angular ngay bây giờ và thực hiện các chức năng mới với nó mà không gây ra đau đầu khi chúng ta cần tương tác với phần Backbone không?
  3. Nếu tôi quyết định thực hiện việc tái cấu trúc này sau thời hạn, bạn sẽ đề xuất phương pháp nào để làm cho mã dễ di chuyển hơn?
+1

Mặc dù câu hỏi của bạn thú vị nhưng nó có lẽ quá rộng – lucuma

+0

Tôi đang xem xét việc thực hiện tương tự. Bạn đã làm gì? Tâm trí chia sẻ kinh nghiệm của bạn? – fbynite

+0

Tôi nghĩ rằng đó là một ý tưởng tốt để di chuyển đến Angular. Mã đơn giản hơn nhiều và chúng tôi có một số thử nghiệm. Tuy nhiên, chúng tôi cũng muốn thay đổi toàn bộ cấu trúc dự án (GUI riêng biệt từ API) và phân chia tất cả HTML, JS và CSS thành các mô-đun độc lập nhỏ và điều này khiến chúng tôi mất nhiều thời gian hơn dự kiến. Vì vậy, đề nghị của tôi là tập trung vào việc có được phiên bản làm việc đầy đủ trong Angular ASAP, và để lại tất cả các bộ tái cấu trúc khác cho sau này. Chúc mừng :) – mik01aj

Trả lời

12

Tôi đã chuyển một mã 5k + lớn mã BB thành Góc. Tôi đã làm cổng này khi tôi lần đầu tiên bắt đầu với Angular và nếu tôi nhớ đúng, tôi đã làm nó trong một ngày cuối tuần và sau đó 3 ngày. Vì vậy, nó đã được thực hiện trong khoảng 5 ngày. Bạn phải lưu ý rằng tôi đã viết toàn bộ ứng dụng BB (tất cả các dòng 5k cũng vậy ..) vì vậy nó dễ dàng hơn cho tôi để chuyển. Bạn có lẽ có thể trộn BB và Angular ban đầu (phát triển các phần mới trong Angular và từ từ cổng BB phần trên ..) nhưng tôi sẽ đề nghị rằng nếu bạn có thể, sau đó làm các porting của ứng dụng hoàn chỉnh đầu tiên.

Như một quy luật chung, tất cả các Mô hình và Bộ sưu tập của Backbone của bạn nên đi vào các dịch vụ (có cùng tên?). Việc chuyển các mẫu html và Mustache phải là một miếng bánh. Các phần đó sẽ hơi khó khăn là plugin jquery của bạn. Nhưng nếu chúng là những cái đơn giản thì bạn sẽ có thể sử dụng tính năng chuyển tiếp góc cạnh (http://angular-ui.github.io/).

+0

Câu trả lời đó đã bị xóa! –

+0

Điều đó có nghĩa là đối với một ứng dụng kích thước trung bình, sẽ mất * quá nhiều ngày * đến cổng. Backbone và AngularJS là hai mô hình và khung công tác hoàn toàn khác nhau. Trước tiên bạn nên xem xét nếu bạn thực sự thực sự muốn di chuyển đến Angular ... –

+0

ganaraj và @ daniel.gindi Một năm sau, bạn sẽ sử dụng khung công tác nào cho một dự án cỡ trung bình? –

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