Code Igniter vs. cakePHP – okiem praktyka

Zapewne parę osób zdziwi się skąd nagle u mnie taka zmiana: CodeIgniter zamiast cakePHP. Cóż, w cakePHP ukończyłem jeden średniej wielkości serwis typu „społecznościowego” ;) Budowa tego serwisu pokazała mi jak bardzo cakePHP mnie… ogranicza. Co chwile nowe problemy, szukanie rozwiązania pokrętnymi metodami, ciągłe studiowanie dokumentacji. Do tego cakePHP w zasadzie zmusza do stosowania ActiveRecord (przymusu nie ma, a bez tego traci się prawie całą funkcjonalność związaną z obsługa bazy przez „kejka”): nie ma jak pytania z 4 tabel, 40 sqli na stronę, zabawa z modelami i $hasOne, $hasMany, $belongsTo, $hasAndBelongsToMany. To potrafi skomplikować nawet najprostsze pytania. Do tego dodajcie sobie ścisłe powiązanie modeli z bazą, reżim w nazewnictwie i już macie odpowiedź dlaczego mój pierwszy większy projekt w cakePHP pisałem ponad 1,5 miesiąca i dlaczego był moim ostatnim pisanym w „kejku” :)

A Code Igniter? Cóż, już wcześniej się mu przyglądałem i teraz żałuję, że wtedy wybrałem CakePHP. CI to zupełna przeciwność „kejka”: łatwo, lekko i przyjemnie. Dowolność w tworzeniu relacji kontroler – model, żadnych z góry narzuconych reguł, niesamowita prostota i czytelność kodu, ogrom gotowych bibliotek i helperów, które można załadować w dowolnym miejscu wg. potrzeby, do tego logiczna i przejrzysta struktura. To wszystko razem powoduje, że pracę z CI można ruszyć „z kopyta”, szybko i sprawnie, a aby dorzucić swoją klasę czy też rozszerzyć istniejące wystarczy podstawowa znajomość PHP i 2 zdania wyjaśnienia w manualu – zupełne przeciwieństwo cakePHP gdzie trzeba dobrze poznać ten framework i jego ograniczenia.

CI to nie framework dla wszystkich: na pewno jedni skrytykują go za PHP4 (aczkolwiek cakePHP też jest w PHP4), innym będzie przeszkadzała ta zupełna dowolność tego co i gdzie się „ładuje”. Ja wiem jedno: CI to framework właśnie dla mnie, to jego szukałem i z nim pracuje mi się super szybko i przyjemnie.

Nie jestem teoretykiem („Nie wiem, nie znam się, nie orientuję się, zarobiony jestem”), nie będę porównywał technicznie co ma jeden, a czego nie ma drugi. Jestem praktykiem, mogę porównać ile i w jaki sposób pisałem serwis na cakePHP, a ile i z jakim skutkiem w Code Igniter. I w tym moim prywatnym porównaniu CI miażdży konkurencję. CI mówi: hej normanos, jestem twoim frameworkiem :)

Zainteresowanych odsyłam do:
- strony Code Ignitera
- polskiego kursu Code Ignitera autorstwa Riklaunima
- screencastu: wprowadzenie do CodeIgnitera (.mov)
- screencastu: blog w 20 minut (.mov)

Podobne wpisy

Kategoria: PHP Otagowane jako , , , , , 19 komentarzy

