Jak zapewne zauważyliście wpisy na blogu pojawiają się ze znacznie mniejszą częstotliwością niż jeszcze dwa miesiące temu i oscylują wokół tzw. tematów miękkich.Wszystko za sprawą projektu, który od dobrych kilku (jeśli nie kilkunastu) tygodni zajmuje większość czasu przeznaczonego na “psucie sobie wzroku”. Ponieważ data publikacji aplikacji zbliża się nieubłaganie, postanowiłem podzielić się wrażeniami jakie dostarczyło mi pisanie pierwszej dużej aplikacji na platformę Windows Phone 7.

Narzędzia

Zacznijmy od narzędzi. Niejednokrotnie już pisałem, że nie ma lepszego IDE nad Visual Studio. I mimo iż korzystam z wersji Express, zdanie to podtrzymuję. Jedynie firma Jetbrains była w stanie wypuścić dorównujące mu produkty. Dlaczego VS jest taki dobry? Nie da się tego opisać w skrócie. Mógłbym wymienić takie funkcjonalności/funkcje jak debugger, podgląd na żywo wprowadzanych zmian, integracja z Expression Blend, automatyczne generowanie kodu, automatyczne formatowanie kodu i wiele innych, ale i tak trzeba to zobaczyć na własne oczy.

Niezastąpioną pomocą okazał się emulator (zwłaszcza po aktualizacji do Mango).

4

Poza standardowym widokiem “telefonu”, dostajemy trzy bardzo potrzebne narzędzia – symulator akcelerometru, zmiany położenia oraz narzędzie do wykonywania zrzutów ekranu.

1 2 3

Materiały dydaktyczne

Na tym polu dominuje MSDN oraz AppHub. Oba serwisy są kopalnią wiedzy na temat tworzenia aplikacji na Windows Phone 7 i dostarczają wszystkich niezbędnych informacji. Wszystkim lubiącym oglądać, a nie czytać, z pewnością do gustu przypadnie Channel 9.

Jednak mimo ogromu wiedzy zgromadzonej w wymienionych serwisach, zdarza się czasami (w przypadku początkującej osoby częściej) konieczność wyszukania odpowiedzi na konkretne pytanie. Tutaj z pomocą przychodzi niezastąpiony stackoverflow, na którym znalazłem odpowiedź na zdecydowaną większość moich problemów. Co najlepsze, nie musiałem nawet zadawać pytania, wystarczyło kilkanaście minut z wyszukiwarką. Przez cały czas tworzenia aplikacji zadałem tylko jedno pytanie (niestety nadal czekam na odpowiedź – najwyraźniej jest to pytanie z kategorii niemożliwych).

Na koniec pozostaje Visual Studio, które dostarcza podstawowych informacji na temat wykorzystywanych przestrzeni nazw i klas oraz pilnuje abyśmy przypadkiem nie popełnili błędu (np. dopisuje przestrzenie nazw, z których korzystamy).

Niespodzianki

Pierwszą niespodzianką była możliwość wypożyczenia z Microsoftu telefonu z WP7, który mogłem bez obaw zaktualizować do deweloperskiej wersji Mango na tydzień przed oficjalną premierą i testować na nim wczesną wersję aplikacji.

Zaskoczenie spotkało mnie również ze strony Zune, aplikacji służącej do komunikacji między komputerem i telefonem. Ów aplikacja musi być włączona, aby można było zainstalować aplikację na telefonie (testowanie aplikacji na urządzeniu + debugger). Jakież było moje zdziwienie, gdy okazało się, że Zune “daje” telefonowi Internet, przez co funkcjonalność testowana na telefonie połączonym do komputera działała poprawnie, a po odłączeniu kabla ubija całą aplikację. Kilka dni się nad tym głowiłem.

Na minus muszę zaliczyć czas, w którym rozpocząłem pracę nad aplikacją, czyli tuż przed premierą Mango, gdy jeszcze nie pojawiły się rozwiązania nietypowych problemów z Mango, a odpowiedzi sprzed kilku miesięcy po prostu nie działają. Musiałem przez to samemu rozwiązywać nietrywialne problemy, co skutecznie spowolniło tworzenie aplikacji.

Mocno zdziwiła mnie ilość kodu jaki wyprodukowałem (a to jeszcze nie koniec). Zdaję sobie sprawę, że wynika to przede wszystkim z braku doświadczenia i praktyk przenoszonych z aplikacji www, jednak nadal uważam, że jest go dużo. Do tego sporo kodu generowanego domyślnie wydaje się być niepotrzebne (w sensie “to powinno zostać schowane przez programistą”).

Może nie niespodzianką, a odmianą jest zupełnie inne podejście do tworzenia aplikacji. Przenoszenie schematów z aplikacji www na dłuższą metę się nie sprawdziło (przynajmniej w moim przypadku) i musiałem wypracować nieco inne podejście do tematu co z kolei przełożyło się na kilka błędnych decyzji.

Podsumowanie

Mimo iż prace nadal trwają, a przede mną jeszcze wiele godzin siedzenia nad aplikacją, mogę śmiało stwierdzić, iż tworzenie aplikacji na WP7 mimo początkowych problemów, jest stosunkowo proste. Czasochłonne – ale proste. Co prawda zdarzają się momenty, w których jakaś błahostka zatrzymuje prace na kilka dni, ale wynika to bardziej z braku doświadczenia niż z konstrukcji samej platformy. Nie bez znaczenia jest również fakt, że przez większość dnia mam do czynienia z aplikacjami www i przestawienie się na inny tok myślenia wymaga nieco wprawy. Koniec końców wypatrujcie w Marketplace kolejnej polskiej aplikacji na WP7. Co to za aplikacja, napiszę przy okazji jej premiery.