2016-06-03 24 views
6

Quali sono i vantaggi e gli svantaggi dell'utilizzo di ngrx/router anziché del nuovo router angular2. Al momento uso il deprecato router beta e voglio valutare le mie opportunità.router ngrx-router vs angular2

+2

Angular2 router e router deprecati attualmente sono un po 'in un limbo. Non è chiaro in quale direzione il team Angular andrà avanti. il router deprecato è uh, deprecato ;-) e il router è incompleto e non chiaro se lo sviluppo continuerà. Il ngrx sembra abbastanza potente e completo. Non so se funzionerà con il compilatore offline di Angulars. Speriamo che il team di Angular fornirà presto maggiori informazioni. –

+2

Il nuovo 'RC.3' utilizza alcuni concetti del router ngrx e quindi è diventato più simile. –

risposta

7

Ecco un confronto al router Beta ora deprecato https://gitter.im/ngrx/store?at=5710e4fc5cd40114649b9399

le principali differenze tra il router e componente NGRX/router sono le decisioni che stanno dietro il progetto. Il router componente adotta un approccio più interno quando si tratta di componenti se si osservano i ganci del ciclo di vita. Il nostro router non richiede che il router si agganci ai componenti in modo che qualsiasi componente sia instradabile. Un'altra differenza è l'uso di osservabili. Il router componente utilizza le promesse per gestire il suo ciclo di vita, mentre il nostro utilizza le osservabili perché si prestano a un approccio più reattivo. I nostri parametri di percorso/interrogazione sono osservabili, il che rende riutilizzabili i componenti quando i parametri cambiano più facilmente. Il nostro router ha a disposizione più flussi per iscriversi e reagire. L'idea generale è che l'URL del browser stesso sia uno stream e stiamo trasformando tale stream in una vista di percorsi renderizzati. Entrambi i router hanno un concetto di caricamento lento, protezione dei percorsi, risoluzione dei dati e degli eventi del ciclo di vita. Entrambi hanno ancora lacune che devono essere riempite. Se si preferisce un approccio più osservabile, il nostro router funziona molto bene con questo.

Il nuovo router angular2 sarà un sacco più vicino a quello NGRX/router è oggi, quindi se si sta utilizzando il router beta deprecato ora, rimanere su quella fino a quando il nuovo router viene rilasciato e quindi migrare. Se si partisse dal nulla, direi use ngrx/router perché fornisce un percorso di migrazione relativamente facile al nuovo router una volta pronto.