Kohana czyli Code Igniter w ręce ludu

Ważne: ta notka przeleżała w brudnopisie prawie miesiąc, czekając aż zostanie skończona. Niestety jestem w trakcie pracy nad bardzo dużymi nowymi projektami i nie miałem czasu jej skończyć. Z uwagi na to, że lada dzień zapowiadane jest „zamrożenie” stanu z SVN i wydanie wersji stabilnej, postanowiłem opublikować to co mam ;)

Sposób prowadzenia projektu CodeIgniter od dawna był mocno krytykowany (w tym i przeze mnie). Nowe wersje, o ile się pojawiały to były to tylko kosmetyczne zmiany i poprawki większych błędów (błąd, który zgłosiłem w helperze „date” chyba pół roku temu, do dzisiaj nie został poprawiony). Developerzy CI pozostawali głusi na sugestie społeczności tego frameworka, nie można było się doprosić istotnych poprawek czy też nowych funkcjonalności. Chyba najbardziej dobijający był fakt, iż oficjalnie CI nie ma zamiaru być przepisane pod kątem PHP5 (być może problemem jest silne związanie CI z innym, komercyjnym produktem – ExpressionEngine), a informacja o końcu supportu dla PHP4 nie zrobiła na panach z EllisLab wrażenia. W pewnym stopniu ich rozumiem: trzeba z czegoś żyć i na czymś zarabiać, a w/w zmiany wymagały by przepisania CI w zasadzie od zera. Z drugiej strony, z upływem czasu będzie im coraz trudniej, w pewnym momencie może się już okazać, że jest za późno.

I stało się. Siła tzw. ‘community’ czyli społeczeństwa zorganizowanego wokół tego projektu była tak duża, że spowodowała „oderwanie się” najbardziej aktywnych użytkowników i powstanie nowego projektu, którym jest, tada (fanfary): KohanaPHP (w tej chwili pod tym adresem jest stara, nieaktualna już wersja strony projektu, informacji należy szukać na forum).

Czym jest Kohana? To tzw. fork CodeIgnitera. Start projektu zaczął się od wersji CI 1.5.4 w okolicach czerwca br. Chwilę później została wydana wersja 1.0, która stanowiła most pomiędzy CI a Kohaną. Trochę dziwię się tej numeracji, gdyż tak na prawdę w tej wersji został nakreślony nowy „core” frameworka oraz przepisano kilka bibliotek. Co najwyżej mogła to być wersja 0.1 ;) Projekt zaczął od kodowej nazwy „Blue Flame”, która ze względu na zbyt dosłowne nawiązanie do CI (logo CI) została potem zmieniona na Kohana. W międzyczasie rozwój projektu został wstrzymany ze względu na problemy prawne (interpretacja dziwnej licencji CI), ba, nawet pojawiła się informacja, że w obecnej formie projekt może przestać być rozwijany. Na szczęście sprawy prawne zostały w miarę szybko rozwiązane (nastąpiło też jakieś porozumienie z EllisLab czyli właścicielami CI) i nastąpiła praca nad pierwszą stabilną wersją oznaczoną jako Kohana 2.0 (eh, ta numeracja).

Czym Kohana ma się różnić od CodeIgnitera?

  • przede wszystkim PHP5 – całkowicie od zera zostało wszystko przepisane, poczynając od samego core, a kończąc na helperach
  • pełne wsparcie dla UTF8 (CI płata straszne figle w tym temacie, szczególnie jeżeli chodzi o funkcje routera i bazujące na tekście)
  • wyeliminowaniem wszystkich kretyńskich błędów CI, zarówno jeżeli chodzi o PHP jak i warstwę użyteczności
  • rozwijaniem projektu – wydaje się, że to oczywiste, przykład stojącego w miejscu (a w zasadzie cofającego się) CI pokazuje, że nie dla każdego

Widać, że programiści Kohany postawili nie jeden serwis na CI i poznali wszystkie jego wady. Wiele drobnych ale na prawdę istotnych rzeczy zostało zorganizowane w inny sposób lub zostały inaczej napisane, choćby logiczniejsza struktura katalogów i dodatków, lepsze rozwiązania w bibliotekach np. paginacji czy konfiguracji, lepiej rozplanowane pliki konfiguracyjne itp.

