Archive for May, 2012

Warsaw CodeCamp 2012

Wszystkich, którzy w najbliższą sobotę będą w Warszawie zapraszam na wydarzenie ogranizowane przez Warsaw Official .Net User Group. Szczegóły wydarzenia znajdziecie na jego stronie. Organizatorzy mocno postarali się, aby ściągnąć prelegentów z całej Polski. Podczas konferecji będzie można posłuchać Tomasza Kopacza oraz byłych i aktualnych MVP (Jakub Binkowski, Marcin Iwanowski, Wojciech Poniatowski i ja).

O czym opowiem?

Rozwinę temat poświęcony porównaniu Windows Phone i Windows 8, który poruszałem przy okazji Windows 8 Community Launch w Gdańsku, do którego dodam kilka elementów :) Tytuł pozostawiam niezmieniony, czyli “Windows 8 dla programistów Windows Phone“.

REJESTRACJA:

Wydarzenie jest darmowe, ale wymagana jest rejestracja – każdy zarejestrowany użytkownik = większe wsparcie dla organizatorów :)

Przy okazji

Uczestnicy konferencji będą mieli szansę wygrać XBoxa :)

 


Materiały z Windows 8 Community Launch w Gdańsku

Podczas konferencji, która odbyła się w sobotę (19.05.2012) miałem możliwość poprowadzenia prezentacji pod tytułem
Windows 8 dla programistów Windows Phone“. Poniżej do pobrania slajdy z tej prezentacji, które dodatkowo zawierają odnośniki do przykładów.
Win8CLGdansk


Materiały z Nokia For Developers


Tak jak obiecałem garść materiałów, które mogę udostępnić po wczorajszej konferencji Nokia for Developers :) Zatem pobierajcie:

download
Materiały Nokia for Developers


Metropolis od Bee Mobile

Jakiś czas temu zostałem poproszony o przetestowanie zestawu kontrolek dostarczanych przez Bee Mobile i dedykowanych dla Windows Phone. Zestaw ten nazywa się Metropolis. Po pewnym okresie testów postanowiłem podzielić się moimi spotrzeżeniami dotyczącymi tego produktu, tak aby było wam łatwiej zdecydować, czy chcecie z niego skorzystać w swoich aplikacjach czy też nie.

Pierwsze co rzuca się w oczy to bardzo dobrze przygotowane dema oraz dokumentacja opisująca krok po kroku w jaki sposób można skorzystać z kontrolek.

Oto przykłady najciekawszych moim zdaniem kontrolek, które można znaleźć w pakiecie.

BookControl

Znana z wielu różnych implementacji “książka” charakteryzuje się w tym przypadku płynnym działaniem oraz elastycznością. Dzięki dobrej implementacji w łatwy sposób można osadzić w niej dowolną zawartość, a przewracane strony zachowują się bardzo naturalnie. Nie trudno również znaleźć dla niej zastosowanie na przykład jako oryginalnej wersji pomocy dla aplikacji, przeglądarki dla RSS lub jakichkolwiek innych danych w przyjazny i intuicyjny dla użytkownika sposób.

DatePicker, TimePicker oraz iWheel

Te trzy kontrolki oparte są o ten sam mechanizm. Są one zapewne znane wszystkim fanom Objective-C i platform “i” pochodnym :) Stanowią one ciekawą alternatywę dla *pickerów znanych z Silverlight Toolkit.

  

Warto pamiętać, że kontrolki te powinny być używane z rozsądkiem z racji na ich oderwanie od zasad Metro UI. Oczywiście można je ostylować samemu, ale na szczęście po zasugerowaniu tego dostałem informację, że Bee Mobile przymierza się do przygotowania odpowiednich predefiniowanych zestawów do całego pakietu podobnie jak ma to miejsce w przypadku następnej z kontrolek jaką jest SegmentedControl.

SegmentedControl

