2013-04-16 11 views
12

Sto sviluppando un grande progetto in Backbone (circa 8000 righe di javascript, escluse le librerie esterne) e sto considerando una migrazione ad AngularJS.Migrazione da Backbone a AngularJS: quanto è difficile?

Attualmente ho un sacco di codice che gestisce i cambiamenti DOM, il binding e lo slegamento degli eventi. Sto usando i baffi per il rendering dei modelli. La maggior parte dei dati viene caricata con AJAX e archiviata in modelli Backbone, alcuni dei quali utilizzano BackboneRelational. Sto usando circa 10 piccoli plugin jQuery per fare roba di interfaccia utente di fantasia.

Sono determinato a fare questa migrazione, tuttavia sono preoccupato per le mie scadenze. Quindi le domande sono:

  1. Quanto tempo è necessario per riscriverlo utilizzando AngularJS? Forse qualcuno può condividere la sua esperienza.
  2. È possibile iniziare ad utilizzare Angular in questo momento e implementare nuove funzionalità con esso, senza causare mal di testa quando è necessario interagire con la parte Backbone?
  3. Se deciderò di eseguire questo refactoring dopo la scadenza, quali pratiche consiglieresti per rendere più semplice la migrazione del codice?
+1

Anche se la tua domanda è interessante è probabilmente troppo ampia – lucuma

+0

Sto cercando di fare la stessa cosa. Cosa hai finito? Mente condividendo la tua esperienza? – fbynite

+0

Penso che sia stata una buona idea spostarmi su Angular. Il codice è molto più semplice e abbiamo alcuni test. Tuttavia, volevamo anche cambiare l'intera struttura del progetto (GUI separata dall'API) e dividere tutto HTML, JS e CSS in piccoli moduli indipendenti, e questo ci portò molto più tempo del previsto. Quindi il mio suggerimento è di concentrarsi su ottenere una versione pienamente funzionante in Angular ASAP e lasciare tutti gli altri refactor per dopo. Saluti :) – mik01aj

risposta

12

Ho portato un grosso 5k + linee di codice BB a Angular. Ho fatto questo port quando stavo iniziando con Angular e, se ricordo bene, l'ho fatto per un weekend e poi per 3 giorni. Quindi è stato fatto in 5 giorni ca. Devi notare che ho scritto l'intera applicazione BB (anche tutte le 5 linee) .. quindi è stato più facile per me portarlo.

Si potrebbe forse unire inizialmente BB e Angular (sviluppare nuove parti in Angular e portare lentamente le parti BB oltre ..) ma suggerirei di farlo, se possibile, eseguire prima il porting dell'applicazione completa.

Come regola generale, tutti i modelli e le raccolte Backbone devono essere inclusi in servizi (con lo stesso nome, forse?). Porting di modelli html e baffi dovrebbe essere un gioco da ragazzi. La parte che sarebbe leggermente ingannevole sono i tuoi plugin jquery. Ma se sono semplici, allora sarai in grado di usare il passthrough angular-ui jquery (http://angular-ui.github.io/).

+0

Questa risposta è stata rimossa! –

+0

Ciò significa che per un'app di media dimensione, occorrerebbero * troppi giorni * per portarla. Backbone e AngularJS sono due modelli e framework completamente diversi. Per prima cosa, dovresti considerare se davvero vuoi passare ad Angular ... –

+0

ganaraj e @ daniel.gindi Un anno dopo, quale framework useresti per un progetto di medie dimensioni? –