Metro, Visual Studio 11 i Blend 5 - czyli Windows 8 dla programistów
- Adam Jadczak,
- Mateusz Pietraszkiewicz,
- 15.09.2011, godz. 13:16
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.
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.
Dodatki do Windows 8 - Internet Explorer 10, sklep z aplikacjami i cloud computing
Visual Studio 11 - narzędzia dostosowane do systemu Windows 8
Windows 8 beta Developer Preview 64-bit (Developers Tools)
Windows 8 beta Developer Preview 64-bit
Windows 8 beta Developer Preview 32-bit
Zobacz również:
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.
- 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.
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.
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".