Estoy trabajando con una empresa web que se está acercando a un punto en el que es probable que deba repensar el producto como un V2, debido a la superación de algunos de sus fundamentos y principios V1 que se han incorporado en prácticamente todo, desde el modelo de datos hasta el interfaces de usuario. Por varias razones, esta evolución podría implicar una migración desde CakePHP (con el que se ha construido el V1) a Symfony o Zend.
Me gustaría pedir algunos puntos de vista experimentados sobre cómo las personas podrían haber logrado una transición como esta para un sitio web que tiene un tráfico significativo y genera ingresos. No quiero abrir una discusión sobre los pros y los contras de los diferentes marcos PHP, o por qué podría ser necesaria esta migración. Por el contrario, estaría muy interesado en saber si existen algunas alternativas prácticas para construir esencialmente un V2 desde cero junto con el V1 durante un par de meses, y bloquear el valioso tiempo de codificación durante este período intenso. Un ejemplo de tal alternativa podría ser migrar una aplicación en partes durante un período de tiempo más largo.
Estaría agradecido por cualquier punto de vista de personas que podrían haber manejado o participado en tales transiciones.
Gracias por adelantado.
fuente
Primero, aprenda muy bien el nuevo marco y asegúrese de que satisfaga sus necesidades, y que realmente entienda los paradigmas del nuevo marco. Tendrás que tirar mucho código, y eso está bien. Lo importante es que está utilizando el nuevo marco de la manera en que estaba destinado a ser utilizado, aprovechando al máximo sus características y no está vinculado a las formas de pensar de su antiguo marco. No intentes usar Zend "al estilo CakePHP" *
Por ejemplo, cuando pasé a usar MVC framework de anteriores que no eran MVC, realmente no entendí cómo se suponía que los modelos, las vistas y los controladores funcionaban, y escribí un código de aspecto terrible porque no entendía el nuevo forma de hacer las cosas. Sería mejor quedarse con un marco antiguo inferior que tener una aplicación mal escrita en un marco mejor.
* Tampoco estoy familiarizado, así que no sé qué tan similares / comparables son.
fuente
Don't try to use Zend "the CakePHP way
Lo primero que debe considerar es que reescribir un producto desde cero es algo que nunca debe hacer . Esto es particularmente cierto cuando la versión actual ya le está haciendo ganar dinero. Básicamente, pasarás 6 meses de tiempo, solo para volver a donde estabas hace 6 meses. Solo ahora, tiene más errores (o al menos, errores diferentes ), errores reintroducidos que ya se habían corregido en el código anterior, y tiene seis meses de retraso en donde podría haber estado, si hubiera estado agregando características a la antigua base de código.
CakePHP, Zend y Symphony son en gran medida iguales (es decir, todos son marcos de estilo MVC además de PHP), por lo que no estoy seguro de qué ventaja tendría pasar de uno a otro. Ciertamente hay diferencias en el conjunto de características, pero ¿realmente valen la pena retroceder todo ese tiempo? Por la cantidad de tiempo que pasaría reescribiendo desde cero en Zend o lo que sea, ¿podría pasar la misma cantidad de tiempo agregando las funciones requeridas a Cake?
En mi opinión, sería mejor refactorizar lentamente su código existente con el tiempo, en lugar de comenzar completamente desde cero con un nuevo marco.
Por supuesto, esta es solo mi opinion. Sé que es tentador abandonar el código existente (feo, antiguo) y comenzar desde cero, pero para los productos establecidos que ya están funcionando, generalmente hay poco que ganar y mucho que perder.
fuente