Windows Runtime
Windows Runtime ou WinRT est l'Interface de programmation (API) proposée par Microsoft pour le développement d'application sur Windows 8 et Windows RT. WinRT permet le développement d'application en C++/CX (Component Extensions, un langage basé sur le C++), et en langages managés en utilisant le C# ou VB.NET. Il est aussi possible d'utiliser JavaScript ou TypeScript. Les applications WinRT supportent les architectures x86 et ARM, de plus celles-ci fonctionnent dans une Sandbox ce qui apporte une plus grande sécurité et stabilité[1],[2].
Développé par | Microsoft |
---|---|
Environnement | Windows 8, Windows 8.1, Windows Phone 8.1, Windows 10 |
Type | Framework |
Licence | Propriétaire |
Site web | http://www.microsoft.com |
Chronologie des versions
WinRT est en grande partie une API non managée. Celle-ci est essentiellement basée sur des API COM, de ce fait, celle-ci peut s'interfacer assez facilement avec différents langages. Cependant à la manière de .NET, les définitions de l'API sont stockées dans des fichiers ".winmd" utilisant le format de métadonnées ECMA 335 moyennant quelques modifications[3]. Ce format de meta-données permet une simplification des appels WinRT depuis .NET en comparaison avec la relative complexité des P/Invoke pour Win32.
Les applications de style Métro (Metro-style applications en anglais) était le nom utilisé par Microsoft pour parler des applications développées pour WinRT, mais depuis aout 2012, à la suite d'un litige potentiel avec une société du même nom, Microsoft utilise et pousse les développeurs à faire de même, les appellations suivantes : Style Windows 8, Style Modern UI et Applications Windows Store[4].
WinRT est aussi utilisé pour le développement d'applications Windows Phone 8.1, via Windows Phone Runtime[5], un sous ensemble de Windows Runtime.
Histoire
modifierWinRT a été présenté pour la première fois lors de la conférence BUILD de Microsoft le [6], celle-ci est aussi incluse dans les préversions de Windows 8. Actuellement seuls Visual Studio 2012 et ultérieur permettent de choisir WinRT comme plateforme de développement.
Interfaces de programmation
modifierPlusieurs langages de programmation peuvent être utilisés pour développer des applications WinRT, les plus courants étant C/C++, .NET (C# et VB.NET), ainsi que JavaScript.
C++
modifierWinRT est une plate-forme de développement native, elle peut donc supporter n'importe quel code C++, ainsi il est possible pour un développeur C/C++ de réutiliser des bibliothèques existantes.
Deux possibilités sont offertes au développeur, WRL (une bibliothèque du style Active Template LibraryATL) ou C++/CX (qui ressemble à C++/CLI)
.NET
modifierLe Framework .NET ainsi que la CLR (Common Language Runtime) sont intégrés dans WinRT.
WinRT supporte donc le développement d'application Metro en C# et VB.NET. L'interface étant écrite en XAML. Bien que non officiellement supporté, il est possible d'écrire des applications dans les autres langages .NET. Les applications développées avec un langage .NET utilisent le Windows Runtime XAML Framework basé sur les API native WinRT, c'est un "remplaçant" du XAML utilisé dans Silverlight ou WPF qui lui est basé principalement sur la CLR et du code managé.
JavaScript
modifierHTML5 et CSS sont utilisés pour le développement de l'interface et JavaScript (ECMAScript 5[7]) pour le développement général de l'application.
Notes et références
modifier- Abel Avram, « Details of the Windows Runtime »,
- Brian Klug & Ryan Smith, « "Microsoft BUILD: Windows 8, A Pre-Beta Preview" »,
- Miguel de Icaza, « "WinRT demystified" »,
- Vincent Hermann, « Microsoft n'utilisera plus l'appellation Metro »,
- « "Windows Phone API reference" »
- « "Keynote #1 BUILD 2011" »
- (en) « JavaScript (Windows) », sur microsoft.com (consulté le ).