sobota, 14 października 2006

.NET 3, WPF, XAML, XBAP

Pamiętam jak kiedyś zrobiłem stronę o SVG po polsku. Było to wtedy jak Adobe wypuściło Adobe SVG Viewer w wersji beta. Spodobało mi się to. Pisałem krótkie informacje na temat programowania w SVG. Uczyłem się tego języka, bo myslałem, że stanie się popularny tak jak PDF bo miało stać sie częscią Adobe Readera. Ale jak potem zauważyłem ten standard zainteresował tylko garstkę ludzi. W czym to się przejawiało? W tym, że nikt nie napisał dobrej ksiązki o tym standardzie. W tym samym czasie Macromedia silnie dbała o marketing, organizowała konkursy promowała autorów którzy pisali ksiazki o Macromedia Flash. Co to oznacza? Oznacza że wycianeła wnioski z "porażki" jakim był produkt Macromedia Director. Juz w trakcie pisania artykułu o SVG do jednego z polskich czasopism informatycznych zauważyłem że SVG stoi na przegranej pozycji. Usunełem serwis o SVG. I tak rozpocząła się moja przygoda z Flashem. To co w nim mnie zainteresowało to był ActionScript.

Z drugiej strony byłem zdziwiony tym że Microsoft wypuszcza coraz lepsze oprogramowanie graficzne dla internetu, którego nie umiał sprzedać. Najpierw był to Liquid Motion 1.0, który możliwościami przekaczał ówczesnego Flasha 3. Potem odkryłem w Intenet Explorerze 4 DirectAnimation poteżną bibliotekę do tworzenia animacji wektorowej i 3D wykorzystującej tez multimedia. Programować mogłem w JavaScript i jak VisualBasicScript. To co mnie trochę przeraziło to, że dokumentacja API była wtedy jedna z największych (200 MB) tysiące klas i metod prawie setka przykładów w JScript, VBScript i Javie (Microsoftu). Ale to było niczym w porównaniu z MS Chromeffect dla Windows 98. To było coś niesamowitego. Pierwsza aplikacja wykorzystajaca XML, języki skryptowe, efekty graficzne specjalne jak z filmów, sterowanie głosem (MS Agent i MS Speech) wykorzystanie trójwymiarowych awatarów i to wszystko z poziomu przeglądarki internetowej. Dokumentacja MS Chromeffect to prawie 600 MB. A samo runtime (silnik i biblioteki) miały tylko 30 MB. Dla mnie produkt z 1998 roku pozostawał szczytem możliwości co może zawierać strona internetowa. Wtedy konkurować mogła tylko z Macromedia Director.

Obecnie Microsoft wraca znowu do możliwości jakich wtedy oferował Chromeffect. W .NET3, szczególnie w Windows Presentation Framework (WPF) jest biblioteka oferująca programistom
tworzenie bogatego graficznie interfejsu uzytkownika wraz ze wsparciem do grafiki trójwymiarowej. Obecnie .NET3 jest jeszcze w wersji release candidate. To oznacza że nic nowego nie będą dodawać do API. Ta wersja ma pomóc w poprawieniu w działaniu przed końcowa optymalizacja wersji końcowej.

Mnie zainteresował WPF jako biblioteka do tworzenia bogatego interfejsu użytkownika i próbą przeniesienia możliwosći jakie dawało tworzenie interfejsu GUI w .NET do przeglądarki internetowej. Z WPF związany jest język znacznikowy XAML, który służy do tworzenia wyglądu aplikacji deskopowej i jak internetowej. Projektant interfejsu i jak programista mogą osadzić aplikację w przeglądarce internetowej zarówno w postaci intepretowanej jako dokument XAML i jak w postaci pliku binarnego (XBAP).

Jakie możliwości oferuje Windows Presentation Framework?
XAML to język znacznikowy słuzacy do tworzenia aplikacji deskopowych i jak intenetowych. Dzięki swoim możliwościom może stać się konkurentem ( raczej rozszerzeniem) dla aplikacji XHTML
Wykorzystanie grafiki 3D pozwoli na wykorzystanie potencjału jaki tkwi w nowoczesnych kartach grafiki w internecie.
Strony internetowe mogą w wiekszym stopniu przypominac prasę dzięki zastosowaniu szpalt czy układu kolumnowego ( a takze możliwosci jakie daje wyświetlenia w wyższych rodzielczościach na wielkich monitorach)
Zastosowanie technologii ClearType sprawi ze czytanie stanie się przyjemnością. Pozwoli to też na osadzanie czcionek.
Wykorzystanie grafiki wektowek sprawi że aplikacje stanasiegraficznie interesujace.
Pliki XAML i jak XBAP są uruchamiane przez przeglądarkę w bezpieczny sposób bazujac na restrykcujnych zasadach że te pliki nie mogą wykonywać niedozwolonych operacji. Oznacza, to że są plikami wykonywalnymi i nie instaluja się na dysku twardym.
Pozwala to na pisanie częsci programistycznej w językach platformy.NET dla skryptów w dokumentach XAML (badz skompilowanych w plikach XBAP)
Rzeczą, która może "przerazić"śmiałków do nauki tej technologii jest fakt, że sama dokumentacja do .NET3 to ponad 1GB danych.


Co to oznacza? Bardzo interesujacą walkę o wzgledy na rynku reklamy online. Prawdopodobnie będą tworzone strony internetowe w XAML. Już News Times NewYork dostarczył aplikację pozwalająca wykorzystywać w pełni możliwości .NET3 (tylko czekać jak wprowadzą wersję XBAP czy w samym XAML).
Na rynku wydawniczym już pojawiły się ksiazki poświecone tej technologii wydawnictwa MS Press i O'Reilly.
XAML In a Nutshell, napisanej przez Lori A. MacVittie. Programming Windows Presentation Foundation, napisaną przez Chrisa Sellsa i Iana Griffitbsa. Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation, napisaną przez Charlesa Petzolda

Dla mnie oznacza to spędzenie sporego czasu na poznanie możliwości jakie daje WPF. Dobrze że znam już języki programowania platformy .NET C# i jak VB.NET.

Dla niezdecydowanych mogę powiedzieć że wojna między Microsoftem a Adobe będzie bardzo krwawa szczególnie o rynek reklamy internetowej. Czytelniku radzę przygotować już zbroję na pojedynek i dokonać wyboru za kim stoisz. Ja mam nadzieję że specjaliści do projektowania interfejsu graficznego będą musieli znać XHTML\CSS bądz Flex\Flash lub XAML\XPS

Wewnętrznie jestem przekonany że na tej wojnie technologii marketingowej dla internetu zwycieżcami będą programisci tych nowych technologii i specjaliści od graficznego interfejsu użytkownika.

Brak komentarzy: