Migrazione da un framework PHP a un altro


10

Sto lavorando con una società web che si sta avvicinando a un punto in cui probabilmente avrà bisogno di ripensare il prodotto come un V2 - a causa della crescita di alcune delle sue basi e dei principi V1 che sono stati integrati praticamente in tutto, dal modello di dati al interfacce utente. Per vari motivi, questa evoluzione potrebbe comportare una migrazione da CakePHP (con cui è stato costruito il V1) a Symfony o Zend.

Vorrei chiedere alcune opinioni con esperienza su come le persone avrebbero potuto gestire una transizione come questa per un sito Web che ha un traffico significativo e genera entrate. Non voglio aprire una discussione sui pro e contro di diversi framework PHP o sul 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 insieme al V1 per un paio di mesi - e bloccare i preziosi tempi 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 da parte di persone che avrebbero potuto gestire o essere state coinvolte in tali transizioni.

Grazie in anticipo.

Risposte:


2

Se si tratta di un'applicazione commerciale che fa parte della tua azienda, potresti fare di meglio senza un framework di terze parti. Quindi, quando arriverà il momento della v3, non dovrai più affrontare lo stesso problema. E non ti troverai mai in una situazione in cui devi continuare a regolare il codice in risposta agli aggiornamenti del framework. I frame sono l'ideale per avviare rapidamente le attività, ma se questo è qualcosa a) fondamentale per la tua azienda eb) mantenuto a lungo termine, il valore del framework diminuisce.


1
Grazie - Prospettiva utile, sebbene i framework rendano la vita più semplice rispetto a così tante cose che è difficile intrattenere l'idea di non usarle. Possono anche essere personalizzati e non devono sempre essere aggiornati a meno che non sia realmente necessario farlo (ad es. Vulnerabilità di sicurezza, mancanza di supporto per X, ecc.). Accettare questa risposta in quanto riguarda davvero una "soluzione" anziché cercare di capire perché potrebbe essere necessario il cambio di framework.
Tom,

1
Questa risposta non è affatto una soluzione.
James,

6

Per prima cosa, impara molto bene il nuovo framework e assicurati che soddisfi le tue esigenze e che tu abbia davvero sviluppato i paradigmi del nuovo framework. Dovrai buttare via un sacco di codice, e va bene. L'importante è che stai usando il nuovo framework nel modo in cui doveva essere usato, sfruttando appieno le sue caratteristiche e non essere legato a modi di pensare dal tuo vecchio framework. Non provare a usare Zend "il modo CakePHP" *

Ad esempio, quando sono passato all'utilizzo del framework MVC da quelli precedenti non MVC, non ho davvero capito come avrebbero dovuto funzionare modelli, viste e controller e ho scritto un codice dall'aspetto terribile perché non capivo il nuovo modo di fare le cose. Sarebbe meglio attenersi a un vecchio framework inferiore rispetto ad avere un'app scritta male su un framework migliore.

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


+1 perDon't try to use Zend "the CakePHP way
Tim Post

sai quando le persone dicono "+1" di solito danno il +1 votando la risposta;)
GSto

Spiacente, singhiozzo di Internet. :) TCP su piccione viaggiatore qui.
Tim Post

Grazie per la risposta utile Mi sono dilettato sia in Zend che in CakePHP, e sebbene sia d'accordo con il tuo commento, in linea di principio non posso "accettarlo" quando non è esperienza pratica di parlare.
Tom,

5

La prima cosa da considerare è che riscrivere un prodotto da zero è qualcosa che non dovresti mai fare . Ciò è particolarmente vero quando la versione attuale ti sta già facendo guadagnare denaro. Fondamentalmente, trascorrerai 6 mesi di tempo, solo per tornare a dove eri 6 mesi fa. Solo ora hai più bug (o almeno diversi bug), reintrodotti bug che erano già stati corretti nel vecchio codice e sei sei indietro rispetto a dove avresti potuto essere, se fossi stato aggiunta di funzionalità alla vecchia base di codice.

CakePHP, Zend e Symphony sono sostanzialmente gli stessi (ovvero sono tutti framework in stile MVC in cima a PHP), quindi non sono sicuro di quale vantaggio avresti passato dall'uno all'altro. Ci sono certamente differenze nel set di funzionalità, ma vale davvero la pena riposarsi tutto quel tempo? Per la quantità di tempo che passeresti a riscrivere da zero in Zend o qualsiasi altra cosa, potresti dedicare lo stesso tempo ad aggiungere le funzionalità richieste a Cake?

A mio avviso, faresti meglio a riformattare lentamente il codice esistente nel tempo, piuttosto che iniziare completamente da zero con un nuovo framework.

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


Esattamente quello che stavo pensando. Non ha senso riscrivere qui, perché non sembra esserci un caso forte che sarà una decisione economica.
EricBoersma,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.