Recréation de conceptions d’applications iOS dans Windows 8

Recréation de conceptions d’applications iOS dans Windows 8

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Voici un aperçu de conceptions d’applications iOS courantes et de la façon dont elles peuvent être repensées dans Windows 8.

Si vous envisagez de transposer une application existante d’iOS ou une autre plateforme vers Windows 8, vous devez vous poser la question fondamentale suivante : allez-vous la porter ou la réécrire ?

Si votre application a été créée avec une solution intergicielle (middleware), qui est également prise en charge par Windows 8, la réponse est évidente. En revanche, si elle a été écrite entièrement en Objective-C, vous aurez un peu plus de travail à effectuer.

Votre application utilise-t-elle des bibliothèques écrites en C ou C++ ? Dans ce cas, il est probable que vous puissiez réutiliser le code sans trop de modifications. Par exemple, si vous utilisez une bibliothèque C++ pour effectuer un traitement d’image ou des calculs compliqués, vous pouvez soit écrire votre application Windows entièrement en C++ et utiliser le même code source, soit utiliser la bibliothèque C++ sous la forme d’un composant Windows Runtime (semblable à une DLL, si vous vous y connaissez en programmation Windows Win32). Vous pourriez ensuite écrire le reste de l’application en C# ou JavaScript et appeler les méthodes dans votre composant C++.

La façon dont vous traduirez d’autres applications pour qu’elles s’exécutent sur Windows 8 dépendra de facteurs tels que leur conception fondamentale et leur utilisation des contrôles natifs. Jetons un œil à certains types d’applications fondamentaux et voyons comment nous pourrions les repenser comme applications du Windows Store.

Jeu ou autre application écrite avec OpenGL

En supposant que votre application n’utilise pas de solution middleware, telle que Unity, mais soit plutôt faite à partir d’Objective-C et d’OpenGL (avec ou sans l’utilisation de GLKit), vous devrez la recréer à l’aide de DirectX avec C++.

Jeu d’arcade DirectX

Le Centre de développement Windows contient de nombreuses rubriques pour vous aider à passer d’OpenGL à DirectX, notamment les suivantes :

Une application ou un jeu 2D sans contrôles natifs

Une application qui affiche ses propres boutons et autres contrôles (telle qu’une application pédagogique, un lecteur de magazines ou un jeu plus ordinaire) est sans doute le genre d’application le plus facile à transposer vers Windows 8.

Jeu ordinaire/d’arcade/d’énigmes en 2D

Si les graphismes de votre application utilisent une animation 2D simple, la version Windows 8 peut être un bon candidat pour l’adaptation à l’aide d’un projet JavaScript/HTML5, car le contrôle HTML5 Canvas fournit une prise en charge du rendu 2D semblable à un contrôle UIImage. Ou vous pourriez décider d’utiliser C# et XAML, en faisant appel à des objets XAML tels que Image, Rectangle et Ellipse. Pour plus d’informations à ce sujet, voir Développement de Reversi, jeu du Windows Store en C# et XAML.

Si votre application comporte de nombreuses animations avancées, une solution middleware et/ou DirectX sera peut-être nécessaire pour obtenir la fréquence d’images souhaitée.

Quelle que soit l’approche adoptée, souvenez-vous que si vous ne tirez pas parti des contrôles et fonctionnalités uniques offerts par Windows 8, votre application risque de paraître générique et un peu étrange aux yeux de vos utilisateurs.

Application avec des contrôles natifs

Une application qui prend comme modèle un beau livre aura probablement une apparence similaire sur les deux plateformes. La version iOS affiche en général l’image dans un contrôle UIImageView, puis elle utilise des contrôles UIToolbar ou UINavigationView pour la navigation, probablement personnalisés à l’aide du protocole UIAppearance.

Application « Beau livre » iOS

L’application du Windows Store pourrait afficher les images dans un FlipView ou fournir la navigation à l’aide d’un contrôle Barre de l’application. La Barre de l’application offre un emplacement où placer des boutons de navigation et d’autres fonctionnalités, mais elle peut aussi rester masquée jusqu’à ce que l’utilisateur balaie l’écran de bas en haut (ou clique avec le bouton droit de la souris ou appuie sur la touche Windows et X). Cela procure à votre contenu un peu plus d’espace à l’écran.

Barre de l’application Windows 8

Les icônes sont un autre nouveau contrôle Windows 8. Elles apparaissent quand elles sont appelées par un mouvement de balayage de droite à gauche (ou quand la souris est déplacée dans le coin inférieur droit ou que l’utilisateur appuie sur la touche Windows et C). Les icônes sont un menu à l’échelle du système que votre application peut utiliser pour accéder aux fonctionnalités Rechercher, Paramètres, Partager et Impression.

Icônes Windows 8

Voici quelques rubriques traitant des contrôles Windows 8 :

Application avec une liste d’éléments

Dans cette conception, une liste d’éléments est affichée, généralement à l’aide d’un UITableView dans une application iOS, souvent dans un contrôle d’écran partagé. Le volet le plus grand sert à afficher les détails d’un élément spécifique.

Application iOS basée sur TableView

