Cet article a fait l'objet d'une traduction automatique.

Windows 10

Une Introduction à la création d'applications de Windows pour Windows 10 appareils

Andy Wigley
Jerry Nixon

Téléchargez l'exemple de Code

Vous avez vécu pour le voir : un seul OS de Windows qui peut fonctionner sur tous les types de périphériques de Windows. Il a une plate-forme de périphérique unique pour permettre aux pilotes de vrai matériel universel et une plate-forme d'application unique pour permettre le vrai universel Windows apps. Années dans la fabrication, c'est une génie des réalisations importantes.

Au niveau de l'OS, autrement dit une base de code unique, agile et facile à gérer. Pour les développeurs, il offre une surface de API unifiée, fiable à travers chaque dispositif de Windows, de dispositifs Internet des objets (IDO) tels que Raspberry Pi au téléphone, Xbox, tablet, Hub de Surface, ordinateur portable, PC et plus (comme Microsoft HoloLens). Comme le montre Figure 1, c'est une promesse write-once-run-partout livrée en 10 Windows avec la plate-forme d'application universelle (UAP).

la plate-forme d'application universelle permet aux Apps dans l'ensemble de toutes les familles de périphérique de Windows
Figure 1 la plate-forme d'application universelle permet aux Apps dans l'ensemble de toutes les familles de périphérique de Windows

Le voyage vers Windows 10

La convergence de Windows a été longue à venir. Retour en 2011, Microsoft avait trois plates-formes avec trois systèmes d'exploitation. Le PC et le système d'exploitation serveur est Windows, construit sur la base de code Windows NT . Le téléphone OS est Windows Phone, un dérivé de Windows CE avec des similitudes de surface-niveau à Windows NT, mais une base de code différents. La Xbox 360 OS était Windows NT, mais c'était une fourchette de 10 ans donc sauvagement divergente qu'il, aussi, était une base de code distinct.

A cette époque, Microsoft a travaillé pour apporter un Explorateur Internet commune à chaque plate-forme. Il n'y avait aucune base de Windows, aucune plateforme Windows et aucune UAP. La mise en place d'Internet Explorer sur ces trois systèmes d'exploitation a été un succès, mais considérable requis techniques de gymnastique.

Avec Windows Phone 8, le noyau du système d'exploitation Windows NT a remplacé Windows CE sur les téléphones. Cette convergence s'installe de choses sur la route vers une base de code unique. Windows, Windows Phone et Xbox 360 tous mis à profit le même noyau, bien que chacun avait encore des bases de code unique. En 2013, lancé une Xbox, et avec elle, un noyau de système d'exploitation partagé avec Windows 8. Microsoft était à proximité d'une base de code vous pouvez le sentir, mais il était encore entretien trois systèmes d'exploitation distincts.

Windows 10 a été l'occasion de réunir cette troïka et converger les efforts techniques. Dans le même temps, cependant, nouvelles applications de la technologie a exigé l'ajout d'objectifs plus de Windows : ITO, Microsoft HoloLens, Surface Hub et futurs membres de la famille de périphériques de Windows. Windows 10 devait être un OS non seulement pour Windows, de téléphone et de Xbox, mais aussi pour toutes les futures plates-formes.

Microsoft l'a fait. Windows 10 est devenu le faible encombrement, un noyau de système d'exploitation qui s'exécute sur chaque famille d'instruments. Ce n'était pas aussi simple que fichier | Enregistrer sous. Les gens intelligents ont travaillaient dur pour livrer une merveille d'ingénierie dans un laps de temps incroyable. Windows 10 est la seule base de code nécessaire pour permettre à l'UAP. Tous les produits Microsoft à partir de ce moment seront écrit contre le noyau unique qui composent Windows 10.

