Mając dwadzieścia lat myślałem tylko o kochaniu. Potem kochałem już tylko myśleć.
Albert Einstein

Monthly Archive for October, 2008

Melodia przyszłości CSS’a

Jakieś cztery lata temu wraz z msz dopingowaliśmy się wzajemnie podczas nauki CSS’a. Wówczas msz zaintrygował mnie “szaleńczą” ideą, by stronę zbudować nie na tabelkach, tylko przy pomocy floatów, na divach i tak dalej. Podrzucił parę linków i nie minął miesiąc, a sam stałem się misjonarzem głoszącym propagandę.

I kiedy żyłem już w błogim przeświadczeniu, że to wiedza ostateczna i nic tu się w założeniach nie zmieni to trafiłem na wpis znanego w światku kodera, który głosił, że jest coś lepszego. Jak zawsze – był jeden szkopuł, który zwie się Internet Explorer. W M$ jednak ostatnimi czasy nieco zmądrzała część kadry, również ta zajmująca się IE. Efektem tego ma być IE 8, które wspomniane novum wspiera.

Jeśli więc, drogi Czytelniku, zajmujesz się tworzeniem stron, a jakoś tak się stało, że nie nadążasz za modą i nowinkami – to linkuję artykuł “Wszystko co wiesz o CSS-ie jest błędne“. Miłego czytania.

p.s.

Kwestią, kiedy IE 8 się pojawi i wyprze IE 7 i 6 (sic!), to już pomartwimy się kiedy indziej ;)

Offline

Do niedawna niezależnie od tego, czy byłem w pracy, czy się uczyłem – zawsze będąc przy komputerze podłączonym do sieci byłem dostępny online via komunikator. Kilka dni temu zniecierpliwiony ciągłymi “atakami” rozmówców po prostu wyłączyłem Psi… nie uwierzycie jak wielką frajdę sprawiła mi możliwość skupienia się na dokumentacji, czy klepaniu kodu. Nie mówiąc o wzroście efektywności. Może to zabrzmi jak pierwsza oznaka pracoholizmu, ale jebać to – nie odpalam już Psi w pracy!

Ceny w Empiku w Pasażu

Szukając słuchawek, o których wspominałem w jednej z wcześniejszych notek, wstąpiłem dziś do Empiku we wrocławskim Pasażu Grunwaldzkim, żeby sprawdzić co tu mają. Natrafiłem m.in. na jedną z rozpatrywanych przeze mnie opcji: AKG 412 P. I wszystko cacy, tylko zwaliła mnie z nóg cena 169 zł. Pal licho, że to ponad 50% drożej niż w innych sklepach. To nawet o 50 zł więcej niż… w Empiku w Rynku (równo 119 zł)! Może mi ktoś wyjaśnić ten fenomen?!

php ma się dobrze

Siłą każdego języka jest jego społeczność, a nie sam język. Taki php, choć u podstaw był niezwykle ubogim językiem (a wg wielu wciąż jest), to szybko zyskał sympatię tysięcy wannabe programistów, wśród których znalazło się paru twórców przyszłych aplikacji, na których oparła się spora część dzisiejszego internetu – żeby wymienić tylko phpBB, wordpress i niezliczone zastępy CMS-ów.

Przez długi okres czasu wydawało się wszystkim, że jak aplikacja webowa, to tylko php. Owszem – był perl (tylko weź w tym pisz…), asp.net, czy java – ale ludzie albo tych rozwiązań nie znali, albo jak już znali, to na przeszkodzie stawał problem z serwerem (a raczej jego brakiem), który by wspierał inną niż php technologię, czy też wspomniana społeczność – w tym przypadku mikra.

Nagle jakby znikąd pojawił się język Ruby ze swoim Ruby on Rails – fenomen, który odmienił dzisiejszy internet. Framework, który zapoczątkował wielki boom na wzorzec MVC i obiektowe tworzenie stron. Genialność tego rozwiązania, która pozwalała w ekspresowym tempie tworzyć nowe aplikacje, sprawiła, że ludzie masowo dopadli Railsy, Django, Pylonsy i inne podobne frameworki, które pokazały światu, że web to nie musi być tylko php, ale też inne języki – jak wspomniane Ruby, czy bardzo popularny na świecie Python.

