cały mój świat potrzebuje psychologa
16 sty
Na ogół daruje sobie informować o sprawach, które są na ustach wszystkich ale widzę, że ta informacja dzisiaj jakoś bezszelestnie przeszła przez branżowe media
Firma Sun Mirosystems ogłosiła dzisiaj, że zakupiła (zakupiła/przejęła, za gotówkę/w akcjach - nie jestem biegły w tych sprawach więc odsyłam do oficjalnego oświadczenia) szwedzką firmę MySQL AB za miliard dolarów. Ładna sumka. Polecam też przeczytać opinie Tima O’Reilly. Czyli co, został nam tylko PostgreSQL? ![]()
8 lis
No i wykrakałem wczorajszym wpisem
Jest oficjalna wersja 2.0, jest i nowa strona www. Ciekawie został rozwiązany dział download. Można pobrać dwie wersje:
Dodatkowo można pobrać z zewnętrznymi projektami przystosowanymi do pracy z Kohaną:
Na razie za dokumentację robi wyciąg z komentarzy w formacie NaturalDocs. Dla początkujących być może problem, użytkownicy CI nie powinni mieć problemów z oswojeniem się z nowym frameworkiem. Razem z Kohaną jest dostarczany kontroler zawierający kilka przykładów.
Pojawiają się pierwsze zgłoszenia usterek, pierwsze opinie czy też sugestie co do następnej wersji, SVN przestawił się już na support numerka 2.1
Trzymam kciuki za ten projekt.
7 lis
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?
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 ![]()
30 wrz
Z racji zboczenia zawodowego podczas przeglądania nowych stron przyglądam się nie tylko treści i grafice ale interesuje mnie także sposób budowy serwisu. Nie inaczej było i tym razem gdy na tapetę wrzuciłem nową wersję BlogFroga. I jakie było moje zdziwienie gdy po chwili zauważyłem kilka charakterystycznych dla CI elementów
Kilka testów, zabawna z URLami i tak, wniosek końcowy, BlogFrog został napisany w oparciu o CodeIgnitera. Przynajmniej frontend dla użytkowników. Co jest w backendzie agregującym informacje - ciężko powiedzieć (no może oprócz tego, że “żabiasty” robot przedstawia się jako “zend_http” co by mogło sugerować użycie klasy Zend(pseudo)Frameworka). Autorzy BlogFroga całkowicie olali moje maile więc nie udało mi się dowiedzieć niczego ciekawego w tej sprawie.
Dlaczego o tym piszę? Dlatego, że takie informacje są bardzo interesujące dla innych programistów, co rusz na forach ktoś pyta o przykłady zastosowania danego frameworka w praktyce, powstają także listy takich aplikacji (serwisy oparte na: CodeIgniter, cakePHP, Prado, Symfony).
ps. Okazuje się, że jednak była odpowiedź ze strony blogfroga, a całą korespondencję nie pierwszy raz wcięło Progreso. Za parę dni więcej szczegółów w temacie BlogFroga i CI.
30 wrz
Kilka dni temu ukazał się podręcznik do CodeIgnitera pod tytułem “CodeIgniter for Rapid PHP Application Development”. Przykładowy rozdział mnie nie zachwycił, wygląda to po prostu na zgrabne przerobienie manuala plus kilka dodatkowych przykładów - co zresztą zauważają sami autorzy CodeIgnitera. CI jest tak prostym i banalnym frameworkiem, że wystarczy parę godzin na poznanie jego filozofii i po sprawie, wszystko wiadome
W każdym razie rozumiem, że ktoś woli mieć manuala na papierze i pewnie w takich ludzi celuje autor opracowania. Sam jestem taka osobą, nie mniej nie zamierzam owej książki kupować. Sam bym mógł napisać coś w rodzaju “Jak przerobić CodeIgnitera aby był idealnie dopasowany do Twoich potrzeb” ![]()