Ja nie chcę być programistą, ja chcę iść do łopaty!
Czyli piosenka o programiście .NET:
Oraz kino moralnego niepokoju:
W przypadku gdy autor pierwszej piosenki wydaje Ci się bardzo bliski, to powinieneś obejrzeć “Office Space”:
Hosting ASP.NET w Polsce – porównanie ofert
Jak co roku w okolicach maja stanąłem przed wyborem hostingu ASP.NET dla swoich aplikacji. Niezadowolony z HostedWindows.pl postanowiłem poszperać w tym roku głębiej i porównać dostępne oferty. A poniżej prezentuje swoje przemyślenia.
Moje coroczne założenia co do hostingu są bardzo proste i opierają się o kilka punktów:
- co najmniej 4-5 domen
- serwer MS-SQL (minimum 2005) z ilością baz w liczbie odpowiadającej ilości domen (jedną bazą jest zawsze Elmah ale też nie wszystkie moje domeny potrzebują bazy danych)
- .NET w wersji najnowszej (w tym roku nie wymagałem wersji 4.0)
- niska cena
Z takimi wymaganiami na rynku znalazłem następujące oferty:
- HostedWindows.pl z planem Standard
- Webio z planem Rozszerzony
- Home.pl z planem Windows PRO
- AMM z planem Standard ASP
Home.pl i HostedWindows.pl odpadły ze względu na cenę (900 i 600 zł).
Na polu bitwy zostało Webio oraz AMM. Choć Webio jest tańsze (170 zł), to AMM (400 zł) oferuję więcej domen i baz danych. Nauczony jednak doświadczeniem w tym roku postanowiłem nie kupować na wyrost. Na rzecz Webio przemawiał także fakt, że w czasie okresu testowego włączyli obsługę .NET 4.0, spodobał mi się panel zarządzania, miałem dobre doświadczenia z instalowania Auto Kabziński dla jednego z partnerów oraz właściciel widnieje na moim skypie i nigdy nie czekałem dłużej jak godzinę na reakcję.
Jednak nie ma róży bez kolców. Webio ma zablokowane uruchamianie aplikacji w debug-u, a więc jedynym wyjściem jest elmah – inaczej nie zobaczysz żadnych komunikatów; wielkość dostępnego miejsca na bazę także nie poraża i wynosi 250 MB oraz na bazie nie można włączyć full-texta (choć Grzegorz bardzo się przy tym nie upiera
).
“Windows Mobile Game Development”
Na rynku wydawniczym pojawiła się ciekawa pozycja związana z programowaniem gier na platformę Windows Mobile: “Windows Mobile Game Development”. Choć książek o samej platformie WM jest dość sporo, to jednak o programowaniu gier jest jak na lekarstwo.
Mimo, iż nadchodzi Windows Mobile 7 trzeba pamiętać, że Microsoft przez jeszcze nie określony czas będzie wspierał niższe platformy przez co książka jest wciąż na czasie. A muszę przyznać, że dawno nie czytałem tak dobrej książki.
Kto kiedykolwiek próbował pisać grę pod Windows Mobile, ten wie że jest to arcytrudne zadanie, zaczynając od wyboru odpowiednich technologii poprzez tworzenie interfejsów na co najmniej kilkanaście dostępnych rozdzielczości a kończąc na optymalizacji kodu. Ta książka pomoże ci w dokonywaniu odpowiednich wyborów; odpowie na pytanie dlaczego nie powinieneś używać DirectX, dlaczego GDI nie jest złym wyborem, jak odtworzyć kilka symultanicznych dźwięków w grze oraz jak sobie poradzić z synchronizacją czasową.
Na książkę składa się czternaście rozdziałów:
- Windows Mobile and .NET
- Mastering the User Interface
- GDI Graphics
- Taming the Device with the Game Engine
- Timing to Perfection
- Exploring User Input
- Sounding Out with Game Audio
- Game in Focus: GemDrops
- Common Game Components
- A New Window on the World with Open GL ES
- Creating 2D Games with OpenGL
- The Ins and Outs of the Third Dimension
- Further OpenGL Features and Techniques
- Distributing Your Game
Na początku autor wprowadza nas w arkana GDI i zegarów poprzez obsługę dźwięku i zdarzeń użytkownika związanych z interfejsem do Open GL ES. Książka zawiera bardzo dużo przykładów oraz porównuje różne technologię (np. obsługi dźwięków). Jednocześnie autor buduje z czytelnikiem silnik gry, który później użyty jest do zbudowania gry GemDrops.
Książka można kupić w Amazon w cenie 35,99$ lub bezpośrednio u wydawcy Apress w postaci eBooka w cenie 34,99$.
MIX10 i Windows Phone 7 Series – moje wrażenia
MIX10 oficjalnie się zakończył. Właściwie powiedziano już wszystko i znam odpowiedzi na prawie wszystkie nurtujące mnie pytania. Postaram się w skrócie podsumować to wszystko co powiedziano na MIX-ie oraz dodać kilka swoich przemyśleń.
A więc po kolei.
Po pierwsze udostępniono Windows Phone Developer Tools CTP, które zawiera:
- Visual Studio 2010 Express for Windows Phone CTP
- Windows Phone Emulator CTP
- Silverlight for Windows Phone CTP
- XNA 4.0 Game Studio CTP
Wbrew pozorom ta informacja niesie ze sobą podprogowy przekaz
Otóż na 99% możemy się spodziewać Visual Studio 2010 Express w wersji dla deweloperów Windows Phone. Co jest rewelacyjną informacją dla osób, które do tej pory nie mogły sobie pozwolić na “pełną” wersję Visual Studio (Express nie wspiera pisania aplikacji pod WM). A więc prawie na pewno przybędzie chętnych do spróbowania swoich sił.
Po drugie sam nowy system operacyjny jest dość kontrowersyjny:
- nie obsługuje multitaskingu a więc aplikację nie będą mogły chodzić w tle
- nie ma opcji kopiuj / wklej – Microsoft tłumaczy się zaawansowanym systemem rozpoznawania informacji na ekranie (np. numerów telefonu). Ale nijak nie potrafię sobie wyobrazić sytuacji kiedy chcę przekleić np kawałek tekstu strony internetowej i wrzucić to na Blipa.
- nie ma kart pamięci – jakoś nie wyobrażam sobie sytuacji gdzie ładuje do pamięci Auto Mapę , która ma 1GB danych i trzymam to non stop w telefonie
- nie masz dostępu do plików – nie żebym był jakiś strasznym fanem tego rozwiązania ale nie wyobrażam sobie sytuacji gdzie nie mogę ręcznie posprzątać plików w pamięci a pisząc programy telefon można zaśmiecić bardzo szybko
Po trzecie zmiany dotkną Marketplace:
Zostaną usunięte ograniczenia geograficzne. W końcu! Jakbym miał jeszcze raz w życiu wrzucić Tangram Pro osiem razy w języku angielskim tylko dlatego, że to inny kraj to chyba bym sobie darował.
Po czwarte – zajmijmy się konkretami:
Zestaw nowych bibliotek .NET dla Windows Phone 7 Series jest w wersji 4.0 – oczywiście mowa o podstawowym zestawie. A więc tu bez zmian – Microsoft zachował się tak jak przy poprzednich wersjach i udostępnił prawie identyczne zestawy.
Poza nim dostajemy zestaw bibliotek XNA w namespace Microsoft.XNA. Muszę przyznać, że odrobinę bawiłem się XNA na emulatorze i wyniki są naprawdę genialne. W tym się naprawdę bardzo prosto pisze gry. Koniec ze sztuczkami graficznymi GDI. Dostajemy prawdziwe narzędzie do pisania gier.
Plus zestaw silverlight z namespace Microsoft.Phone.Controls. Tutaj nie ma rewelacji. Oczywiście CTP nie jest wersją ostateczną, ale aktualny zestaw kontrolek nie powala. Brakuje mi wielu rzeczy i mam nadzieję, że to się zmieni. Co jest ciekawe w Application.Resources dostajemy domyślny zestaw styli telefonu a więc odpada nam karkołomna sztuka ustalania standardu. Na pewno zyskają na tym interfejsy i iPhone z Androidem mogą się zacząć bać, choćby z tego powodu że SL na telefonie wspiera IIS Smooth Streaming, DRM i tym podobne “dobra”.
API telefonu dostępne jest w bibliotekach Microsoft.Device. Obecnie widać akcelerometr i wibrację. Na pewno jest jeszcze obsługa kamery z dostępem do “czystych” klatek oraz kompas.
Kolejna ciekawostka. Dodano bibliotekę Microsoft.Phone.License która zawiera w sobie jedyną klasę License a w niej metodę IsTrial(). Marketplace otrzyma możliwość udostępniania aplikacji w wersji trial i wtedy powinniśmy sprawdzić wartość tej metody. Zastanawia mnie tylko jak się Microsoft zabezpieczył się przed podmianą tej biblioteki na taką która zawsze będzie zwracać false.
Na zakończenie otrzymaliśmy Microsoft.Phone.Notification do obsługi notyfikacji oraz Microsoft.Phone.Tasks która ma obsługiwać odpalanie map Bing, okna kamery, przeglądarki internetowej oraz odpowiada za obsługę pseudo funkcji wklej, bo na przykład pozwala zapisać adres email klasą SaveEmailAddressTask.
Na marginesie nie ma bibliotek System.Windows tak jak wcześniej zapowiadano a więc nie ma klasy Clipboard do obsługi schowka.
A tych wszystkich, których zastanawia brak File Explorera w telefonie przy jednoczesnym istnieniu biblioteki System.IO czeka niemiła niespodzianka. Ale to już sprawdźcie sami
Podsumowując
Nawiązując do jednego ze swoich poprzednich postów Windows Phone 7 Series – lista życzeń programisty spełniły się dwa z moich trzech życzeń. SL jest w wersji 4. Za Expression Blend będę musiał w Polsce zapłacić pewnie z 2 tysiące złotych (pomijajjąc fakt, że u nas jest on dużo droższy niż np w USA) oraz system posiada API do kamery, akcelerometru i kompasu. Myślę, że to niezły wynik.
W jakich kolorach maluje się przyszłość power userów? W tym momencie trudno odpowiedzieć na to pytanie. Jeżeli jesteś “kucharzem” ROM-ów i zapalonym tweakerem to zapewne porzucisz Windows Mobile i przerzucisz się na Androida.
A co do deweloperów – na odpowiedź musimy zaczekać do pierwszych wyników sprzedaży telefonów z Windows Mobile 7. Jeżeli się okaże, że telefony sprzedają się rewelacyjnie to nic tylko pisać aplikację i zarabiać kasę. Jeżeli jednak okaże się, że Microsoft się pomylił to nie pozostanie nam nic jak tylko przerzucić się na Androida / iPhone-a.
Pocket GPW 1.2
Nowa odsłona programu Pocket GPW po sugestiach użytkowników.
Zmiana obejmuje wykresy dla notowań / indeksów. Wykres jest pobierany w momencie uaktywnienia zakładki “Wykres”.
Aplikacja dostępna jest na portalu Codeplex.
Pocket Blip 2.0
Kolejna odsłona Pocket Blip. Już dostępna w Windows Marteplace oraz na stronie aplikacji.
- Zmiany w wersji 2.1:
- Dodana odpowiedź z cytowaniem.
- Dodana opcja bliplog w “Skocz na…”.
- Dodana opcja “przybliżonej lokalizacji” określanej na podstawie wieży komórkowej (ta opcja może nie działać na niektórych telefonach).
- Dodane proste dodawanie ^pocketblip do obserwowanych.
- Dodany podgląd profilu użytkownika ze statystykami dostarczanymi przez Blipi.pl.
- Dodany podgląd i zarządzanie obserowowanymi.
- Dodany podgląd obserwujących.
- Dodane wklejki do wiadomości (często używane teksty).
- Dodana opcja pozwalająca na wylączenie połączenia przy roamingu + opcja na pobieranie danych tylko po WiFi.
- Zmieniona sekretarka, teraz także pokazuje “cytowania ciebie” i “mówienie o tobie”.
- Zwiększona ikona zdjęcia przy wiadomości na ekranach VGA i większych.
- Zmiana “Przejdź…” na “Skocz na…”.
- Zmiana okna “Skocz na…”.
- Zmiany w notyfikacjach.
- Zmieniony sposób wyświetlania daty / godziny wiadomości.
- Usunięta opcja sprawdzania wersji (naruszała regulamin Windows Marketplace for Mobile).
Windows Phone 7 Series – lista życzeń programisty
W czasie ostatniej konferencji Mobile World Congress 2010 dowiedzieliśmy się jak wygląda Windows Phone Series 7. Są tacy, którym nowy system operacyjny bardzo się podoba, mimo że część power-userów narzeka na jego “cukierkowość”. Jakby na nowy system operacyjny nie spojrzeć, Microsoft musiał zamiast kroku naprzód wykonać skok i zerwać ze starym interfejsem. Ja osobiście jest zwolennikiem takiego rozwiązania, bo konkurencja jest aktualnie lata świetlne przed nią. Bardzo cieszy mnie fakt, że sam interfejs nie jest kolejnym klonem iPhone-a w postaci siatki ikonek. Wygląda inaczej i wg mnie wygląda fajnie.
Tak czy inaczej pomijając aspekty estetyczne, dla mnie ważniejsze jest to co nowy system operacyjny niesie ze sobą dla programistów. Wiemy już, że na pewno za interfejs odpowiada Silverlight, nie wiemy tylko jeszcze w jakiej wersji. A co poza tym? Na razie kolos milczy, choć ma rozwiać mgłę w czasie nadchodzącego MIX-a 16-go marca. Wszystkie eventy będą transmitowane live, więc nie martw się jeśli cię tam nie będzie.
Zanim jednak Microsoft przedstawi swoją wizję Windows Phone 7 Series deweloperom, chciałbym przedstawić swoją listę życzeń:
- Silverlight w wersji co najmniej 3 – taka jest wg mnie obecnie wystarczająca z pełną paletą podstawowych kontrolek, które są dostępne już teraz.
- Visual Studio 2010 z zintegrowanym Expression Blend – nie mogę się przekonać do faktu, że te dwa narzędzia pracują obok siebie; moja wizja Blend-a jest zintegrowana w VS i nieoficjalnie z pewnych źródeł wiem, że tak się stanie
- Wspólne SDK-a dla wszystkich telefonów, narzucone przez Microsoft obsługujące kompas, kamerę, akcelerometr, inne czujniki i led. Mam nadzieję, że w końcu ktoś się obudzi i narzuci producentom pewne wymagania które musi spełnić każdy telefon a firma z Redmond stanie na wysokości zadania i dostarczy wspólne SDK dla wszystkich bajerów jakie tylko się mogą w telefonie znaleźć.
Jeżeli deweloperzy otrzymają w końcu GUI spełniające aktualne standardy, to na pewno powali to rozwiązania Androida oparte o tworzenie graficzek w PNG (sic!). Ale poza interfejsem potrzebujemy dostęp do wszystkich możliwości telefonu nie bawiąc się w pisanie wrapperów i innych cudów, które często działają tylko na telefonach jednej firmy. A zintegrowane środowisko w postaci Visual Studio z edytorem jak w Blend-zie będzie wisienką na torcie i tak najlepszego IDE jakie obecnie wyprodukowano.
Windows Mobile 6.5.3 Developer Tool Kit ponownie udostępniony
Może pamiętacie jak kilka dni temu Mirosoft udostępnił Windows Mobile 6.5.3 Developer Tool Kit po czym instalator zniknął. Szczęśliwcy ci, którzy nie zdążyli go ściągnąć (ja się do nich nie zaliczam) i go nie zainstalowali. Otóż poprzedni release zawierał błędy i po instalacji nie dało się na nim pracować. Nie dość tego także niszczył SDK od innych wersji i “niefortunne” dążenie do nowinek i ładniejszych screnów w Windows Marketplace dla mobilnych urządzeń kosztowało mnie reinstalację wszystkich SDK-ów od wersji 5 począwszy.
Tak czy inaczej Microsoft podobno naprawił błędy i ponownie udostępnił Tool Kit-a, którego można pobrać tutaj. Ja jednak tym razem chwilę poczekam…
BlipiNET 2.0
Marek Foss od Blipi.pl zaktualizował dziś API do wersji 2.0 wprowadzając kilka ulepszeń. Co za tym idzie zaktualizowałem także BlipiNET.
Zmiany w najnowszej wersji:
- klucz API wymagany jest tylko do wyszukiwania, reszta metod go nie używa
- usunięte zostały metody GetTrackedBy oraz GetRank
- powyższe metody zastąpiła metoda GetStats która zwraca pełne statystyki użytkownika: liczba obserwujących, zmiana liczby obserwujących, liczba obserwowanych, zmiana liczby obserwowanych, liczba cytowań, liczba wzmianek, ranking i zmiana rankingu
Ponieważ aktualnie pracuje nad zmianami w Pocket Blip już można zobaczyć roboczą wersję widoku profilu użytkownika:
Marek na Blipie zdradził także, że pracuje nad udostępnieniem trendów w API.
“Mobile Development Handbook”
Książek o programowaniu na platformę Windows Mobile w języku polskim nie uświadczymy. W języku angielskim jest natomiast w czym wybierać. Na samym Amazon-ie jest co najmniej kilka pozycji wartych polecenia. Jedną z nich jest właśnie “Mobile Development Handbook”.
Dlaczego ją akurat wybrałem nie mam zielonego pojęcia. Ale z doświadczenia wiem, że książki Microsoft-u stoją na dobrym poziomie. A ponieważ nie jestem zwolennikiem rozmyślań autora nad wyższością bożego narodzenia nad wielkanocą dlatego preferuje książki które formą przypominają helpy opatrzone bardziej dokładnie opisanymi przykładami niż poradniki gotowania na parze.
Książka składa się z dziewięciu części:
- .NET Compact Framework – a Platform on the Move
- Building a Microsoft Windows Forms GUI
- Using SQL Server 2005 Compact Edition and Other Data Stores
- Catching Errors, Testing and Debugging
- Understanding and Optimizing .NET Compact Framework Performance
- Completing the Application: Packaging and Deployment
- Exchanging Data with Backend Servers
- Networking
- Getting Connected
Jak widać ze skróconego spisu treści książka obejmuje praktycznie wszystkie zagadnienia które mogą interesować każdego programistę Windows Mobile. Dlatego polecam ją każdemu kto dopiero ma zamiar zacząć przygodę z WM jak i tym, którzy już zjedli na niej zęby – bo na pewno im się przyda.
Ze swojej strony powiem tylko, że części o SQL CE pochłonąłem w jedno popołudnie; bo nigdy nie byłem orłem i fanem sposobu obsługi baz danych do którego przyzwyczaił nas Microsoft. Nie wspominając już o synchronizacji z “pełnym” SQL-em co zawsze przyprawiało mnie o ból głowy.
Minusem książki jest fakt że opisuje .NET CF w wersji 2.0. Wersja 3.5 jest tylko miejscami wspominana. Ale jeżeli ktoś orientuje się w różnicach między obydwiema wersjami wie, że nie ta rozbieżność nie wprowadza sporych różnic. Sam Compact Framework między tymi wersjami nie uległ znaczącym zmianom a .NET dostał tylko kilka dodatków ułatwiających pisanie aplikacji.
Książka do kupienia w Amazon w cenie 44,09$.
Z ciekawostek książka ma swoją grupę na Facebook-u Microsoft Mobile Development Handbook.







