Recenzję zacznę od napisania jakie miałem oczekiwania od tej książki. Chciałem książkę, która pokaże dla osób które mają już jako taką wiedzę odnośnie WPF’a jak niektóre rzeczy robi się w Silverlight’cie. Wiadomo, nie wszystko tu jest dostępne i czasem trzeba iść na około. Nie chciałem książki, która będzie przez 100 stron wałkować co to XAML.

W porządku. Jak już nakreśliłem jakie miałem oczekiwania mogę przystąpić do omówienia i recenzowania książki.

W pierwszym rozdziale następuje wprowadzenie o technologii Silverlight. Co to jest i z czym to się je. Jest trochę omówienia XAML’a ale 4 strony mogę przetrzymać.

Rozdział 2 przedstawia sposób użycia plugin-u, który posłuży nam za odtworzenie naszej aplikacji. Ciekawa sugestia odnośnie jak pluginy mogą się komunikować ze sobą za pomocą udostępnianych na zewnątrz metod. Trzeba będzie to przy okazji wypróbować.

Rozdział 3 omawia podstawowe kontrolki do layoutowania oraz TextBlock. Choć sądziłem, że w tym temacie niewiele ciekawego może być to jednak się myliłem. Cursor oraz elementy Run i Linebreak to coś co sądziłem jest dostępne do użycia tylko w klasie Document. Jak widać nie – można ich użyć do rozmieszczania tekstu także w TextBlock.

Rozdział 4 omawia interakcję z użytkownikiem. Prócz standardowych, omówione zostały także troszkę bardziej skomplikowane kontrolki jak np. InkCanvas. Nieznana wcześniej dla mnie kontrolka to Popup. Umożliwiająca uzyskanie w łatwy sposób wyskakującego, modalnego okna.

Rozdział 5 rozczarowuje. Omawia on data binding, jednak głównie podstawy ale mimo tego jest kilka rzeczy, których można się nauczyć. W moim przypadku była to informacja o tym, że grid w SL działa w trybie UI virtualization, jak też trochę informacji o konfiguracji Grid’a o których wcześniej nie wiedziałem (np. dostosowywanie wierszy oraz nagłówków). Ciekawie, ale bez rewelacji.

Tematem kolejnego (6.) rozdziału jest Networking and communication i zawiera podstawowe informacje jak korzystać ze źródeł danych w Silverlight. Omawia parę detali technicznych o których nie miałem wcześniej pojęcia, tak więc przydatność tego rozdziału jest jak dla mnie zadowalająca.

Rozdział 7 to zarządzanie cyfrową informacją czyli jak przygotować i odtwarzać audio i wideo. Rozdział ciekawy, pewnie dlatego, że przed przeczytaniem książki z tematem tym miałem niewielką styczność. Rozdział omawia też odtwarzanie zabezpieczonych danych. Na koniec dodano krótkie omówienie technologii DeepZoom

W kolejnym zostało omówione działania jakie możemy wykonywać na grafice w SL. Shape, Geometries oraz omówienie typów Brush’y to główna zawartość rozdziału z odrobinką transformacji na zakończenie. Niestety głównie podstawowe rzeczy.

Animacje to temat rozdziału 9. i jest to w zasadzie główny powód mojego czytania książki. W rozdziale opisane są typy animacji, i po części zaznaczone różnice występujące pomiędzy WPF a SL.

Zasoby i ich zarządzanie opisane są w rozdziale 10 i na szczęście duży jego fragment poświęcony VisualStateManger’owi – coś co chciałem dogłębniej zrozumieć.

Przedostatni rozdział to omówienie IsolatedStorage. Wspomnienie, iż taka przestrzeń jest dostępna dla naszych aplikacji w SL jest istotnet jednakże przykłady pokazujące jak użyć IsolatedStorage uznałbym za poniżej poziomu. Temat ten nie jest specyficzny dla SL i przykłady jak otworzyć plik w przestrzeni IsolatedStorage są wg. mnie chybione. Przykłady wykorzystania BackgroundWorkera też. Duży minus.

Na koniec omówiony został temat deploymentu. Z ciekawych rzeczy w tym rozdziale został pokazany przykład podmiany SplashScreen’a. Ogólnie rozdział na plus.

Podsumowując, książka w dobry sposób omawia technologię Silverlight 2, ale niestety moich potrzeb nie zaspokoiła. Mam nadzieję, że Foundation Silverlight 2 Animation będzie bardziej użyteczna.