L'unité pas uniformité unissant le code bases à un core OS ne signifie pas une interface utilisateur à travers différents dispositifs. Windows Phone possède une interface intelligente, très apprécié, une main nettement distincte de l'expérience Xbox de 10 pieds. Il en va de même avec le Hub de Surface, le Microsoft HoloLens et le Raspberry Pi. Ceux-ci fournissent une grande partie de leur valeur à travers leurs expériences uniques. Pourtant, le système d'exploitation avec ses bibliothèques, runtime et des cadres, est le même. La plate-forme de périphérique et la plate-forme d'applications sont les mêmes. L'interface utilisateur et les caractéristiques de la coquille, cependant, sont distinctes et à l'écoute pour le modèle d'utilisation correcte pour chaque périphérique. Ce ne sont pas les mêmes.

En théorie, une personne pourrait démarrer sur ce noyau OS et même exécuter des applications, mais personne ne sera jamais parce que c'est juste un bloc de construction. Pour supporter correctement chaque facteur de forme, les composants d'environnement spécifiques au périphérique sont ajoutés au noyau OS — comme le Menu Démarrer, soutien spécifique de HID et toute pièces et pièces nécessaires pour activer les fonctionnalités spécifiques au périphérique comme les applications de bureau. Ces composants supplémentaires s'accumulent de l'OS de base pour former les différentes références OS vous considérez comme des produits Microsoft, tels que Windows, serveur, Xbox et HoloLens.

Une plate-forme unique Application ici est un amusant jeu de jouer avec vos amis. Dites-leur que vous allez adopter les dernières innovations de Microsoft app, mais vous ne cibler Windows 10. Comment ? Next -­génération Windows apps ne ciblent le système d'exploitation. Au lieu de cela, ils vont cibler la plate-forme app. Sous Windows, l'UAP est un modèle d'application cohérente et surface d'API garanti entre chaque périphérique Windows.

L'UAP n'est pas un moment de l'exécution. Une application Windows, même un écrit dans un langage managé (tel que Visual Basic ou c#) effectue une compilation dans le métal comme n'importe quelle autre application. Il ne fonctionne pas à l'intérieur d'un moment de l'exécution. Il ne nécessite pas un moment de l'exécution. UAP est une surface d'API commune sur appareils, donc cibler l'UAP vise un ensemble spécifique et la version de l'API.

Il est intéressant de souligner que vous générez des applications Windows et des jeux avec les outils et les technologies que vous connaissez déjà. Windows applications écrites dans des langages managés encore profiter de Microsoft .NET Framework, qui elle-même est une collection de classes de base, les interfaces et les méthodes d'assistance. Le sous-ensemble du .NET Framework complet qui est utilisé dans les applications managées ciblant l'UAP est appelé noyau .NET. En complément, la majorité des API vous utiliser dans les applications ciblant l'UAP est dans l'exécution de Windows, quels sont les projets dans toutes les langues, non seulement les langages managés.

C'est pas juste de XAML cet article démontrera une application XAML, mais les applications DirectX et JavaScript (Windows Web apps) sont également supportées par l'UAP, tout comme ils étaient dans Windows 8. Cela étant dit, il est fascinant de regarder l'histoire XAML émergent. XAML est important pour nombreuses plates-formes de Microsoft —Windows Presentation Foundation (WPF), Silverlight dans le navigateur et sur Windows Phone et maintenant dans la plate-forme d'interface utilisateur Windows (qui a commencé comme nom de code « Jupiter »).

Microsoft Office 2016 est maintenant une famille d'applications de l'UAP. Quelle technologie d'interface utilisateur faut-il utiliser ? XAML. Grâce à cette relation, la plate-forme XAML est riche en fonctionnalités et contrôle que Microsoft et les développeurs tiers, comme vous, peuvent utiliser dans leurs applications Windows.

Le shell de Windows desktop introduit de nombreuses fonctionnalités nouvelles, comme le Menu Démarrer et le centre de l'Action. Quelle technologie d'interface utilisateur faut-il utiliser ? XAML. Grâce à cette relation, la plate-forme XAML est hyper performantes, offrant des capacités de rendu pour des performances de seconde si vous profitez de celui-ci.