Vous pouvez créer une vue similaire à un UITableView dans une application du Windows Store à l’aide du contrôle ListView, avec un style pouvant être ajusté de la même manière que les cellules dans le UITableView. Pour plus d’informations, voir Vues Table (iOS vers Windows).

Cependant, Windows 8 fournit également le contrôle GridView, qui est particulièrement utile lors de l’affichage de listes de données et d’aperçus visuels dans un format à défilement latéral. GridView tire parti de l’écran large des appareils Windows et, de plus, l’utilisation du contrôle de Zoom sémantique permet à l’utilisateur d’obtenir rapidement une « vue d’ensemble » de la collection et d’accéder à une sélection particulière. Le contrôle Hub introduit dans Windows 8.1 est idéal pour les applications avec plusieurs pages d’informations (voir Exemple de code JavaScript pour un contrôle Hub ou Exemple de code C# pour un contrôle Hub).

Application iOS Windows 8 utilisant un contrôle GridView

Voici quelques rubriques qui décrivent les différents contrôles Windows 8 utilisés :

Application utilisant un modèle de navigation à exploration vers le bas

De nombreuses applications iOS utilisent plusieurs contrôles UITableView pour naviguer plus profondément dans une application, à l’aide d’un UINavigationController pour gérer l’empilement des vues et le retour vers la vue d’origine en cas de besoin.

Application iOS utilisant UITableView

Vous pouvez créer un système de navigation hiérarchique similaire à l’aide de menus d'en-tête. Quand vous commencez à naviguer parmi les pages, vous devez penser à conserver l’état des pages à la fois entre les vues et entre les lancements de l’application. Pour plus d’informations sur la façon de procéder, voir Deuxième partie : gérer le cycle de vie et l’état d’une application (applications du Windows Store en C#/VB et XAML).

Application Windows 8 utilisant un contrôle GridView

Application avec vues distinctes ou volets d’informations

Peut-être votre application a-t-elle des pages d’informations distinctes, mais contrairement aux volets qui composent par exemple une application météo, les volets n’ont pas grand chose en commun et le balayage latéral dans une vue de style panorama ne conviendrait pas. Une application iOS peut utiliser une barre d’outils ou un contrôle segmenté en bas de l’écran permettant à l’utilisateur de changer de vue.

Application iOS avec contrôle segmenté

Une application du Windows Store pourrait utiliser une barre de l’application pour fournir des liens vers chaque vue et, si nécessaire, rendre la barre de l’application « collante », afin qu’elle demeure visible. Toutefois, une approche plus appropriée consiste à utiliser une barre de navigation en haut de l’écran, prête à apparaître en cas de balayage de haut en bas ou de bas en haut (ou de clic sur le bouton droit de la souris ou d’appui sur la touche Windows + Z).

Application Windows 8 à vue unique

Application Windows 8 avec Barre de navigation

Le zoom sémantique est l’une des autres fonctionnalités offertes par l’interface utilisateur de Windows 8 ; un mouvement de pincement permet d’effectuer un zoom arrière, de rendre tous les éléments visibles dans une liste et de fournir une vue d’ensemble à l’utilisateur, qui peut ensuite sélectionner la vue souhaitée d’un simple appui ou clic.

Application avec historique de défilement vertical

De nombreuses applications iOS présentent une vue qui défile verticalement, où les informations du haut sont plus récentes que celles du bas (par exemple une application sociale multimédia ou un client de messagerie).

Application iOS avec défilement

Les applications du Windows Store prennent aussi en charge les vues à défilement vertical (voir Recommandations en matière de mouvement panoramique (applications du Windows Store)). Rien ne vous empêche donc de recréer ce style dans votre application.

Ceci dit, il existe de nombreuses bonnes raisons d’explorer d’autres façons de présenter ces informations, par exemple en ayant recours à un contrôle GridView à défilement horizontal qui utilise le zoom sémantique pour permettre à l’utilisateur d’accéder à différentes sections (images, actualités, personnes, messagerie, et ainsi de suite).

Application Windows 8 avec contrôle GridView

Conclusion

Il est souvent très facile de recréer une application pour Windows 8, surtout si les contrôles utilisés par celle-ci ne sont rien de plus que des versions personnalisées de contrôles natifs. En ce qui concerne les contrôles plus avancés que vous avez conçus spécifiquement pour votre application (cadrans rotatifs, boutons skeuomorphiques), vous pouvez modifier l’apparence des contrôles XAML dans Blend pour Microsoft Visual Studio 2013 ou créer vos propres contrôles avec des images sur un contrôle HTML5 Canvas. Pour les contrôles réellement compliqués, vous devrez peut-être recourir aux options de rendu à vitesse élevée fournies par DirectX ou une solution interlogicielle (middleware).

De même, les modèles de navigation iOS par défaut peuvent être répliqués dans Windows 8. Cependant, les nouveaux contrôles barre de l’application, barre de navigation, GridView et zoom sémantique peuvent offrir de nouvelles et intéressantes façons de repenser votre application et d’offrir à vos utilisateurs une meilleure « ergonomie ».

Autres rubriques utiles

 

 

Afficher:
© 2017 Microsoft