To kontrolka, która poniekąd przypomina radio button / check box list, jednakże jest wygodniejsza w użyciu jeżeli planujemy zdecydowanie przerobić jej styl. Jest to świetna alternatywa dla toggle switch i pozwala zmienić podejście do wyświetlania tych danych – aktualnie sam przymierzam się do wykorzystania tej kontrolki do wygodnej edycji danych modyfikowanych przed zapisem przez użytkownika – oszczędzi mi ona dużo czasu :)

Jak wspomniałem kontrolka ta posiada predefiniowane style, które pozwalają jednym kliknięciem zmienić jej wygląd na styl różnych platform…

Pozostałe

Do dyspozycji mamy również VistaButton, Waiting Bar oraz RegionControl. Waiting Bar bardzo przypomina znany z aplikacji webowych loader, dzięki czemu użytkownikowi poniekąd łatwiej będzie zrozumieć, że coś się dzieje w aplikacji (czasem proggress nie jest intuicyjną wizualizacją :( ).

Region Control pozwala na ciekawszy sposób przedstawienia danych – samo demo sugeruje zastosowanie w aplikacjach medycznych (lub np ubezpieczeniowych, car rental itp). Mi do głowy przyszła też mapa podbijanego świata w różnego rodzaju grach strategicznych (lub pseudo strategicznych) :)

Cena

Licencja dla pojedynczego dewelopera kosztuje niecałe 200$ – kwota ta wydaje się stosunkowo niewielka w porównaniu z przychodami jakie może wygenerować aplikacja wyposarzona w te kontrolki. Nie wszystkie aplikacje muszą być tylko Metro – mogą być aż Metro dzięki zastosowaniu innych kontrolek, do których z pewnością należy Metropolis.

Podsumowanie

Pakiet Metropolis jest bardzo ciekawy – przychodzi z interesującym podejściem do prezentacji i wprowadzania danych. Dzięki dynamicznej rozbudowie możemy zapewne liczyć na częste uaktualnienia i rozszerzanie nie tylko o nowe kontrolki, lecz również o nowe ich możliwości :)


Zapraszam na Nokia for Developers

Już w najbliższy piątek (11.05) zapraszam na warsztaty Nokia for Developers, na których wraz z Kamilem Stachowiczem wprowadzimy słuchaczy w zagadnienia związane z programowaniem na platformę Windows Phone 7. Pamiętajcie jednocześnie, że warsztaty te są skierowane do osób bardziej początkujących niż zaawansowanych, natomiast postaramy się je poprowadzić na tyle elastycznie aby usatysfakcjonować uczestników :) W międzyczasie wszystkim zarejestrowanym mówię – do zobaczenia w piątek :)


Windows Phone Game Services

Jakiś czas temu przy okazji tworzenia jednej z aplikacji na Windows Phone (w sumie to mogę nawet podać na nią namiary: CatchEggs – do pobrania na Marketplace) zacząłem się zastanawiać nad przygotowaniem statystyk globalnych dla gry. Wiadomo – każdy lubi pograć samemu w grę, ale jeżeli uda mu się zdobyć ciekawy wynik zawsze jest chęć podzielenia się nim z innymi… Warto o tym pamiętać i dodać taką opcję w swojej aplikacji. Jak to osiągnąć?

Sposób 1 – Facebook

Jak wiadomo na platformie Windows Phone mamy dostęp do bardzo wygodnej integracji z Facebookiem. W tym celu wystarczy stworzyć launcher ShareStatusTask lub też ShareLinkTask. Pierwszy z nich pozwala jedynie na wysłanie jakiejś wiadomości, natomiast drugi jest moim zdaniem dużo ciekawszy. Zamiast jedynie dzielić się wiadomością można wykorzystać go jako dodatkowe źródło promowania aplikacji zwyczajnie dodając do niej link w formacie http://www.windowsphone.com/s?appid={0} gdzie zamiast {0} należy wstawić ID aplikacji. To jednak nie jest najlepszy sposób, aczkolwiek jest on bardzo przydatny z marketingowego punktu widzenia…

Sposób 2 – WP7 Game Services