Quand il s'agit de XAML, Microsoft est dans. Beaucoup d'apps OS important, comme des Photoset les applications MSN, tels que la santé & Remise en forme, s'appuient sur la plate-forme de XAML UI pour offrir les mêmes fonctionnalités riches tous les développeurs peuvent exploiter dans leurs applications Windows. Ce que vous voyez dans les applications Microsoft, que vous pouvez faire, aussi. Non seulement est la surface d'API le même pour tout le monde, est donc la plate-forme XAML UI.

Valeur aux développeurs de logiciels il ne suffit pas d'écrire une application qui s'exécutent sur chaque appareil. Pour offrir une valeur réelle aux utilisateurs, votre application Windows doit s'allumer sur différents appareils. Grâce à l'extensibilité de l'UAP, vous pouvez inclure le code spécifique au périphérique dans un seul binaire qui s'exécutera sur chaque appareil.

Vous obtenez plus d'un seul binaire avec l'UAP, vous obtenez également un magasin pour tout — pour téléphone, tablette, ordinateur de bureau et même Xbox apps. L'expérience est simplifiée ; la monétisation est simplifiée ; et les mesures pour surveiller le succès du marché sont simplifiés, ainsi.

Qu'un seul magasin et la plate-forme vous permettent de déployer des actifs convenablement. Cela signifie patrimoine destiné à l'expérience Xbox ne poussez vers le bas au téléphone. Et la capacité de Windows 8 aux actifs de paquet ciblant l'échelle et des résolutions spécifiques restent dans l'UAP.

Comme toujours, vous restez en contrôle. Tout simplement parce que l'UAP prend en charge tous les appareils Windows, ne signifie pas que vous devez. Vous choisissez quelle famille de dispositifs de votre application Windows soutiendra. Si votre application Windows est téléphone uniquement, Xbox uniquement ou HoloLens seule, c'est à vous. Le magasin Windows assure que votre app est remis aux familles dispositif que vous sélectionnez.

