Migrazione da un framework PHP a un altro

9

Sto lavorando con una società web che si sta avvicinando a un punto in cui sarà probabilmente necessario ripensare il prodotto come V2, a causa dell'eccessiva crescita di alcune delle sue fondamenta V1 e dei principi che sono stati incorporati praticamente in tutto, dai dati modello per le interfacce utente. Per varie ragioni, questa evoluzione potrebbe comportare una migrazione da CakePHP (con cui è stato costruito il V1) a Symfony o Zend.

Vorrei chiedere alcune opinioni esperte su come le persone potrebbero aver gestito una transizione come questa per un sito web che ha un traffico significativo e genera entrate. Non voglio aprire una discussione sui pro e amp; con di diversi framework PHP, o perché questa migrazione potrebbe essere necessaria. Piuttosto, sarei molto interessato a sapere se ci sono alcune alternative pratiche per costruire essenzialmente un V2 da zero a fianco del V1 per un paio di mesi - e bloccando il prezioso tempo di codifica per la durata di questo intenso periodo. Un esempio di tale alternativa potrebbe essere la migrazione di un'app in parti per un periodo di tempo più lungo.

Sarei grato per qualsiasi opinione di persone che potrebbero essere state gestite o coinvolte in tali transizioni.

Grazie in anticipo.

    
posta Tom 10.11.2010 - 01:52
fonte

3 risposte

1

Se si tratta di un'applicazione commerciale che fa parte della tua azienda, potresti stare meglio senza un framework di terze parti. Poi, quando arriva il momento della v3, non dovrai affrontare di nuovo lo stesso problema. E non sarai mai in una situazione in cui devi continuare ad adattare il tuo codice in risposta agli aggiornamenti del framework. I framework sono ottimi per far funzionare le cose rapidamente, ma se questo è qualcosa di essenziale per il tuo business eb) mantenute a lungo termine, il valore del framework diminuisce.

    
risposta data 10.11.2010 - 05:57
fonte
6

Per prima cosa, impara molto bene il nuovo framework e assicurati che soddisfi le tue esigenze e che tu sia davvero contento dei paradigmi del nuovo framework. Dovrai buttar fuori un sacco di codice, e va bene. L'importante è che tu stia utilizzando il nuovo framework nel modo in cui è stato concepito per essere utilizzato, sfruttando appieno le sue funzionalità e non essendo legato a modi di pensare dal tuo vecchio framework. Non provare a utilizzare Zend "the CakePHP way" *

Ad esempio, quando mi sono trasferito a utilizzare il framework MVC da precedenti non MVC, non ho capito come avrebbero dovuto funzionare i modelli, le visualizzazioni e i controller e ho scritto un codice terribile perché non l'ho fatto capire il nuovo modo di fare le cose. Faresti meglio ad attenersi a una struttura precedente di qualità inferiore rispetto a un'app scritta male su un framework migliore.

* Non ho familiarità con nessuno dei due, quindi non so quanto siano simili / comparabili.

    
risposta data 10.11.2010 - 04:02
fonte
4

La prima cosa da considerare è che riscrivere un prodotto da zero è qualcosa che non dovresti mai fare . Questo è particolarmente vero quando la versione attuale ti sta già facendo guadagnare soldi. Fondamentalmente, trascorrerai 6 mesi di tempo, solo per tornare dove sei stato 6 mesi fa. Solo ora hai più bug (o almeno bug diversi ), hai reintrodotto bug che erano già stati corretti nel vecchio codice e sei sei mesi indietro dove potrebbe essere stato, se avessi aggiunto funzionalità al vecchio codebase.

CakePHP, Zend e Symphony sono in gran parte gli stessi (vale a dire sono tutti framework in stile MVC su PHP), quindi non sono sicuro di quale vantaggio avresti spostato da uno all'altro. Sicuramente ci sono delle differenze nel set di funzionalità, ma vale davvero la pena ricandidarsi per tutto quel tempo? Per il tempo che trascorrerai a riscrivere da zero in Zend o altro, potresti passare la stessa quantità di tempo ad aggiungere le funzionalità necessarie a Cake?

Secondo me, starai meglio a rifare lentamente il codice esistente nel tempo, invece di iniziare completamente da zero con un nuovo framework.

Naturalmente, questa è solo la mia opinione. So che è allettante abbandonare il codice esistente (brutto, vecchio) e ricominciare da zero, ma per i prodotti già consolidati che stanno già lavorando, di solito c'è poco da guadagnare e molto da perdere.

    
risposta data 10.11.2010 - 05:49
fonte

Leggi altre domande sui tag