- Хроники. - -
WinRT — Windows Runtime глазами .NET
Posted By Ikutsin On 7 октября 2011 @ 13:40 In .NET C#,Обзоры | Comments Disabled
[1]Прошлый раз [2] я рассказал об ощем впечатлении и установке Windows 8. Теперь попробую пролить свет на некоторые технические детали. Не благодарное это дело, описывать технологию, которая в любой момент может поменятся. Тем не менее некоторая информация уже вполне устоялась. И тут я попробую cобрать все вместе.
С анонсом Windows 8 приложения будут создаватся на базе HTML+CSS+Javascript, C/C++ и C#/XAML и думаю очень скоро остальных языков программирования с помощью DLR. При этом, классические формы GDI бедет невозможно встроить в WinRT приложение, существует вероятность что это можно будет сделать наоборот. Вместе с тем отпадет надобность в P/Invoke, заменой которого станет Application Binary Interface (ABI). Все приложения будут выполнятся в своем контейнере — App Container, который в свою очередь будет проверять, есть ли у приложения права на использование вызываемых функций.
Может показатся, что WinRT основан на управляемом коде, но это не так. WinRT был вдохновлен спецификациями .NET, но он создан поверх COM. Как и COM, вместо исключительных ситуаций метод возвращает HRESULT который в своб очередь преобразуется в Exception. В добавок, в язык C++, на котором собственно и написан WinRT было добавлено несколько языковых конструкций.
C точки зрения Visual Studio это просто особый профиль (как Windows Phone, Silverlight, .NET 4 Client Profile и т.д.). Это значит, что все потенциально опасные методы (например, открытие произвольного файла или редактирование реестра) будут исключены. Из-за большего количества профилей, в VS2010 SP1 beta был введен так назывемый проект: Portable class library, о котором я расскажу позже.
В добавок ко всему, эти технологии можно смешивать между собой вызывая методы написанные на одном языке — в другом. Начальной точкой естественно будет официальный сайт Metro Style Apps [5] пока только на английском.
Из за сложностей в получении разрешений и подписи библиотек, первое время самым актуальным будет основной набор библиотек, включенных в WinRT. Вот основные возможности из заявленных:
Кратко расскажу о дополнительных интерфейсах и ограничениях, которые известны на данный момент. Дополнительные возможности в .NET 4.5 тут освещены частично.
Мигель дал четко понять, что никакой работы в эту сторону пока не предвидится:
Today Joseph mentioned to me that some of our users got the impression from my previous post on WinRT that we would be implementing WinRT for Linux. We are not working on a WinRT UI stack for Linux, and do not have plans to.
Тем не менее, некоторые части WinRT все-же будут включены в Моно [6].
Article printed from Хроники.:
URL to article: /2238-winrt-windows-runtime-glazami-net
URLs in this post:
[1] Image: /wp-content/uploads/2011/10/Win8-1.png
[2] Прошлый раз: /2226-chto-nas-zhdet-v-windows-8
[3] Image: /wp-content/uploads/2011/10/WinRT.png
[4] Image: /wp-content/uploads/2011/10/visual-studio-2011.jpg
[5] Metro Style Apps: http://msdn.microsoft.com/library/windows/apps/br211386/
[6] будут включены в Моно: http://tirania.org/blog/archive/2011/Sep-26.html
Click here to print.
Copyright © 2008 Все, что меня окружает. All rights reserved.