La valeur pour vous n'est pas juste de plus large portée, mais une expérience globale la plus facile. Il y a un ensemble d'outillage, y compris les Visual Studio et Blend pour Visual Studio, qui déjà, vous connaissez et appréciez. Il existe un ensemble familier de langues, y compris le JavaScript, le .NET Framework (Visual Basic ou c#) et C + c++ / CX. En fin de compte, vous et votre équipe créer des applications Windows à l'aide de ce que vous savez déjà.

Beaucoup de choses à considérer

Avec une grande puissance vient la grande responsabilité. L'UAP permet à Windows apps pour fonctionner sur tous les types de périphériques de Windows. C'est génial, mais il est livré avec une mise en garde : Pas tous les appareils fournit l'UX de même. Cela signifie que même si vous arrivez à employer de nombreuses techniques mêmes responsive Web design (RWD) que vous utilisez dans vos applications Web, vous devez penser à comment votre flux de travail Windows app se joue sur différents types de dispositifs destinés à différents types d'utilisation. L'UAP peut activer seulement la charge sur différents périphériques ; C'est pour le développeur et le designer pour construire un UX qui est grand sur chacun d'eux.

Microsoft fournit un outillage généreux pour aider à créer des applications Windows de réactif et adaptatives. Visual Studio peut simuler des proportions, échelle et taille au moment du design. Visual Studio peut aussi simuler (et parfois imiter) périphérique spécifique s'adresse même si vous ne possédez pas le matériel. Cela vous permet de tester des applications de Windows et la finesse de vos expériences sur le chemin.

La boîte à outils XAML a plusieurs nouveaux contrôles et améliorations pour vous aider à créer des interfaces souples et adaptatives qui a fière allure sur chaque appareil et chaque écran de taille. Par exemple, le RelativePanel est nouveau pour les développeurs XAML. Il hérite de panneau comme tout autre contrôle de mise en page, tels que Grid et StackPanel, mais permet aux concepteurs et aux développeurs de positionner des éléments enfants par rapport aux autres éléments de l'enfant. L'arborescence d'éléments visuel XAML qui en résulte est plus simple de rendre et beaucoup plus simple à manipuler en réponse aux changements de disposition. Visual États sont une autre amélioration pour les développeurs XAML, ce qui en fait plus simple pour répondre aux modifications de mise en page.

C'est important : Création d'une application Windows qui cible plusieurs périphériques ne signifie par écrit le plus petit dénominateur commun. L'interface utilisateur est riche et est donc l'ensemble des fonctionnalités. Runtime vérification (à l'aide de l'espace de noms Windows.Foundation.Metadata.ApiInformation) vous permet d'inclure des fonctionnalités spécifiques au périphérique qui illuminent vos applications pour la meilleur UX possible sur tous les appareils. Nouvelles fonctionnalités et les contrôles convergents sont les blocs de construction, que vous avez besoin de rêver grand.

Anatomie d'une application Windows

Maintenant nous allons jeter un regard sur les techniques indispensables pour créer une application Windows qui s'exécute dans une famille d'instruments. Nous supposons que vous êtes familier avec le développement d'applications Windows 8.1 Windows Runtime (WinRT) XAML. Windows apps sont l'évolution de ces applications. Vous trouverez de nombreuses ressources sur Microsoft Virtual Academy pour l'apprentissage, que vous trouverez à aka.ms/w8learn. Cet article se concentre sur les nouvelles fonctionnalités de l'UAP — pour la gestion des applications Windows dans familles de dispositif.

En Visual Studio 2015, le modèles/Visual c# / nœud universel Windows dans la boîte de dialogue Nouveau projet a plusieurs modèles de projet : l'application vide, la bibliothèque de classes et le composant d'exécution de Windows. Vous utilisez le modèle de l'App vierge pour construire une application Windows. Les modèles de la bibliothèque de classes et le composant d'exécution de Windows vous permettent d'encapsuler l'interface utilisateur et la logique pour les réutiliser dans d'autres projets. Une bibliothèque de classes prend en charge les applications non-UAP, mais se limite à des langages managés ; Composants d'exécution de Windows peuvent être partagés entre les langues (y compris JavaScript et C + c++ / CX), mais ont des règles qui restreignent leur surface d'API publique.

Pour cet exemple, choisissez application vide, comme indiqué dans Figure 2.

par défaut, Windows Apps maintenant utiliser le modèle vierge
La figure 2 par défaut, Windows Apps maintenant utiliser le modèle vierge

Où sont tous les autres modèles ? Examiner le modèle de l'App Hub livrés avec Windows 8. De nombreux développeurs utilisaient. De nombreux développeurs copié. Cette éruption de "moi aussi" apps créé une cohérence visuelle dans le magasin de Windows, mais n'a pas contribuer à la diversité des écosystèmes. Maintenant, le modèle vierge App est au centre de la scène, encourager les développeurs à créer des interfaces visuellement cohérents mais distinctifs sur la plate-forme. Nombreux modèles communautaires ont déjà commencé à apparaître dans la Galerie de Visual Studio , dont l'un, Template10, qui a été écrit par les auteurs de cet article.

Salut tout le monde! Vous avez créé votre première application Windows. Bien que l'interface utilisateur est vide, il peut déjà exécuté sur chaque dispositif de Windows. L'Explorateur de solutions Visual Studio révèle comment une application Windows base est simple : un projet unique avec un App.xaml et un seul fichier MainPage.xaml pour l'interface utilisateur initial.

Votre solution comprend des autres fichiers de support familier. Le Package.appxmanifest déclare les fonctionnalités de que l'application demandera à l'ordinateur de l'utilisateur, telles que l'emplacement de l'utilisateur ; accès à la caméra ; et le système de fichiers. Le schéma XML a été élargi, mais est le même que l'appxmanifest pour applications universelles 8.1 de Windows.

Où sont les deux têtes ? Windows 8 apps universelles requis fois un téléphone et un projet de tête de Windows. UAP n'exige pas des têtes multiples. Au lieu de cela, vous adaptez vos interfaces pour répondre à chaque fois que votre application Windows est en cours d'exécution. Cela étant dit, vous certainement pouvez créer une solution de plusieurs tête si cela arrange les flux de travail de votre équipe de développement. Les deux approches sont également pris en charge.

Y compris le contenu lorsque vous ouvrez MainPage.xaml, vous verrez l'expérience améliorée du DTC Visual Studio XAML. Le concepteur est plus riche et plus rapide ; la capacité de simuler les proportions et l'échelle s'est améliorée ; et l'outillage s'est élargi. Maintenant nous allons ajouter un petit XAML, comme le montre Figure 3. (Merci à notre collègue David Crawford pour cet exemple).

Figure 3 la RelativePanel vous permet à disposition votre Interface de manière Simple

<Grid Background="{StaticResource EggshellBrush}">
  <RelativePanel x:Name="PromoArea">
    <Image x:Name="BannerImage" HorizontalAlignment="Right"
           Height="280" Stretch="UniformToFill"
           Source="Assets/clouds.png"
           RelativePanel.AlignRightWithPanel="True"/>
    <Grid x:Name="BannerText" Margin="24"
          Background="{StaticResource BlueBrush}">
      <StackPanel Margin="12" HorizontalAlignment="Stretch">
        <TextBlock x:Name="Headline" Text="Come fly with us"
                   Margin="0,-32,0,0" FontSize="48"
                   Foreground="{StaticResource EggshellBrush}"
                   FontFamily="{StaticResource LustScriptFont}" />
        <TextBlock x:Name="Subtitle" FontSize="21.333"
                   Foreground="{StaticResource EggshellBrush}"
                   FontFamily="{StaticResource DomusTitlingFont}">
          <Run Text="Fly return to London"/>
            <LineBreak/>
          <Run Text="For only $800"/>
        </TextBlock>
      </StackPanel>
    </Grid>
  </RelativePanel>
</Grid>

Le code dans Figure 3 crée l'en-tête de page pour une application simple pour une compagnie aérienne fictive. Plus précisément, il s'appuie sur la nouvelle RelativePanel de XAML, qui vous permet de réorganiser l'interface d'une manière simple. Le RelativePanel se positionne l'image de la bannière à droite de la page et contient la grille maintenant les offres spéciales récentes de la compagnie aérienne.

Ajout de certains biens The XAML fait référence aux trois fichiers nous avons ajouté dans le dossier actif — un fichier image, Clouds.png et deux polices personnalisées, DomusTitlingFont.ttf et LustScriptFont.ttf. Les polices et les ressources de pinceau personnalisés sont déclarés dans App.xaml :

<Application.Resources>
  <SolidColorBrush x:Key="BlueBrush" Color="#FF1C90D1"/>
  <SolidColorBrush x:Key="EggshellBrush" Color="#FFFAFFF7"/>
  <FontFamily x:Key="LustScriptFont">
    Assets/Fonts/LustScriptDisplay.otf#Lust Script Display
  </FontFamily>
  <FontFamily x:Key="DomusTitlingFont">
    Assets/Fonts/DomusTitling.otf#Domus Titling
  </FontFamily>
</Application.Resources>

Ces fichiers sont inclus dans le téléchargement de code qui accompagne cet article.

Notez que l'image bitmap est à une échelle. Si vous souhaitez accueillir des périphériques avec une résolution plus élevée, vous pourriez évoluer vos actifs et nom en utilisant le facteur d'échelle appropriée pour chaque utilisateur obtient le meilleur visuel d'expérience sans avoir à télécharger des actifs pour les autres facteurs d'échelle.

Exécutés sur des périphériques retour dans MainPage.xaml, l'interface utilisateur se dessine. Pour exécuter l'application, vous pouvez sélectionner la cible dans la liste déroulante la cible du dispositif Visual Studio . Notez qu'il comprend le simulateur de Windows (pour le test de touch), Local Machine, Machine distante (pour tester les bras) et de dispositif (matériel de téléphonie réel). Les émulateurs de téléphone sont dans la même liste. Choisir et exécuter sur l'ordinateur Local et par la suite sur un des émulateurs téléphone pour voir votre application Windows exécuter sur des périphériques différents sans aucun compilations spéciales.

Vous avez peut-être remarqué qu'une application Windows en cours d'exécution sur l'ordinateur Local, c'est-à-dire sur le Bureau de votre PC, est une expérience avec fenêtres et pas l'expérience du plein écran de Windows 8. C'est parce que vous exécutez votre application sur le bureau Windows 10 SKU. Le SKU mobile Windows 10 lance toujours Windows apps plein écran pour rendre la navigation plus facile de toucher. Mais, le SKU Bureau Windows 10 sera également lancement Windows apps plein écran, si vous choisissez l'expérience tactile via l'interface de Continuum sur une tablette ou un ordinateur portable convertible.

Interfaces adaptatives que l'application Windows s'exécute sur les deux appareils, regardant de plus près l'interface utilisateur n'est pas très bien sur le petit écran du téléphone. Le texte de l'en-tête est trop grand pour le petit écran et est tronqué. C'est le début d'un long voyage pour tester et améliorer l'UX sur la variété des dispositifs possibles pour cette application de Windows.

Nous allons modifier la disposition de l'en-tête lorsque nous détectons l'écran plus étroit du téléphone. Il est important, cependant, de reconnaître qu'il n'est pas le téléphone détecté ; C'est la largeur de l'écran. Cela permet une expérience étroite sur le bureau et le téléphone.

Notez qu'il n'y a aucune API pour détecter un téléphone. Toutefois, si votre conception besoin d'opération One-handed spécifique pour le téléphone et les petits comprimés, vous pouvez tester la taille diagonale du périphérique physique dans un déclencheur Visual état personnalisé (ce qui n'est pas abordé dans cet article).