19 Responses to Code Igniter vs. cakePHP – okiem praktyka

  1. Paweł Rabinek 31-10-2006, 15:45

    Przyznam, że w piątek zacząłem pierwszy raz coś robić w Cake’u. To mój pierwszy framework i da się zauważyć, że „przyspieszenie” pracy jest znaczne:) W wolnej chwili zapoznam się też z CI i Symfony, bo może rzeczywiście są jeszcze lepsze ;)

  2. normanos 31-10-2006, 16:19

    @Paweł: z frameworkami jest jak z garniturami: muszą być szyte na miarę albo musisz się wbić w gotowy egzemplarz. Nie każdy będzie dobrze na tobie leżał :)

  3. dood 31-10-2006, 17:08

    hej normanos, fajne porownanie z tymi garniturami! pozdrowienia

  4. Paweł Rabinek 01-11-2006, 14:59

    No właśnie, nowy garnitur też by mi się przydał :D

  5. Ktos 01-11-2006, 21:42

    Ja tak siadłem kiedyś do Cake i w ogóle mi się nie spodobał. Siadłem do CI… i piszę w nim sporawą aplikację. Właśnie przeniesioną bezproblemowo na najnowszą wersję 1.5 (bo to jeszce bardzo wczesne stadium).

    Naprawdę wygodna sprawa. A jakie przyspieszenie pracy, mmm… :-)

  6. bella 03-11-2006, 00:15

    Ledwo dałeś jedną poradę i już nowy framework co będzie z tydzień ? ;)

    Jedno nie podoba mi się we wszystkich frameworkach sposób podejścia do layoutów, podejście z poprzedniej epoki . XML XSLT I XPATH to jest to ! Czekam na framework który będzie to obsługiwał. bo na razie ciągnę na przerobionej mojavi.

  7. normanos 03-11-2006, 09:13

    @bella: o cakePHP chciałem napisać więcej, napisałem w nim cały serwis więc kilka porad (m.in. jak tworzyć własne helpery) by się znalazło. Niestety byłem tak bardzo zajęty pracą, że NIC nie napisałem, a w międzyczasie znalazłem lepszego (dla mnie) frameworka :)

    Tym razem postaram się coś napisać w trakcie robienia kolejnego serwisu :D

  8. Riklaunim 03-11-2006, 10:24

    XML, XSLT ? nigdy w życiu, nie chce mieć nic wspólnego z zabawą w XML w moim kodzie ;) i nie tylko ja co pokazuje np. popularność Ruby on Rails :)

  9. mickula 11-11-2006, 16:47

    Jaki codec potrzebny jest do otworzenia tych filmików? Nie czyta mi audiocodeca.

  10. normanos 11-11-2006, 16:55

    Nie mam zielonego pojęcia, nie znam się na tym. Skoro .mov to chyba jakiś QuickTime nie?

  11. puatki 08-10-2007, 13:59

    Jak dla mnie cakephp jest spoko, tylko trzeba na niego poświęcić sporo czasu. Chodzi o naukę i niestety gówniany manual.

  12. Piotr 26-01-2008, 02:23

    Właśnie dokonywałem wyboru między CI i Cake. Zagłębiłem się trochę i oto co mnie naszło: CI umarło, jest Kohana ale we wczesnym stadium więc wolę poczekać. Cake żyje i ma się dobrze. Po przeleceniu manuala stwierdziłem, że dziwne mity krążą i początkowo mnie znięchęciły ale teraz wiem, że niesłusznie. Reżim w nazewnictwie. Manual wyraźnie pisze, że nie musisz – jedynie możesz aby ułatwić sobie życie. Podobnie z HasOne, HasMany itp – możesz, nie musisz. No i php4. Że pozwala używać – i co z tego? Można pisać w PHP5, nikt nie zabrania. Skoro więc działa i z 4 i z 5 a przy tym jest bezpieczny to o co chodzi?

  13. normanos 26-01-2008, 13:49

    Piotrze, porozmawiamy o co chodzi jak skończysz większą aplikację w kejku, ok? ;) Pozdrawiam.

  14. Cake'owiec 21-02-2008, 19:24

    A ja kurde siedze nad CakePHP i nie moge poradzić sobie w jaki sposób można bezpośrednio z component’a dostać się do bazy danych, a zamiast tego sprawdzam która z moich klas controller’ów jest aktualnie aktywna i przez nią łącze się z bazą… – wie ktoś z Was czy można jakoś prościej ? (generuje sobie menu z bazy, które na wszystkich stronach jest takie samo…). Z góry dzięki za pomoć :-) .

  15. Robert Meisner 16-04-2008, 13:05

    Witam co do projektów w CakePHP to fakt: trzeba się go nauczyć. Programowanie z biegu jest trudne jesli nie niemozliwe.
    Ja wlasnie skonczylem moj pierwszy projekcik w caku(zaznaczam ze byla to wprawka i miala na celu nauke frameworka) i musze powiedziec ze cake daje olbrzymie mozliwosci co do kontroli relacji (wiele do wielu, czy tez kaskadowe usuwanie), walidacji danych, czy tez sposobu prezentacji danych.
    Calosc stworzylem w 2tygodnie (no-life co prawda) i jestem calkiem zadowolony z efektu (mimo ze wciaz wymaga sporej ilosci poprawek).
    Mapr: http://mapr.pl
    Catch IT zdecydowala się na stworzenie swojego CMS’a wlasnie w caku – jesli bedzie taka mozliwosc dam znac, jak wygladaja postepy pracy – zapowiada sie smakowity wypiek ;]

  16. jura 20-10-2008, 20:43

    ZendFramework rulez!!!

  17. vorek 12-01-2009, 17:25

    CI poznałem jakiś czas temu i przyznam że mnie też bardzo mile zaskoczył. Praktycznie w 2 dni nauczyłem się go dobrze obsługiwać. Polecam każdemu, tak samo początkującemu jak i zaawansowanemu programiście.

  18. weli 23-05-2009, 17:06

    Cóż wymuszanie nazewnictwa przez cake’a to jak najbardziej pożądana sprawa według mnie a stosowanie modeli i opcji hasMany i belngsToMany sprawia,że potem masz autoamtyzacje powiązań co jets na duży PLUS. Według mnie cakePHP jest lepszy od Ignitera – jeden problem to hosting : oprócz newrails.pl nasi hostersi nie oferują hostingów optymalizowanych pod frameworki co jest minusem bo framework ma większy narzut przez samego sandboxa.

  19. caker 14-06-2009, 18:50

    ja też polecam cake’a – chociaż kohana idzie bardzo szybko do przodu – ale miałem problem z hostersami dla kohany – dopiero na http://newrails.pl udało mi się uruchomić wszystko bez problemu; niemniej jednak wiążę duże nadzieje z kohaną

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

© 2005-2012 normanos.com

domeny i hosting