Ideologia CI (dzięki bogu) została zachowana. Czyli nadal chodzi o bardzo lekki framework MVC, nie narzucający ostro specyficznej dla siebie konwencji pisania i nie zmuszający do korzystania z „jedynie słusznego” sposobu na rozwiązanie danego problemu. Ciesze się, że deweloperzy Kohany nie starają się na siłę uraczyć nas jakimś ORM (choć w SVN pojawił się moduł podobny w działaniu do tego z cakePHP), propelem, yamlami czy kopiowaniem rozwiązań z innych frameworków (RoR). Kto ma używać Symfony, cakePHP czy Prado, ten dawno używa i zmieniać nie będzie. To kwestia podejścia do pewnych rozwiązań, a nie tego co „jest lepsze” (ale to już temat na zupełnie inną notkę).

Od miesiąca obserwuje zmiany w SVN Kohany. Ilość commitów jest imponująca, w zasadzie codziennie jest coś nowego. Starałem się już napisać coś w oparciu o aktualną wersję jednak wszystko tak szybko się zmienia, że jak dla mnie zdecydowanie nie jest to wersja stabilna. Co gorsza, brak jest dokumentacji, a jak wiadomo ta z CI jest bardzo dobra. I tym bardziej zdziwiła mnie informacja sprzed kilku dni, że 8 listopada pojawi się stabilna wersja 2.0. Z jednej strony, moim zdaniem, do stabilności jeszcze daleko, z drugiej, jeżeli nie wypuści się oficjalnej wersji to nigdy to się nie rozwinie i nie będzie odzewu od ludzi, nie zacznie się rozwijać nowa społeczność. Mogli by tylko popracować nad numeracją ;)

Cieszę się, że powstał taki projekt. Wypełnia on dziurę na „rynku frameworków”, jest dla ludzi takich jak ja, którzy chcą mieć bardzo elastyczne narzędzie pracy, a jednocześnie nie są entuzjastami rozwiązań forsowanych przez inne frameworki.

Na koniec informacja, która nie nadaje się na osobny wpis: kilka dni temu powstał polski support CodeIgnitera – www.code-igniter.pl, nie wiem czy w obliczu tej notki autor się nieco nie pospieszył (lub patrząc z innej strony: spóźnił). Może dodatkowy dział dla Kohany? ;)

ps1. To pierwsza wzmianka o Kohanie w polskim internecie ;) (wg. Google.pl)

ps2. wpis ten był po 10 minutach w indeksie googla ;)

Podobne wpisy

Kategoria: PHP Otagowane jako , , , , , 9 komentarzy

9 Responses to Kohana czyli Code Igniter w ręce ludu

  1. Speedy 07-11-2007, 21:17

    Fajnie :) . Wprawdzie na CI postawiłem dotychczas tylko jeden skromny serwis, ale jak wypuszczą stabilną Kohanę z taką dokumentacją, jak w CI, to chętnie się przesiądę ;) .
    btw. Fajna jest nazwa tego nowego forka :P .

  2. Ktos 07-11-2007, 22:05

    O, to jest bardzo fajna informacja. Bardzo mi się CI podoba, więc Kohana może nawet jeszcze bardziej przypaść do gustu :-)

  3. BlueMan 07-11-2007, 22:53

    Doinstaluj sobie wtyczkę do WP aby pokazywała ilość wyświetleń strony :] będzie wiadomo jak bardzo oglądalność skoczyła takim unikatowym wpisem w google w porównaniu do innych wpisów :)

  4. normanos 08-11-2007, 12:26

    @Blueman: imho w ogóle nie skoczy bo przecież kohana jest w ogóle nie znana więc kto miałby szukać coś na ten temat ;)

  5. BlueMan 08-11-2007, 23:40

    Zdziwiłbyś się przez jakie głupoty ludzie wchodzą na mój blog.
    typu „blueman ubuntu”, albo „blueman instalacja drukarki” i wiele takich i lepszych perełek mam ;)
    No i radość na twarzy blogera jest jak widzi ile odwiedzin ma jego blog.

  6. Andrzej 26-11-2007, 15:27

    Miałem się brać za CI, ale widzę, że chyba lepiej od razu zacząć od czegoś innego. Przydatny wpis:)

  7. Pingback: Zend_Cache jako biblioteka Kohana | Wojtek 'Suda' Siudziński :: BLOG

  8. Pingback: MatheW’s blog » Nagły zryw CodeIgniter - ostatni?

  9. Pingback: Z notatnika webmasterki » Blog Archive » Casting na pierwszy framework

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