Visual États ne sont pas nouvelles pour XAML. Le gestionnaire d'état visuel permet aux développeurs et concepteurs pour définir des États différents de Visual (dispositions d'écran différent de sens) et de basculer entre eux lors de l'exécution. Visual State Adaptive déclencheurs sont nouveautés avec l'UAP. Ils en finir avec l'approche programmatique à Visual États de commutation. Au lieu de cela, vous déclarez que lorsqu'un État Visual doit être visible dans XAML et la plate-forme sous-jacente fait le reste.

Maintenant, modifiez le code XAML dans MainPage.XAML, comme indiqué dans Figure 4.

Figure 4 XAML prend désormais en charge déclarant les règles permettant d'adapter une Interface

<Grid Background="{StaticResource EggshellBrush}">
  <VisualStateManager.VisualStateGroups>
    <VisualStateGroup x:Name="WindowStates">
      <VisualState x:Name="NarrowState">
        <VisualState.StateTriggers>
          <AdaptiveTrigger MinWindowWidth="1"/>
        </VisualState.StateTriggers>
        <VisualState.Setters>
          <Setter Target="BannerImage.Height" Value="120"/>
          <Setter Target="BannerText.(RelativePanel.Below)"
                  Value="BannerImage"/>
          <Setter Target="BannerText.Width" Value="660"/>
          <Setter Target="BannerText.Margin" Value="0,0,0,24"/>
          <Setter Target="Headline.FontSize" Value="28"/>
          <Setter Target="Subtitle.FontSize" Value="12"/>
        </VisualState.Setters>
      </VisualState>
      <VisualState x:Name="MediumState">
        <VisualState.StateTriggers>
          <AdaptiveTrigger MinWindowWidth="660"/>
        </VisualState.StateTriggers>
        <VisualState.Setters>
          <Setter Target="BannerImage.Height" Value="180" />
          <Setter Target="BannerText.(RelativePanel.AlignTopWith)"
                  Value="BannerImage"/>
          <Setter Target="Headline.FontSize" Value="28"/>
          <Setter Target="Subtitle.FontSize" Value="14"/>
        </VisualState.Setters>
      </VisualState>
      <VisualState x:Name="WideState">
        <VisualState.StateTriggers>
          <AdaptiveTrigger MinWindowWidth="1000"/>
        </VisualState.StateTriggers>
        <VisualState.Setters>
          <Setter Target="BannerText.(RelativePanel.AlignTopWith)"
                  Value="BannerImage"/>
        </VisualState.Setters>
      </VisualState>
    </VisualStateGroup>
  </VisualStateManager.VisualStateGroups>
  <RelativePanel...

