2013-04-16 13 views
12

Rozwijam duży projekt w Backbone (około 8000 linii javascript, z wyłączeniem bibliotek zewnętrznych) i rozważam migrację do AngularJS.Migracja od kręgosłupa do AngularJS - jak trudna jest?

Obecnie mam dużo kodu, który obsługuje zmiany DOM, wiązanie i rozłączanie zdarzeń. Używam wąsy do renderowania szablonu. Większość danych jest ładowana za pomocą AJAX i przechowywana w modelach szkieletowych, z których niektóre używają BackboneRelational. Używam około 10 małych wtyczek jQuery do tworzenia wymyślnych elementów interfejsu użytkownika.

Jestem zdeterminowany, aby przeprowadzić tę migrację, ale martwię się o moje terminy. Tak więc pytania są następujące:

  1. Ile czasu potrzeba na przepisanie za pomocą AngularJS? Może ktoś może podzielić się swoim doświadczeniem.
  2. Czy można teraz rozpocząć korzystanie z Angular i zaimplementować w nim nowe funkcje, nie powodując bólów głowy, gdy potrzebujemy interakcji z częścią kręgosłupa?
  3. Jeśli zdecyduję się zrobić to refaktoryzacja po terminie, jakie praktyki zaleca się, aby ułatwić migrację kodu?
+1

Chociaż twoje pytanie jest interesujące, prawdopodobnie jest zbyt szerokie – lucuma

+0

Szukam tego samego. Co w końcu robiłeś? Umysł dzielący się doświadczeniem? – fbynite

+0

Myślę, że to był dobry pomysł, aby przejść do Angular. Kod jest znacznie prostszy i mamy kilka testów. Chcieliśmy jednak również zmienić całą strukturę projektu (oddzielny interfejs GUI od API) i podzielić cały HTML, JS i CSS na małe, niezależne moduły, co zajęło nam znacznie więcej czasu, niż się spodziewaliśmy. Moją sugestią jest skupienie się na uzyskaniu w pełni sprawnej wersji w Angular ASAP i pozostawienie wszystkich innych czynników na później. Pozdrawiam :) – mik01aj

Odpowiedz

12

Przesłałem duże 5k + linie kodu BB do Angular. Zrobiłem ten port, kiedy zaczynałem od Angular i jeśli dobrze pamiętam, robiłem to przez weekend, a potem przez 3 dni. Tak zostało zrobione w ciągu 5 dni. Musisz pamiętać, że napisałem całą aplikację BB (wszystkie z 5-krotnych linii), więc łatwiej mi było ją przesłać.

Najpierw możesz mieszać BB i Angular (rozwijaj nowe części w Angular i powoli przesuwaj części BB ponad ..), ale proponuję, jeśli możesz, najpierw wykonaj portowanie całej aplikacji.

Zgodnie z ogólną zasadą wszystkie modele i kolekcje szkieletu powinny przechodzić do usług (o tej samej nazwie prawdopodobnie?). Przenoszenie szablonów html i Moustache powinno być łatwe. Częścią, która będzie nieco trudna, są wtyczki jquery. Ale jeśli są one proste, wtedy będziesz mógł użyć przechodzącego przez jockery kątowe (http://angular-ui.github.io/).

+0

Ta odpowiedź została usunięta! –

+0

Co oznacza, że ​​w przypadku aplikacji średniej wielkości przeniesienie portu zajęłoby * zbyt wiele dni *. Backbone i AngularJS to dwa zupełnie różne modele i frameworki. Najpierw powinieneś się zastanowić, czy naprawdę chcesz się przenieść do Angular ... –

+0

ganaraj i @ daniel.gindi Rok później, jakie ramy wykorzystasz do projektu średniej wielkości? –