Estou trabalhando com uma empresa da web que está chegando a um ponto em que provavelmente precisará repensar o produto como um V2 - devido a superação de alguns de seus fundamentos e princípios do V1 que foram incorporados a praticamente tudo, desde o modelo de dados até o interfaces de usuário. Por várias razões, essa evolução pode envolver uma migração do CakePHP (com o qual a V1 foi criada) para o Symfony ou Zend.
Gostaria de pedir algumas opiniões experientes sobre como as pessoas podem ter gerenciado uma transição como essa para um site que possui tráfego significativo e gera receita. Não quero abrir uma discussão sobre os prós e contras de diferentes estruturas PHP ou por que essa migração pode ser necessária. Em vez disso, eu ficaria muito interessado em saber se existem algumas alternativas práticas para construir um V2 do zero ao lado do V1 por alguns meses - e travar um tempo precioso de codificação durante esse período intenso. Um exemplo dessa alternativa pode ser a migração de um aplicativo em partes por um longo período de tempo.
Ficaria grato por qualquer opinião de pessoas que possam ter gerenciado ou envolvido em tais transições.
Desde já, obrigado.
fonte
Aprenda o novo framework muito bem primeiro e verifique se ele atenderá às suas necessidades e se você realmente entenderá os paradigmas do novo framework. Você terá que jogar muito código, e tudo bem. O importante é que você esteja usando a nova estrutura da maneira como ela deveria ser usada, aproveitando ao máximo suas características e não sendo vinculado a formas de pensar a partir da sua estrutura antiga. Não tente usar o Zend "à maneira do CakePHP" *
Por exemplo, quando mudei para o uso do framework MVC de outros não-MVC, eu realmente não entendi como os modelos, visualizações e controladores deveriam funcionar, e escrevi um código terrível, porque não entendia o novo maneira de fazer as coisas. É melhor você seguir uma estrutura antiga inferior do que ter um aplicativo mal escrito em uma estrutura melhor.
* Eu também não estou familiarizado, então não sei como eles são semelhantes / comparáveis.
fonte
Don't try to use Zend "the CakePHP way
A primeira coisa a considerar é que reescrever um produto do zero é algo que você nunca deve fazer . Isso é particularmente verdade quando a versão atual já está lhe dando dinheiro. Basicamente, você passará 6 meses apenas para voltar para onde estava há 6 meses. Só que agora você tem mais bugs (ou pelo menos bugs diferentes ), reintroduziu bugs que já haviam sido corrigidos no código antigo, e você está seis meses atrás de onde poderia estar, se estivesse adicionando recursos à antiga base de código.
CakePHP, Zend e Symphony são basicamente os mesmos (ou seja, todos eles são estruturas no estilo MVC sobre PHP), então não tenho certeza de que vantagem você teria de mudar de um para o outro. Certamente existem diferenças no conjunto de recursos, mas será que valem a pena se atrasar o tempo todo? Pela quantidade de tempo que você gastaria reescrevendo do zero no Zend ou qualquer outra coisa, você poderia gastar a mesma quantidade de tempo adicionando os recursos necessários ao Cake?
Na minha opinião, seria melhor refatorar lentamente o código existente ao longo do tempo, em vez de começar completamente do zero com uma nova estrutura.
Claro, essa é só minha opinião. Eu sei que é tentador descartar códigos existentes (feios e antigos) e começar do zero, mas para produtos estabelecidos que já estão funcionando, geralmente há pouco a ganhar e muito a perder.
fonte