Dans Figure 4, notez qu'il existe trois États Visual déclarés : NarrowState, WideState et MediumState. Chacun de ces États Visual correspond à différentes gammes de la largeur de l'écran. Vous êtes libre de créer des États de Visual autant ou aussi peu que vous avez besoin soutenir votre famille du périphérique cible. Le nom que vous utilisez pour chaque État de Visual n'est pas significatif.

Le code XAML illustre également Visual poseurs de l'État, qui sont nouveaux dans l'UAP et vous permettent de définir une valeur de propriété discret sans la charge mémoire liée à l'animation d'une table de montage séquentiel. Ici, nous utilisons des poseurs pour changer la position relative des enfants dans le RelativePanel en définissant la propriété RelativePanel attaché sur l'enfant des éléments, et nous allons aussi changer la hauteur de la BannerImage et la FontSize des éléments de texte. Avec les États de Visual en place, l'interface fait un excellent travail, s'adaptant à un écran plus étroit. Lancez-le et voir !

Figure 5 montre comment l'interface utilisateur s'adapte aux changements dans la largeur de l'écran. Dans votre application Windows, vous pouvez tirer parti de Visual State déclencheurs pour ajuster les éléments en quelque sorte que meilleur sert à vos utilisateurs.

s'adapter à la largeur de l'écran change
La figure 5 s'adapter à la largeur de l'écran change