A jak w tym całym zamieszaniu zachowuje się nasz główny bohater? Okazuje się, że tylko na tym skorzystał kopiując rozwiązania z wspomnianych produktów. Dziś mamy dostępne dwa główne projekty, które sprawiają, że php wciąż pozostaje atrakcyjnym językiem – mowa o Symfony oraz Zend Frameworku. Choć to oczywiście nie wszystkie rozwiązania, niemniej pozwolę sobie skupić jedynie uwagę na tych dwóch. Raz, że oprócz nich miałem do czynienia jedynie z Code Igniterem, który przypomina ubogiego brata ZF, dwa, że to chyba najlepsze dziś produkty tego typu.

Oba frameworki prezentują zupełnie inne podejście do tematu – ZF to zbiór niezależnych klas (w tym abstrakcyjnych oraz intrefejsów), przy pomocy których programista może w miarę łatwo i komfortowo zbudować gotową aplikację. Z których jednak skorzysta, a które zamieni na bardziej mu odpowiadające zamienniki leży już jednak w całości w jego woli. Ponadto praktycznie niemal nic nie ma narzuconego z góry – co oznacza też, że wciąż ma sporo kodu do napisania.

Symfony to zupełnie inne podejście – tutaj preferuje się, żeby programista pisał jak najmniej tylko możliwe. Po ściągnięciu symfony, ustawieniu kilku plików konfiguracyjnych, wklepanie poprzez CLI kilkunastu poleceń możemy uzyskać gotową aplikację, z dziesiątkami tabel w bazie i pełną ich obsługą. Do tego repozytorium symfony pełne jest gotowych pluginów, które są w zasadzie gotowymi cząstkami aplikacji – cms, forum, autoryzacja, wyszukiwarka, ajaxowe efekty itd.

Jedno i drugie rozwiązanie ma swoje wady i zalety, ale nie chcę się tu nad nimi rozwodzić. Ważniejsze jest, że oba produkty rozwijają się bardzo dynamicznie. Za ZF stoi Zend, firma współtworząca sam język, więc o jakość tego frameworka i jego “przyszłościowość” martwić się nie trzeba. Symfony natomiast po dość długim okresie stagnacji nabrało ostatnio sporego rozpędu i jest w ciągłym rozwoju (swoją drogą – trochę to przeszkadza, bo dokumentacja staje się mocno niekompletna). Najnowsze wersje w zasadzie nadrobiły większość wad w stosunku do ZF (z widgetami do tworzenia formularzy na czele), a to nie koniec rozwoju tego frameworka.

Taka sytuacja powinna ucieszyć tych z programistów, którzy z różnych względów chcą pozostać przy php (jak choćby dostępność serwerów). Wspomniane narzędzia niejako gwarantują, że pomimo rozwoju “konkurencyjnych” społeczności pehapowcy nie zostaną w tyle. A należałoby tu jeszcze wspomnieć choćby o ORM-ach, które również nie stoją w miejscu i ciągle dynamicznie się rozwijają (Doctrine, Propel).

Niektórzy twierdzą, że nie ma złych języków – są tylko źli programiści. Faktem jest, że php jest językiem z tego gatunku, gdzie łatwo o złe nawyki i “złe programowanie”. Niemniej dzisiejszy rozwój pozwala pokazać, że php nie jest taki zły jak go malują – i w tym języku naprawdę da się dobrze programować. Czy to oznacza, że nie warto przerzucić się na Pythona, albo Ruby’ego? Myślę, że powinno to pozostać w indywidualnej kwestii każdego z nas. Na pewno warto dla samego dokształcenia się poznać też inne rozwiązania niż te, z których korzysta się na co dzień; najważniejsze jednak, że niezależnie od dokonanego wyboru mamy dostępne dobre, rozwijające się narzędzia.

Ruszyłem przed siebie udając twardziela jak setki razy wcześniej.

Oops! You need the Flash Plugin to see this movie.
Please visit the Adobe site to get the plugin as a free download.

Max Payne trailer

Za tydzień polska premiera adaptacji kinowej hitu, który przykuł do ekranów monitorów miliony na całym świecie. Dwukrotnie – bo Max Payne doczekał się sequela. Ja również się do tego grona zaliczam – obie części pochłonęły mnie bez reszty; klimat, fabuła, akcja – to była po prostu gigantyczna dawka genialnej rozrywki. Czy film stoi na poziomie pierwowzoru? Zarówno trailer jak i ocena na imdb pozwala wierzyć, że to przynajmniej nie będzie papka z gatunku tych serwowanych przez Uwe Bolla.

Recenzja już za tydzień.