ostatni heretyk na katolickiej ziemi
8 lut 2007
Społeczność CodeIgnitera od miesięcy boryka się ciągle z tymi samymi problemami:
Parę dni temu autor odnalazł się
serwując wszystkim fanom bardzo obiecujące wiadomości:
Nadal nic nie wiadomo odnośnie przejścia na php5 (niestety, nie zanosi się na to). Mimo swoich wad CI jest nadal bardzo interesującym frameworkiem, z dużym “community”, pozwalającym na ekspresowe pisanie aplikacji w PHP. Jego braki skłoniły mnie do zainwestowania czasu w rozwój Rapide, ale o tym napiszę innym razem (jak będzie więcej konkretów na ten temat).
8 lut 2007
Kolejne ciekawe porównanie wydajności różnych frameworków:
Patrząc od strony PHP:
Jeszcze jedno zestawienie (po francusku), tym razem cakePHP, django i Ruby on Rails.
Dla przypomnienia poprzedni znany test Symfony, Ruby on Rails i django.
30 sty 2007
W nawiązaniu do mojej notki sprzed ponad roku “Darmowe panele (free web hosting control panels)” mały update:
31 paź 2006
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)
31 paź 2006
Dzisiaj wydana została oficjalna wersja (po kilku betach) mojego ulubionego frameworka Code Igniter w wersji 1.5.0. Co nowego mamy w nowej wersji?
Przede wszystkim została dorzucona obsługa cache klasy Database. Yea, to jest to co tygryski lubią najbardziej
Strasznie mnie to cieszy bo już przymierzałem się do przerobienia mojej starej klasy (cache podobny jak w Open Power Driver) na zgodną z CI. Nie mniej małe poprawki mnie nie ominą gdyż nowa funkcjonalność nie przewiduje ustawiania cache na określoną ilość czasu (tylko system cache/czyść cache), a takiego sposobu często używam.
DB utility to rozszerzenie klasy DB, teraz w bajecznie prosty (czyli zupełnie normalny dla Code Ignitera) sposób możemy zrobić sobie backup, eksport w CVS lub XML. Biblioteka DB została tez rozszerzona o transakcje oraz parę mniejszych funkcji i poprawek.
Z nowych bibliotek warto też odnotować klasy UserAgent, Profiler i FTP, ponadto helper do emotek :), generowania tabel, kilkanaście poprawek oraz zmieniony sposób ładowania i rozszerzania bibliotek.
Pełna lista zmian - changelog
Nowy manual - user guide
Nowa wersja - Code Igniter 1.5.0
Biblioteka Riklaunima - Kurs Code Igniter