La version complète de cet exemple, qui est inclus dans le téléchargement de code qui accompagne cet article, développe l'interface utilisateur plus loin et donne des exemples supplémentaires d'à l'aide de la RelativePanel et les déclencheurs d'état visuel pour mettre en œuvre une interface utilisateur adaptive.

Adaptatif Code l'interface utilisateur s'adapte aux différents écrans, mais des différences de dispositif s'étendent à plus de la taille de l'écran. Par exemple, les téléphones ont des boutons matériels tels que dos et appareil photo, ce qui pourrait ne pas être présent sur une autre plateforme, tel qu'un PC. La valeur par défaut UAP a le plus de la nécessité surface des apps Windows API, mais des fonctionnalités spécifiques au périphérique sont déverrouillée avec kits d'Extension que vous ajoutez à vos projets tout comme des assemblys externes, comme le montre Figure 6. Ils permettent un plus large ensemble de fonctionnalités spécifiques au périphérique sans invalider la capacité pour votre application à exécuter sur les autres types d'appareils.

ajout d'une Extension est aussi Simple que l'ajout d'une référence de projet
La figure 6, ajout d'une Extension est aussi Simple que l'ajout d'une référence de projet

Les deux plus communs Extension SDK sont les extensions Desktop et Mobile, permettant des fonctionnalités uniques à leurs respectifs SKU de Windows. L'extension Mobile, permet par exemple, les API nécessaires pour utiliser le bouton appareil photo matériel.

Le Windows Mobile SKU peut fonctionner sur les téléphones et les petites tablettes. Cependant, pas tous les comprimés (pas même tous les téléphones) ont un bouton matériel de la caméra. Extension SDK activer le support de bouton, mais ne mettez les boutons sur l'appareil. Ainsi, au moment de l'exécution, vous devez tester des fonctionnalités de l'appareil, avant d'appeler les fonctionnalités dans le SDK de l'Extension.

Tout comme plate-forme SDK Extension comme Mobile et Desktop déverrouiller les fonctionnalités des dispositifs pour les applications Windows, kits de développement logiciel Extension personnalisée ajouter le support pour des composants supplémentaires, comme le Kinect pour Windows ou les tiers-­matériel de parti. Ceux-ci, ne trop, empêchent votre application de s'exécuter sur les autres types d'appareils.