Ciekawszym moim zdaniem sposobem jest przygotowanie usługi, która będzie odpowiedzialna za zbieranie i udostępnianie statystyk dla gry, którą właśnie tworzymy lub też rozwijamy. Z racji na fakt, że wiele osób tworzy lub też planuje stworzyć grę z publicznymi statystykami postanowiłem podzielić się swoim kodem i udostępnić całość w ramach Codeplex pod nazwą WP7 Game Services.

Całość składa się z trzech projektów i bazy danych.

MaciejGrabek.WP7.Services jest projektem opartym o ASP.NET MVC 4.0 WebAPI (aktualnie w wersji beta do pobrania z tego miejsca). Aby uniknąć konieczności wystawiania wielu serwisów dla wielu gier postanowiłem dodatkowo dorzucić do obiekt logiczny gry, dzięki czemu jedna instancja usług wystarczy na potrzeby różnych gier :)

MaciejGrabek.WP7.Services.Phone jest biblioteką, którą każdy może dołączyć do swojej aplikacji działającej na WP7. Najważniejszym jej elementem jest GameServicesCaller, który jest odpowiedzialny za komunikację z usługą.

MaciejGrabek.WP7.Services.Phone.Demo zawiera przykładowe użycie wspomnianego GameServicesCaller’a. Z racji na fakt, że przez przykład ludzie najszybciej się uczą moim zdaniem nie mogło zabraknąć takiego właśnie projektu :)

Bezpieczeństwo

Z racji na to, że nie chcemy aby ktoś w łatwy sposób podszył się pod naszą aplikację GameServicesCaller używa do komunikacji jeszcze jednej ważnej rzeczy, a mianowicie hasha gry. Jest on niezbędny przy dodawaniu jakiegokolwiek wpisu do bazy.

Dodatkowo każdy wpis jest identyfikowany ID urządzenia, przez co jeżeli ktoś poprawi swój wynik, to w bazie przechowujemy tylko jeden wpis – drugi zwyczajnie nie jest potrzebny, a dodatkowo zmniejsza to prawdopodobieństwo “przepełnienia” bazy.

Pobranie wyników jest natomiast niezmiernie proste, bo wystarczy wywołać api podając znormalizowaną nazwę gry np tak: http://mydomain/api/gameresults/catcheggs, dzięki czemu możemy stworzyć nie tylko klienta WP7, ale również dowolnego innego. Oczywiście dla wygody cała komunikacja odbywa się przy wykorzystaniu REST i JSON, co otwiera to rozwiązanie również na inne platformy :)

P.S.

Kiedy w grze będą statystyki online? Aktualnie czekam na uruchomienie ASP.NET MVC 4 na hostingu (mam nadzieję, że się uda) i po paru dniach uaktualnienie będzie gotowe do pobrania z Marketplace :)


Panel z najciekawszymi aplikacjami WP7

Jakiś czas temu ruszyła nowa strona poświęcona aplikacjom na Windows Phone. Możecie ją znaleźć tu: http://www.microsoft.com/poland/windowsphone/najlepsze-polskie-aplikacje/. Strona ta zawiera dwie grupy aplikacji. Pierwsza z nik to między innymi Facebook, Endomondo, Allegro czy Ceneo– czyli aplikacje top, lub też “must have”.

Druga grupa stanowi aplikacje promowane przez zespół Microsoft – aktualizacja znajdujących się na niej aplikacji będzie częstsza niż pierszej grupy, jednakże nie częściej niż ok 2 tygodnie. Na tej liście można się również znaleźć wykupując za punkty GeekClub pakiet promocyjny – w jego skład wchodzi również promocja aplikacji w przeglądarce Marketplace znajdującej się na telefonie…


  • O mnie

    Maciej Grabek

    Moje profile na:

    MVP

    Codeguru.pl GoldenLine
    Twitter CodeProject

  • english version
  • Polecam

  • Copyright © Maciej Grabek. All rights reserved.
    Powered by WordPress
    %d bloggers like this: