W odpowiedzi na rosnące społeczne zapotrzebowanie (ta, jasne ;]) i trudny do zignorowania potencjał tzw. social medias, poczułem się w obowiązku włączenia w ten wciąż dziwny dla mnie, ale będący niewątpliwie rzeczywistością trend. Tak więc oto postanowiłem “uspołecznić” bloga, tworząc mu stronę na Facebooku i dodając wspaniałe przyciski Like! tu i ówdzie…
Cóż, trzeba iść z duchem czasu – w końcu to już dokładnie 500 postów :-)
Odkryłem niedawno bardzo ciekawy projekt o nazwie jQuery Mobile. Jego założeniem jest uproszczenie procesu tworzenia aplikacji na różne platformy mobilne poprzez dostarczenie odpowiednio przenośnego frameworka webowego. Powstałe przy jego pomocy “aplikacje” (a tak naprawdę odpowiednio spreparowane strony) mają wyglądać i działać tak samo na większości przenośnych urządzeń takich jak smartphone‘y i tablety.
Całkiem interesujące, prawda? Jeszcze ciekawsze jest to, że mimo bycia wciąż w stadium alpha (wersję alpha 4 wydano parę dni temu) całość działa już bardzo dobrze i rzeczywiście spełnia większość swoich obietnic. Oczywiście nie każdemu może uśmiechać się “programowanie w HTML” (;D), ale tutaj jest ono dość ładnie zorganizowane w warstwę interfejsu (odpowiednio spreparowane tagi HTML) i logiki (kod JavaScript wykorzystujący jQuery). Ta pierwsza pozwala między innymi na umieszczanie kilku stron w jednym pliku i efektowne przełączanie miedzy nimi:
Przejścia pomiędzy stronami nieźle imitują natywny UI platform mobilnych, gdyż są zrealizowane przy pomocy javascriptowych animacji zaimplementowanych w jQuery. Co więcej, jak widać powyżej odnośniki mogą być zwykłymi linkami (<a>
). Czego zaś nie widać to to, że przy okazji przechodzenia między stronami historia przeglądarki – a więc chociażby przyciski Wstecz i Dalej – działa zgodnie z przewidywaniami i “nie psuje” zachowania aplikacji.
Naturalnie samo przełączanie stron to nie wszystko, bo wypadałoby przecież coś na nich pokazać :) Tutaj jQuery Mobile też prezentuje się dobrze, bo niejako automagicznie dba o odpowiedni wygląd elementów aplikacji poprzez stosowanie wbudowanego zestawu “mobilnych” stylów CSS. Zmieniają one wygląd tekstu, linków oraz pól formularzy na taki, który dobrze udaje kontrolki natywnego interfejsu. No, a przynajmniej może uchodzić za takowy w przypadku urządzeń pracujących pod kontrolą iOS-a, bo właśnie do interfejsu tego systemu aplikacje jQuery Mobile są najbardziej podobne.
Niemniej także na innych platformach (chociażby Androidzie) rezultat zastosowania tego frameworka jest więcej niż zadowalający. Wydaje mi się aczkolwiek, że podobne rozwiązania chwilowo wyprzedzają jeszcze trochę swój czas. Ich podstawowym mankamentem jest brak sensownych dojść z przeglądarki internetowej do większości ciekawych podsystemów urządzeń mobilnych, takich chociażby jak kamera; póki co dostępne są chyba tylko usługi lokalizacyjne. Nie da się więc w ten sposób tworzyć skomplikowanych aplikacji, korzystających ze sprzętu czy bardziej zaawansowanych funkcjonalności systemu.
Jeśli jednak chodzi o proste rozwiązania oparte na tekście, obrazkach i formularzach – a więc jako szeroko pojęte front-endy do zdalnych repozytoriów z danymi – to jQuery Mobile może być dobrą alternatywą dla mozolnego portowania aplikacji między różnymi platformami. Podobnie zresztą rzecz ma się z mobilnymi wersjami zwykłych stron internetowych.
Jak obiecałem wcześniej, zamieszczam pracę na compo, którą podczas konferencji IGK stworzyła moja drużyna, czyli Rzeźnicy Inc., i otrzymała za nią drugą nagrodę.Tematem był Temple Guardian, a więc strażnik świątyni i tego tematu trzymaliśmy się dość literalnie. Oto mamy bowiem odwieczną i pradawną świątynię, z której ów strażnik – którym jest Zuo (koniecznie z wielkiej litery ;]) – próbuje wypełznąć i zawładnąć światem. Śmiertelnicy próbują go powstrzymać, aktywując magiczne pieczęcie dokoła świątyni, lecz nasz uroczy bohater może ich bez trudu skonsumować :)
W grze sterujemy mackami potwora ze świątyni, korzystając z faktu, że podążają one za kursorem jeśli wciśniemy lewy przycisk myszy. Rzeczonymi mackami możemy zjadać przeciwników, zyskując ich czaszki; po uzbieraniu pięciu dostajemy kolejną mackę. Nie jest jednak prościej, bo wraz z upływem czasu tempo pojawiania się wrogów rośnie. Próbują oni aktywować pieczęcie, stając na nich, do czego nie możemy oczywiście dopuścić. Sami zaś powinniśmy wypijać energię z magicznych źródełek wokół świątyni, aby napełnić pasek mocy. Jeśli nam się to uda, wszyscy wrogowie znikają (niestety, przechodzenie do następnego etapu nie zostało zaimplementowane :)).
[2011-03-27] Temple of ZUO (5.8 MiB, 2,546 downloads)
Dodatkowo w pliku config.cfg możemy ustalić opcje gry: rozdzielczość ekranu, tryb fullscreen lub okienkowy oraz głośność muzyki.
Zamieściłem galerię zdjęć, które wykonałem podczas wspomnianego parę dni temu wyjazdu do Zurychu. Niestety najbardziej interesującej części – czyli wnętrza siedziby Google – nie da się fotografować :( Reszta jednak też jest chyba całkiem interesująca… no, przynajmniej mam taką nadzieję :)
Niejako przy okazji zdecydowałem się na przeniesienie galerii do serwisu Picasa. Zrobiłem tak głównie dlatego, iż wtyczka do WordPressa, której używałem do tej pory, zaczęła mnie nieco irytować pod względem łatwości użytkowania (a raczej jej braku).
Uploadowanie zdjęć na Picasę i ich organizowanie jest z drugiej całkiem łatwe i przyjemne. Jak na razie jedyną wadą, którą tam znalazłem, jest brak możliwości hierarchicznego grupowania albumów w kategorie. Wydaje mi się jednak, że przy tej mizernej ilości obrazków i zdjęć, które zamieszczam, nie będzie ona żadnym problemem :)
Tak się akurat złożyło, że po zakończeniu konferencji IGK w Siedlcach nie było mi dane wrócić prosto do domu. To znaczy formalnie wróciłem na jakąś godzinę, ażeby potem jednak udać się w kolejną podróż. Tym razem trochę dalszą. Dokładniej mówiąc: do Zurychu.
Wyprawa ta charakter częściowo turystyczny, do czego – jak dość szybko zdążyłem zauważyć – miejsce to nadaje się wręcz doskonale. Miasteczko (bo miastem raczej bym tego mimo wszystko nie nazwał ;P) położone jest w urokliwej alpejskiej dolince. Ma na wyposażeniu długie jezioro przecinane trasami promów i otoczone wyrastającymi ze zboczy domkami. Pora roku nie jest wprawdzie odpowiednia ani na sporty zimowe ani wodne (panuje tu obecnie wczesno-środkowa wiosna), ale i tak jest tu bardzo przyjemnie. Okolica wybitnie nadaje się na długie spacery, z czego pewnie postaram się w wolnych chwilach korzystać :)
Tych wolnych chwil będzie w sumie sporo, bo zasadniczy biznes będący przyczyną mojej wizyty w Szwajcarii mam już właściwie za sobą. Wizyta w siedzibie Google to jedno z ciekawszych wydarzeń, jakie miałem okazję ostatnio doświadczyć i pewnie zapamiętam ja na długo… Chyba że jakimś dziwnym zrządzeniem układów gwiazd uda mi się tam powrócić, tym razem na dłużej ;-) Tak czy siak polecam wybranie się tam każdemu, kto tylko ma ku temu okazję. Samo pobieżne rozejrzenie się po różnych zakamarkach budynku (a właściwie trzech) było warte spędzenia półtorej godziny w ciasnym fotelu w samolocie ;)
Kolejna konferencja IGK zakończyła się wczoraj tradycyjnym konkursem zespołowego programowania gier Compo. Podobnie jak w zeszłym roku startowało wiele zespołów, w tym także i mój, czyli Rzeźnicy Inc. ;) I podobnie jak zawsze, wszyscy starali się zakodować jak najlepiej wyglądające, najbardziej grywalne, najoryginalniejsze i w ogóle najlepsze gry. Naturalnie nie wszystkim się to udało, ale akurat w przypadku mojej drużyny rezultat był chyba całkiem niezły. W każdym razie zasłużył na drugie miejsce, czyli analogicznie jak w zeszłym roku. Krótko mówiąc: trzymamy poziom :)
W najbliższych dniach postaram się zamieścić na stronie jakąś grywalną wersję naszej pracy.
Po raz kolejny uczestniczę w konferencji Inżynierii Gier Komputerowych w Siedlcach. Tradycyjnie trwa ona trzy dni (no, dwa i pół) i składa się z dwóch dni wykładów oraz konkursu drużynowego programowania gier. W zeszłym roku moja drużyna sprawiła się całkiem dobrze, więc mam nadzieję, że w tym będzie przynajmniej podobnie :)
Oprócz tego istnieje też szansa na kilka ciekawych wykładów, nie wspominając już o LAN-owym afterparty na koniec ;-)