Metro, Visual Studio 11 i Blend 5 - czyli Windows 8 dla programistów

Podczas pierwszego dnia konferencji BUILD pokazany został nowy system operacyjny Microsoftu Windows 8, narzędzia developerskie Visual Studio 11 i Blend 5, a także omówione zostały zasady projektowania nowego stylu interakcji - tzw. Metro.

Metro, Visual Studio 11 i Blend 5 - czyli Windows 8 dla programistów

Interfejs Windows 8 – ekran początkowy z żywymi kafelkami

Pokazywany wersja Windows 8 to wersja developer preview, przeznaczona dla twórców aplikacji by mogli już zacząć budować własne rozwiązania. Po tej wersji zostanie opublikowana Beta, potem wersja RC i RTM. Dokładne daty ich udostępniania nie zostały jednak jeszcze podane.

Windows 8 każdy może ściągnąć. Plik ISO, oprócz systemu operacyjnego zawiera także narzędzia developerskie (Visual Studio 11) wraz z przykładowymi aplikacjami napisanymi zgodnie z założeniami interfejsu Metro. Dostępne są

Zobacz również:

  • Cykl życia tych pakietów biurowych Microsoftu dobiegnie w przyszłym roku końca

wersja Windows 8 32-bitowa oraz wersja Windows 8 64-bitowa.

W Windows 8 działać będą bez żadnych zmian aplikacje zgodne z Windows 7. Działają aplikacje napisane w Win32, .NET Windows Forms itp. Tak samo da się uruchomić aplikacje napisane w Silverlight - działające w ramach okna przeglądarki - czy dowolne inne, które już działały.

Window 8 ma jednak nowe API - Windows RT. Jest to obiektowe API, które bezpośrednio komunikuje się z natywnymi mechanizmami systemu operacyjnego - tzw. Kernel Services. Choć tak naprawdę - "stare" API - Win32, GDI+ itp. - także komunikują się z Kernel Services.

WinRT może być używane z poziomu C#, VB.NET (czyli języków zarządzanych z .NET), C++ (z poziomu kodu natywnego), czy Java Script. Warto dodać, że - ponieważ jednym z celów Metro jest zapewnienie płynności interfejsu - każda funkcja API, która może zająć więcej niż 15ms ma swój asynchroniczny odpowiednik. Zarówno C# (słowa kluczowe async / await) jak i JavaScript bardzo łatwo pozwalają budować aplikacje które z takiego asynchronicznego API korzystają.

WinRT zakłada separację "definicji" interfejsu użytkownika od logiki. Dla C++, i języków .NET (C# itp.) takim językiem opisu strony jest znany z Silverlight czy Windows Presentation Foundation XAML. Dla kodu Javascript językiem opisu UI jest po prostu HTML 5. Do budowy interfejsu można użyć albo Visual Studio 11 albo Blend 5. Oba narzędzia bazują na takim samym engine renderującym, które np. na żywo uruchamia aplikację i dostosowuje jej wygląd do tego, co zostało zmienione w ustawieniach kontrolek, czy stylów. Dodatkowo Blend 5 może być użyty po prostu do budowy stron HTML5.

Wybrane założenia Metro:
  • czysta typografia,
  • treść na pierwszym miejscu,
  • nie ma ramki (chrome),
  • określone są zasady wyrównania i rozkładania tekstu na ekranie (siatka i odstępy),
  • ciągle podłączona, rzeczywiście cyfrowa,
  • aplikacja ma być szybka i płynna, ma budzić zaufanie tym, że działa zgodnie z oczekiwaniem użytkownika.
Migracja aplikacji XAML (pokazana było to na przykładzie Silverlight 2.0) do Metro nie jest bardzo skomplikowana. Większość zmian wynika z innego stosu sieciowego i oczywiście dostosowania layoutu do wymagań Metro. "Przy okazji" na konferencji BUILD pokazano jak można przenieść taką aplikację na Windows Phone - w tym przypadku była to zmiana dokładnie jednej linijki.

Warto dodać, że WinRT oparty jest o taki sam mechanizm metadanych co sam .NET. Są zaledwie drobne różnice w systemie typów. Dzięki temu to samo API jest dostępne dla wszystkich języków. W WinRT wydzielone zostały API związane z krytycznymi operacjami, które, niewłaściwie użyte mogą naruszać prywatność użytkownika. Jeżeli aplikacja chce np. zrobić zdjęcie, czy uzyskać dostęp do pojemnika na hasła - wywołanie przechodzi przez specjalny broker, który pyta użytkownika, czy zgadza się na wykonanie danej operacji. Oczywiście aplikacja używająca takiego API musi mieć odpowiedni manifest, aby można było jej nie instalować.

Windows Metadana (WinMD), format metadanych (niemal identyczny jak w .NET) może być także zbudowany dla innych bibliotek - np. tych, które są częścią naszej aplikacji.

Metro, Visual Studio 11 i Blend 5 - czyli Windows 8 dla programistów

Tradycyjny interfejs w Windows 8

Wśród rzeczy, które nie działają w aplikacja Metro jest np. GDI+. Cały interfejs jest rysowany przy użyciu DirectX i wykorzystuje akcelerację sprzętową. Nic nie stoi jednak na przeszkodzie, aby interfejs był zbudowany przy użyciu tej technologii. Oczywiście GDI + zadziała na Windows 8 - ale w trybie "klasycznym".

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200