Comment vérifiez-vous pour les fonctionnalités de l'appareil ? Vous exploiter les méthodes dans la classe Windows.Foundation.Metadata.ApiInformation qui retournent une valeur booléenne simple si un type ou une méthode est prise en charge sur le périphérique actuel. Vous pouvez activer votre application Windows d'utiliser le bouton de la caméra avec le code comme ceci :

if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(
  "Windows.Phone.UI.Input.HardwareButtons"))
{
  Windows.Phone.UI.Input.HardwareButtons.CameraPressed +=
    HardwareButtons_CameraPressed;
}

Notez ici comment le code de Windows.Phone.UI.Input.HardwareButtons est autorisé à se n'exécuter que si le SDK d'Extension est activé sur l'appareil. À la différence avec conditionnels de compilation, test pour les capacités ne provoque pas dans plusieurs fichiers binaires. Cela signifie que vous pouvez allumer ou déclasser gracieusement l'UX selon les capacités du dispositif actuel. Il s'agit d'une approche puissante pour permettre à un seul binaire ; Il crée la variabilité sans limites, vous permettant de profiter au maximum de vos applications Windows sur les familles de périphérique différent.

Récapitulation

Si vous êtes à l'aise avec le développement de Windows 8 app universelle, puis création d'applications Windows ciblant l'UAP si envie de cuisine maison. Windows apps ne ciblent Windows 10 ; l'UAP est la cible et il est découplé de l'UGS de Windows. UAP incrémente les versions avec une cadence en dehors de Windows. Cela signifie que Windows apps ne devront pas recibler chaque fois que le système d'exploitation Windows fait en puissance. Windows Apps pour ciblent une ou plusieurs versions d'UAP et tester ces capacités, tout comme ils testent les capacités de l'appareil. Cette souplesse vous offre une façon agréable et propre à tirer parti des fonctionnalités futures.

Bâtiment moyen app Windows votre application peut fonctionner sur n'importe quel appareil Windows. Ce cadeau est livré avec une réelle mise en garde : L'UAP peut exécuter votre application, mais seulement les développeurs et les concepteurs peuvent rendre l'interface utilisateur et le code s'adapter pour offrir la meilleure UX. possible Si vous voulez construire les distinct spécifique au périphérique, vous pouvez le faire. Mais, si vous choisissez de construire une application de Windows qui prend en charge plusieurs types de périphériques, tout l'outillage et l'infrastructure est en place et prêt à vous rendre réussi.


Jerry Nixon est un spécialiste de développeur pour Microsoft de Colorado. Nixon enseigne et parle de Windows, de téléphone et de développement de bureau. Sa carrière est lancée avec Microsoft SQL Server 6.5, fournissant des solutions centrées sur les données alors que "développeur de base de données" était un terme nouveau. Il a reçu un civil Naval élogieuse pour la sécurité au travail, qui précède son travail pour le démarrage qui deviendrait Microsoft CRM. Depuis 15 ans, Nixon a construit des solutions Microsoft-centric, mobiles. Aujourd'hui, il parle sur XAML et mobilité des événements, les communautés et les universités et la majeure partie de son temps libre est consacrée à l'enseignement de ses trois filles backstories personnage de Star Trek et parcelles d'épisode.

Andy Wigley est un spécialiste de développeur pour Microsoft à partir du Royaume-Uni. Il a rejoint Microsoft en 2012, et avant qui a travaillé comme consultant et était un membre éminent de la communauté de développeurs de l'application mobile. Il était fier d'être nommé un Microsoft Most Valuable Professional (MVP) pendant dix années consécutives. Wigley est bien connue pour les vidéos de Windows Phone JumpStart populaires qui sont disponibles sur channel9.msdn.com et est heureux de travailler avec Jerry Nixon sur une suite à la série vidéo sur le développement d'applications Windows.