Polski akcent w strategii .Net

Ponad 2700 programistów wzięło udział w polskiej edycji konferencji Microsoft Developer Network.

Ponad 2700 programistów wzięło udział w polskiej edycji konferencji Microsoft Developer Network.

<b>Karol Zadora-Przyłęcki</b>, polski programista pracujący w Microsofcie w zespole tworzącym Visual Studio .Net

<b>Karol Zadora-Przyłęcki</b>, polski programista pracujący w Microsofcie w zespole tworzącym Visual Studio .Net

Wbrew obawom organizatorów, mundial i mecz polskiej reprezentacji z Koreą nie zakłóciły największej konferencji programistycznej. Przez dwa dni goście z całej Polski wysłuchali wykładów o tworzeniu aplikacji dla urządzeń przenośnych i praktycznym wykorzystaniu technologii .Net.

Wszystko co się porusza

Podobnie jak przed rokiem, ogromne zainteresowanie wzbudziły sesje poświęcone aplikacjom dla urządzeń przenośnych. Omawiano zarówno obecnie dostępne narzędzia do tworzenia aplikacji, jak i nową platformę .Net Compact Framework. Oddzielne sesje poświęcono inteligentnych telefonów.

.Net Compact - podobnie jak systemy operacyjne z serii Windows NT - jest oparty na specjalnej warstwie PAL (Platform Abstraction Layer), która w pewnym stopniu uniezależnia .Net Framework od konkretnego modelu urządzenia. W warstwie PAL są umieszczone wszystkie mechanizmy specyficzne dla danej architektury sprzętowej.

Platforma .Net CF ma możliwości zbliżone do tych, jakimi dysponuje pełna wersja .Net. Niedostępne są mechanizmy tworzenia obiektów COM (można jednak wywoływać istniejące komponenty). Nie ma kompilatora działającego podczas instalowania aplikacji - econoJIT (zawsze kompiluje kod MSIL podczas pierwszego uruchomienia). Brak też mechanizmów Reflection do dynamicznego zarządzania typami w kodzie programu oraz możliwości wykorzystania w pełni modułu Remoting (można natomiast wywoływać dowolne usługi, w tym również usługi Web). Zubożono także elementy interfejsu użytkownika, nie ma np. możliwości wykorzystania układu okien MDI, skorzystania z pełnego GDI+ czy funkcjonalności OLE drag & drop.

W trudniejszej sytuacji są programiści chcący pisać aplikacje dla tzw. inteligentnych telefonów. Obecnie dostępny pakiet Smartphone 2002 SDK pozwala na programowanie tylko w języku C/C++ przy użyciu bardzo ograniczonego podzbioru API. Jednak ci programiści, którzy pamiętają programy pisane w klasycznym API z ręczną obsługą komunikatów i uważnym przekazywaniem parametrów, powinni bez trudu poruszać się w tym środowisku. Interfejs użytkownika Smartphone jest jeszcze bardziej uproszczony niż PocketPC. Urządzenia mają co najwyżej 8 MB RAM, mały ekran i zwykle 5 przycisków. Programista dysponuje wysoko wyspecjalizowanymi kontrolkami (różnymi wariantami list, co upraszcza konstruowanie interfejsu).

Nic nie stoi jednak na przeszkodzie, aby skorzystać z rozwiązań opartych na WWW. Mobile Information Server może tworzyć strony dostosowane do konkretnego telefonu, a standardowe oprogramowanie Smartphone zawiera przeglądarkę Internet Explorer. Na razie jest ona zgodna tylko z HTML 3.2 i WAP 1.2.1.

Na pakiet .Net Compact Framework dla inteligentnych telefonów należy poczekać do października 2002 r. Przedstawiciele Microsoftu wyraźnie stwierdzili, że w przypadku starszych typów urządzeń przenoś-nych lepiej pisać aplikacje przy użyciu Visual Embedded Tools niż za pomocą .Net CF (które najlepiej sprawdza się na architekturze typu PocketPC 2002).

.Net od kuchni

Drugi dzień konferencji był poświęcony praktycznym zagadnieniom związanym z wykorzystaniem technologii tworzących .Net. Specjalną sesję poświęcono zaawansowanym zagadnieniom ADO.Net. Przy okazji omawiania ASP.Net przedstawiono dokładny schemat przetwarzania żądań HTTP na platformie .Net, w tym wiele uwagi poświęcono mechaniz-mom cache'owania stron. Wspomniano o nowych elementach, które pojawią się w IIS 6.0 wraz z serwerem .Net.

Specjalnym gościem konferencji był Karol Zadora-Przyłęcki, polski programista pracujący w Microsofcie w zespole tworzącym Visual Studio .Net. Przedstawił on "od kuchni" rozwój tak skomplikowanego oprogramowania, jak VS.Net. Podkreślał znaczenie kultury pracy. Większość zasad obowiązujących w jego zespole jest ujęta w nieformalnych tzw. najlepszych praktykach. Do nich należą również sposoby rozwiązywania sytuacji konfliktowych, gdy np. w wyniku zmian dokonanych przez jeden zespół przestaje działać komponent używany przez drugą grupę, nawet pracującą nad rozwojem innego produktu. Każdy kod, zanim zostanie zamieszczony w repozytorium, musi przejść testy. Kompilowana jest całość produktu. Każda operacja związana z tworzeniem kodu czy jego testowaniem może być wykonana z linii poleceń.

"Usuwanie błędów ma priorytet nad dalszym rozwojem aplikacji" - mówi K. Zadora-Przyłęcki. Innymi słowy, nowe elementy nie są dodawane tak długo, aż stare przejdą testy. Należy dodać, że rozwój aplikacji VS.Net i .Net Framework nie jest ograniczony ścisłym planem. Opracowane na początku założenia CLS i ogólne wytyczne projektu pozwalają na zachowanie spójności idei, ale nic nie stoi na przeszkodzie, aby programista proponował własne pomysły, które po akceptacji szefa zespołu będą realizowane. Żelazną zasadą jest przegląd kodu. Każdy nowy element umieszczany w produkcie jest analizowany przez kolejnego programistę, a czasami nawet przez cały zespół (jeżeli zmiany dotyczą kluczowych elementów). Nad VS.Net pracuje ok. 600 programistów. Podstawową komórką zajmującą się jednym elementem jest zespół 6, 7 osób.

"W momencie, gdy pojawia się nowy element do zaprojektowania, równolegle zaczynają pracę testerzy i developerzy. W chwili otrzymania nawet początkowej wersji kodu od razu wiadomo jak go testować" - wyjaśnia K. Zadora-Przyłęcki. Większość pracy sprowadza się do opracowania właściwych procedur testowych. Testowane są zarówno kod źródłowy, jak i zachowanie skompilowanych fragmentów programu.

Jak twierdzi K. Zadora-Przyłęcki, przeprowadzona w lutym br. akcja związana z podniesieniem bezpieczeństwa produktów miała na celu przeszkolenie programistów Microsoftu, którzy tworzą właściwy kod. Oprócz wykonania pełnego przeglądu kodu wszystkich aplikacji, programiści zostali uczuleni na nowego typu zagrożenia. Automatyczne testy zostały bardzo rozbudowane i obecnie przewidziano bardzo rzadko spotykane sytuacje.