Kilka osób pytało mnie, w czym Django jest lepsze od CakePHP. Najprostszą odpowiedzią, jakiej potrafię udzielić, jest lepszy jest język pod spodem,
ale przed chwilą emes znalazł prawdziwą perełkę. Z jakichś przyczyn jego klient zażyczył sobie wdrożenia na home.pl, gdzie Python jest, ale bezużyteczny (działa jako moduł CGI, więc nie nadaje się do niczego poza licznikiem odwiedzin na stronie Krystyny z gazowni). Padło właśnie na CakePHP.
Kilka godzin narzekania na PHP później przyszła godzina frustracji. Walidacja formularzy nie działa tak, jak powinna — pola ustawione ręcznie jako nieprawidłowe — zgodnie z dokumentacją — przy próbie zapisania ignoruje zmiany z kontrolera.
Dalsze przekopywanie Traca pokazało ticket #969. Ktoś rok temu zgłosił identyczny problem. Skutek? Ticket #991. Otwarty do dziś, dokumentacja nadal nieaktualna. Tak, wolę Django.

Popieram, jednak niestety, jak sam widzisz, czasem PHP’owe frameworki są jedyną alternatywą. Python (a w szczególności Django) nie są jeszcze tak popularne w Polsce, niestety. A jeszcze gorzej z RoR.
BTW: Czy tak poważna firma jak home.pl nie może tego zrobić dla klienta, kiedy on płaci i wymaga?
Poważna firma home.pl ma (i całkiem słusznie) w dużym poważaniu pana Kowalskiego, który kupił najtańsze konto współdzielone zamiast serwera dedykowanego.
To częsta metoda budowania serwisów, przychodzi Kowalski do agencji interaktywnej i mówi “mam już konto na darmowym hostingu i dotąd nam wystarczało, więc i wam musi wystarczyć.”
Myślę, że Pan, który już przychodzi do agencji interaktywnej raczej nie rzuca tekstów w stylu “darmowy hosting musi nam (wam) wystarczyć”.
Zdecydowanie zgadzam się, że i Django i Railsy są dużo lepszymi frameworkami niż każdy, którego uczyłem sie (a poznałem ich trochę swego czasu), który jest stworzony w PHP. Tak samo oceniam jakość języków PHP vs Python czy Ruby (ale jeżeli ktoś tego nie czuje to chyba nie ma sensu polemizować).
Jest jeszcze jedna sprawa: koszty i tu niestety jakkolwiek by na to nie patrzeć, jeżeli projekt nie ma być duży i/lub skomplikowany tworzenie czegokolwiek w Django czy Railsach jest z ekonomicznego punktu widzenia nieuzasadnione. Naprawdę skomplikowanego CMSa jakim jest Drupal można trzymać na przeciętnym koncie hostingowym za 200pln rocznie i będzie działał bez problemów. Rozwiązania w Pythonie czy Railsach trzeba hostować na VPSach, dedykowanych serwerach lub za granica np w webfaction.com i nie ma innej rozsądnej cenowo alternatywy. Jest firma w Polsce, która proponuje hostowanie Django i Railsów ale nie jest to tanie i płaci sie od procesu FCGI. http://www.megiteam.pl/Oferta
Nie wspominam nawet o kosztach programistów, które się w pełni zwracają przy większych projektach (czas tworzenia, jakość kodu, skalowalność, wydajność) lecz nie ma ich jak moim zdaniem uzasadnić przy mniejszych.
Radzę by gwoździ nie wbijać śrubokrętem i do muchy nie strzelać z armaty.
Znikam bo się rozpisałem :)
No Paaanie…
Od Cake’a to wszystko jest lepsze. CakePHP suxx tak mocno, że trzeba omijać bardzo szerokim łukiem i tyle.
Jak również trzeba omijać jego developerów, którzy stworzyli całkiem ładne TWA nota bene.
CakePHP poza “Blog w kwadransik” wymięka na każdym bardziej zaawansowanym projekcie, jest ciężki, ssie procek, pamięć i serwer bazy danych.
A jeśli by człowiek chciał np użyć bardziej zaawansowanych funkcji bazy, albo zoptymalizowanego modelu bazy pod odczyt-zapis a nie pod Cake’a - to Cake pokaże Ci wielkiego wała i zeżre Ci długie noce poszukiwania obejścia banalnych w gruncie rzeczy problemów (widoki, stored procedure etc).
Nawet taki CodeIgniter - chociaż się człowiek napisze tam z łapy nieprzyzwoicie - to jest lepszy od tego zakalca!
symfony project ?
IMHO to nie jest takie złe..
Od jakiegoś czasu widoczne jest “zdziczenie” tej dziedziny. Z jednej strony mamy produkcje stron za 100zł przez gimnazjalistów, kradnących grafikę i skrypty oraz ich klientów laików, których taki stan rzeczy cieszy, z drugiej “starych pierdzieli” z firm o niby wyrobionej już renomie, często produkujących jednak zwyczajne buble.
PS. Jak dodaje komentarz pod operą to mam coś takiego:
“Error: This file cannot be used on its own.”