Współpracuję z firmą internetową, która zbliża się do punktu, w którym prawdopodobnie będzie musiał ponownie przemyśleć produkt jako V2 - ze względu na przerośnięcie niektórych jego podstaw i zasad V1, które zostały wbudowane w praktycznie wszystko, od modelu danych po interfejsy użytkownika. Z różnych powodów ta ewolucja może obejmować migrację z CakePHP (z którą zbudowano V1) do Symfony lub Zend.
Chciałbym poprosić o pewne doświadczone opinie na temat tego, jak ludzie mogli poradzić sobie z takim przejściem dla witryny o dużym ruchu i generującej przychody. Nie chcę rozpoczynać dyskusji na temat zalet i wad różnych frameworków PHP, ani dlaczego ta migracja może być potrzebna. Byłbym raczej bardzo zainteresowany usłyszeniem, czy istnieją jakieś praktyczne alternatywy dla zasadniczo zbudowania V2 od zera obok V1 przez kilka miesięcy - i zablokowania cennego czasu kodowania na czas tego intensywnego okresu. Przykładem takiej alternatywy może być migracja aplikacji w częściach w dłuższym okresie.
Byłbym wdzięczny za wszelkie opinie ludzi, którzy mogliby lub byli zaangażowani w takie przejścia.
Z góry dziękuję.
źródło
Naucz się najpierw nowego frameworka i upewnij się, że spełni on twoje potrzeby, i że naprawdę rozumiesz paradygmaty nowego frameworka. Będziesz musiał wyrzucić dużo kodu i to jest w porządku. Ważne jest to, że używasz nowego frameworku w taki sposób, w jaki miał być używany, w pełni wykorzystując jego funkcje i nie będąc przywiązanym do sposobu myślenia ze starego frameworka. Nie próbuj używać Zend „w sposób CakePHP” *
Na przykład, kiedy przeszedłem do korzystania z frameworka MVC z poprzednich modeli innych niż MVC, tak naprawdę nie miałem pojęcia, jak powinny działać modele, widoki i kontrolery, i napisałem okropnie wyglądający kod, ponieważ nie rozumiałem nowego sposób robienia rzeczy. Lepiej trzymaj się starej, gorszej architektury niż słabo napisana aplikacja na lepszej platformie.
* Ja też nie znam, więc nie wiem, jak podobne / porównywalne są.
źródło
Don't try to use Zend "the CakePHP way
Pierwszą rzeczą do rozważenia jest to, że przepisywanie produktu od zera jest czymś, czego nigdy nie powinieneś robić . Jest to szczególnie prawdziwe, gdy obecna wersja już zarabia. Zasadniczo zamierzasz spędzić 6 miesięcy, aby wrócić do miejsca, w którym byłeś 6 miesięcy temu. Dopiero teraz masz więcej błędów (lub przynajmniej różne błędy), ponownie wprowadziłeś błędy, które zostały już naprawione w starym kodzie, i masz sześć miesięcy opóźnienia, gdzie mógłbyś być, gdybyś był dodając funkcje do starej bazy kodu.
CakePHP, Zend i Symphony są w dużej mierze takie same (tj. Są to frameworki w stylu MVC na PHP), więc nie jestem pewien, jaką przewagę miałbyś z jednego do drugiego. Z pewnością istnieją różnice w zestawie funkcji, ale czy naprawdę warto cofnąć się przez cały czas? Ile czasu poświęciłbyś na pisanie od nowa w Zend lub czymkolwiek innym, czy mógłbyś spędzić tyle samo czasu, dodając wymagane funkcje do Cake?
Moim zdaniem, lepiej byłoby powolniej refaktoryzować istniejący kod w czasie, niż zaczynać całkowicie od nowa z nowym frameworkiem.
Oczywiście to tylko moja opinia. Wiem, że kuszące jest porzucenie istniejącego (brzydkiego, starego) kodu i rozpoczęcie od zera, ale w przypadku sprawdzonych produktów, które już działają, zwykle niewiele można zyskać, a wiele stracić.
źródło