normanos 2.0

ostatni heretyk na katolickiej ziemi

Społeczność CodeIgnitera od miesięcy boryka się ciągle z tymi samymi problemami:

  • brak zespołu developerów
  • brak SVN
  • brak roadmapy
  • brak poprawek wielu znalezionych błędów
  • brak odzewu od autora tego frameworka

Parę dni temu autor odnalazł się ;) serwując wszystkim fanom bardzo obiecujące wiadomości:

  • koniec z jednoosobowym projektem, CI przejmuje zespół programistów z firmy Ricka Ellisa (autor CI)
  • jak zespół developerów to wreszcie SVN

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).

  • Komentarzy (6)
  • Kategorie: PHP

  • Tagi: , , , ,

  • Kolejne ciekawe porównanie wydajności różnych frameworków:

    • CodeIgniter (PHP)
    • Catalyst (Perl)
    • Django (Python)
    • Django (Python + Psyco)
    • RubyOnRails (Ruby)
    • Symfony (PHP)
    • TurboGears (Python)

    Patrząc od strony PHP:

    • CI - php4, Symfony - php5
    • dopalenie jakimś eAcceleratorem pewnie polepszyło by wyniki
    • Symfony ssie w każdym zestawieniu (Michał Mech będzie wkrótce na niego nawracał na swoim nowym blogu)
    • z testami tak to bywa, że są mniej lub bardziej wiarygodne, tudzież należy się wczytać w wyniki i odpowiednio je zinterpretować

    Jeszcze jedno zestawienie (po francusku), tym razem cakePHP, django i Ruby on Rails.

    Dla przypomnienia poprzedni znany test Symfony, Ruby on Rails i django.

  • Komentarzy (7)
  • Kategorie: PHP

  • Tagi: , , , , ,

  • W nawiązaniu do mojej notki sprzed ponad roku “Darmowe panele (free web hosting control panels)” mały update:

    • VHCS chyba definitywnie dokonał żywota. Przez rok czasu nie ukazała się żadna nowa wersja, nie zostały też poprawione błędy ostatniego oficjalnego wydania. Całość dopełnia fakt, iż zespół opuściły 2 osoby zirytowane całą tą sytuacją.
    • Te osoby nie bez przyczyny oficjalnie rozstały się z VHCSem. Uruchomiły one nowy projekt ISPcp bazujący na dotychczasowym dorobku VHCSa. Projekt ruszył w grudniu 2006, w styczniu ukazała się pierwsza beta, jeszcze pod starą nazwą VHCS 2.4.8 OMEGA. Kiedy pierwsza oficjalna wersja ISPcp? Niewiadomo. Zobaczymy ile zapału starczy twórcom nowego projektu.
    • ISPConfig to inny projekt panelu administracyjnego, o którym na razie mogę powiedzieć tylko tyle, iż bardzo aktywnie rozwijał się w 2006 roku. W zasadzie nie było miesiąca, aby nie ukazała się nowa wersja. Niestety, nie miałem jeszcze okazji przetestować tej produkcji, nie mniej jest kilka osób na WHT, które to zrobiły.
  • Komentarzy (16)
  • Kategorie: Linux

  • Tagi: , , ,

  • 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)

  • Komentarzy (15)
  • Kategorie: PHP

  • Tagi: , , , , ,

  • 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

  • Komentarzy (0)
  • Kategorie: PHP

  • Tagi: , , , ,