Manifest technologii jutra

Definiując element interfejsu w Avalon, można określić jego fizyczne wymiary w jednostce metrycznej, np. 2 x 3 cm - i będzie ono miało taki sam rozmiar bez względu na rozdzielczość monitora czy drukarki! Warto dodać, że równocześnie wprowadzono nowe algorytmy automatycznie rozkładające elementy na ekranie, tak by były czytelne dla użytkownika i by programista nie musiał ręcznie definiować ich dokładnego położenia. Właściwość tę można np. wykorzystać do prezentacji tekstów i dostosowywania układu do wyświetlania na niestandardowych urządzeniach.

Kolejną ciekawostką nowego interfejsu jest sposób podejścia do pojęcia dokumentu. Dokument to w Avalon pewien obiekt, który zapisuje stan aplikacji, np. zawiera Journal - dziennik, który określa pomiędzy którymi oknami użytkownik się przełączał. Dzięki tej funkcji w każdym oknie może być dostępny znany z przeglądarki internetowej przycisk "wstecz", pozwalający cofnąć się do poprzedniego stanu programu. Wydaje się, że Avalon czerpie to, co najlepsze z prostoty interfejsu WWW i bogatego interfejsu Windows.

Na PDC przedstawiciel Adobe prezentował dodatek do Adobe After-Effects, który na podstawie filmu generuje gotowy "schemat" XAML. W ten sposób grafik może przygotować dowolny interfejs, który od razu staje się dostępny dla programisty, a równolegle dla projektanta definiującego nawigację - przyciski, listy itd., ale nie musi się już troszczyć o oprogramowanie zaprojektowanego interfejsu. Avalon pozwala zbudować interfejs, który będzie zupełnie inny niż znane okienka - jego wygląd będzie zależeć tylko od inwencji grafików i programistów.

System plików bez plików

Zapowiadany już od pewnego czasu nowy system plików Microsoftu, znany pod nazwą WinFS, ma być w założeniu uniwersalnym repozytorium wszelkiego rodzaju informacji. W nowym systemie plików nie szuka się plików - szuka się informacji, bez względu na jej format.

Technicznie rzecz biorąc, WinFS wykorzystuje NTFS - tak naprawdę jest to nadbudowana nad nim warstwa API wykorzystująca go "jedynie" do zapisywania informacji na dysku. WinFS obsługuje transakcje - innymi słowy w "systemie plików" można uruchomić ciąg zmian, po czym, gdy wszystkie operacje zakończą się pomyślnie, potwierdzić je, a więc dokładnie tak, jak ma to miejsce w "normalnej" bazie danych. Z kolei z punktu widzenia programisty WinFS można obsługiwać jako ciąg obiektów, strukturę XML, albo zadawać zapytania w taki sposób, jakby była to baza danych. Niezależnie od mechanizmów WinFS pliki w systemie Longhorn będzie można zapisywać i odczytywać zgodnie z API z Win32.

Podstawową zaletą WinFS jest łatwe wyszukiwanie powiązanych ze sobą informacji. Dla każdej "jednostki informacyjnej" można zdefiniować dowolny zestaw cech oraz jej związki z innymi "jednostkami". Przykładowo, mówiąc o autorze dokumentu, mamy na myśli nie autora, lecz opisującą go pozycję na liście kontaktów. Istnieje możliwość definiowania synonimów, np. gdy dana osoba posługuje się raz imieniem i nazwiskiem, a innym razem pseudonimem.

W WinFS praktycznie znika pojęcie folderu - można raczej mówić o widokach, które pokazują określony zestaw danych. Na przykład folder Moje dokumenty to dynamiczny widok pokazujący określone pliki. Te same pliki/informacje możemy pogrupować wg bardzo różnych kryteriów, np. autorów, słów kluczowych itd., tworząc w ten sposób nowy "folder". Inny przykład: tworząc "folder" o nazwie Nowe dokumenty Jana, można w nim na bieżąco wyświetlać wszystkie dokumenty tworzone przez tego użytkownika. Zarządzanie cechami/atrybutami dokumentów jest znacznie prostsze - praktycznie wystarczy przeciągnąć dokument na odpowiedni "stos" (elementy pogrupowane wg określonego atrybutu), by miał on przypisaną daną cechę.

Oprócz tego wszystkie pliki wchodzące w skład określonego projektu mogą być połączone i traktowane jako całość - bez względu na to, gdzie fizycznie się znajdują. W WinFS dokument (w sensie np. dokumentu Worda) jest przechowywany jako jedna instancja WinFS. Nic nie stoi jednak na przeszkodzie, by został on rozbity na kilka elementów składowych. Tak prawdopodobnie będą działać kolejne wersje systemu Longhorn - całość dokumentu będzie w nich tak naprawdę widokiem złożonym z wielu elementów rozsianych po systemie WinFS, lecz połączonych odpowiednimi relacjami.

Kolejna nowość - w systemie plików WinFS programista będzie mógł stworzyć zupełnie nowy typ obiektu, określić jego atrybuty, domyślne relacje itp. Element ten niejako z automatu będzie obsługiwany przez narzędzia do wykonywania kopii zapasowych itp. Dzięki WinFS praktycznie zniknie konieczność projektowania wyspecjalizowanych "pojemników" (formatów) na dane konkretnej aplikacji - wszystko będzie można "elegancko" zapisać w systemie plików i na tym poziomie nadać tym elementom odpowiednią strukturę. Definicja pojemnika to po prostu XML lub prosta klasa w .Net.

O technologiach bez wytchnienia

PDC jest dosyć specyficzną konferencją. O ile TechEd jest skierowany do inżynierów, a więc do tych, którzy chcą się dowiedzieć, w jaki sposób wykorzystywać technologie dostępne obecnie, o tyle PDC jest przeznaczone raczej dla tych, którzy chcą z wyprzedzeniem znać plany technologiczne Microsoftu i uwzględnić je w projektach. A zatem, omawianą na konferencji kolejną wersję pakietu Visual Studio będzie można tak naprawdę obejrzeć dopiero za pół roku. Na Longhorn i Yukon trzeba będzie poczekać jeszcze dłużej. Jeszcze jedna uwaga: ilość przekazywanej na konferencji wiedzy jest wprost nieprawdopodobna - sesje na tegorocznej edycji trwały nieprzerwanie od rana do nocy - dosłownie: wykłady odbywały się także podczas obiadu i trwały nawet do północy.


TOP 200