Version imprimable       Envoyer     
Cliquez pour évaluer et commenter
MSDN
MSDN Library
Articles Techniques
Développement sur périph&...
Windows Mobile
 Nouveautés pour les développeurs da...

  Passer à l'affichage pour faible bande passante
Nouveautés pour les développeurs dans Windows Mobile 6
Paru le 20 mars 2007

Jim Wilson, JW Hedgehog, Inc.

La version de plate-forme de développement Windows Mobile® 6 se concentre sur quelques objectifs fondamentaux : simplifier le développement et le déploiement d'applications métier, faciliter la tâche de création d'une application unique qui s'exécute avec succès sur différents périphériques de la famille Windows Mobile et offrir une expérience utilisateur améliorée. Ce document décrit les nouvelles fonctionnalités de Windows Mobile 6 et leur intérêt pour les développeurs. Ce document explique également les nombreux nouveaux outils fournis par le kit de développement logiciel de Windows Mobile 6 et fournit des instructions de mise en route pour le développement d'applications Windows Mobile 6.

s'applique à :

Windows Mobile 6 Professional
Windows Mobile 6 Standard
Windows Mobile 6 Classic

What's New for Developers in Windows Mobile 6 

Sur cette page

Introduction Introduction
Comprendre les conventions d'attribution des noms de Windows Mobile 6 Comprendre les conventions d'attribution des noms de Windows Mobile 6
Compatibilité Windows Mobile 5.0 renforcée Compatibilité Windows Mobile 5.0 renforcée
Simplification du développement d'applications Simplification du développement d'applications
Simplification du déploiement d'applications Simplification du déploiement d'applications
Création d'une application s'exécutant sur plusieurs périphériques Création d'une application s'exécutant sur plusieurs périphériques
Amélioration de l'expérience utilisateur Amélioration de l'expérience utilisateur
Ce dont vous avez besoin pour commencer à créer des applications Windows Mobile 6 Ce dont vous avez besoin pour commencer à créer des applications Windows Mobile 6
Conclusion Conclusion

Introduction

La version de plate-forme de développement Windows Mobile 6 se concentre sur quelques objectifs fondamentaux : simplifier le développement et le déploiement d'applications métier, faciliter la tâche de création d'une application unique qui s'exécute avec succès sur différents périphériques de la famille Windows Mobile et offrir une expérience utilisateur améliorée.

Pour atteindre ces objectifs, Windows Mobile 6 s'appuie sur les versions précédentes de Windows Mobile, plus particulièrement Windows Mobile 5.0. Windows Mobile 5.0 a fourni plusieurs améliorations de plate-forme et d'outils qui constituent la base du développement d'applications Windows Mobile 6.

Si vous ne connaissez pas Windows Mobile 5.0 ou aimeriez actualiser vos connaissances de Windows Mobile 5.0, consultez la section Nouveautés pour les développeurs dans Windows Mobile 5.0. Les fonctionnalités, outils et API abordés dans le document Nouveautés pour les développeurs dans Windows Mobile 5.0 s'appliquent également à Windows Mobile 6.

Ce document décrit les nouvelles fonctionnalités de Windows Mobile 6 et leur intérêt pour les développeurs. Ce document explique également les nombreux nouveaux outils fournis par le kit de développement logiciel de Windows Mobile 6 et fournit des instructions de mise en route pour le développement d'applications Windows Mobile 6.

Les listes suivantes couvrent brièvement certaines fonctionnalités de développement les plus courantes de Windows Mobile 6 et le kit de développement de logiciel de Windows Mobile 6.

Développement et déploiement d'applications métier simplifiés

  • .NET Compact Framework 2.0 Service Pack 1 (SP1) et Microsoft SQL Server™ 2005 Compact Edition se trouvent sur la mémoire ROM de tous les périphériques Windows Mobile 6, ce qui permet à votre application d'utiliser .NET Compact Framework 2.0 et SQL Server 2005 Compact Edition sans devoir distribuer ou installer l'un ou l'autre produit sur le périphérique de l'utilisateur. Ceci réduit le temps et le coût de déploiement d'application, ce qui se traduit par des économies monétaires directes.

  • Le Device Emulator amélioré fournit une plus grande fidélité de périphérique et offre de nouveaux états d'émulation, notamment les transitions entre l'alimentation secteur et l'alimentation par batterie, et les modifications du niveau de charge de la batterie.

  • Un nouvel utilitaire de test GPS (Global Position System), FakeGPS, vous permet de tester vos applications de localisation accès à un périphérique GPS.

  • Un nouveau Cellular Emulator qui fonctionne conjointement avec Device Emulator vous permet de tester le comportement de votre application dans divers scénarios cellulaires, par exemple lors d'appels téléphoniques entrants, de messages SMS entrants, d'appels téléphoniques interrompus et de connectivité de données interrompue.

Plus grande facilité de création d'une application qui s'exécute sur plusieurs périphériques

  • Le Device Emulator amélioré de plusieurs nouvelles fonctionnalités vous permet de tester vos applications sur toute une série de facteurs de forme de périphérique sans devoir acquérir le périphérique.

  • Un ensemble d'API cohérent sur toute la famille Windows Mobile vous permet d'écrire une application unique qui s'exécute correctement sur la large gamme de périphériques Windows Mobile, indépendamment du fabricant du périphérique ou de l'opérateur mobile.

  • Les instructions de développement relatives à plus d'une centaine d'exemples d'applications sont comprises dans le kit de développement logiciel de Windows Mobile 6. Ces exemples couvrent une large variété de sujets, y compris les meilleures pratiques pour la création d'une application qui s'exécute sur plusieurs périphériques différents.

Expérience utilisateur améliorée

  • Windows Mobile 6 possède un look et un fonctionnement tout nouveaux pour améliorer la productivité et l'expérience utilisateur. Toutes vos applications utilisant les formulaires Windows Mobile standard, tels que la boîte de dialogue de sélection des contacts, bénéficient automatiquement des avantages de la nouvelle interface utilisateur.

  • Une version légère récemment ajoutée à l'API d'encrage de Tablet PC, Windows Ink Services for Pen (WISP), vous permet d'incorporer des fonctionnalités d'encrage à vos applications s'exécutant sur les périphériques Windows Mobile 6 Professional et Windows Mobile 6 Classic.

  • La nouvelle API de son vous permet de lire une variété de formats de sons à partir de votre application Windows Mobile 6, y compris les formats MID, WMA, MP3 et WAV.

Comprendre les conventions d'attribution des noms de Windows Mobile 6

Au cours des nombreuses années qui ont suivi l'introduction du périphérique Pocket PC original, les périphériques mobiles ont subi de multiples améliorations. Aujourd'hui, il existe plusieurs types et de facteurs de forme de pérophérique disponibles, ayant chacun leurs propres points forts. Là où, à une époque, il existait une distinction claire entre les types de périphériques, la séparation entre ces périphériques est désormais de plus en plus floue. Les termes traditionnels, tels que Pocket PC, Smartphone et Pocket PC Phone Edition, ne sont plus assez descriptifs et peuvent parfois entraîner des confusions. Pour clarifier les fonctionnalités et la relation entre les périphériques, Microsoft a introduit de nouvelles conventions d'attribution des noms pour toutes les versions du système d'exploitation Windows Mobile 6. Le tableau 1 illustre la relation entre les conventions d'attribution des noms des systèmes d'exploitation Windows Mobile 5.0 et Windows Mobile 6.

Tableau 1. Relation entre les conventions d'attribution des noms des systèmes d'exploitation Windows Mobile 5.0 et Windows Mobile 6.

Windows Mobile 5.0 Classic

Attribution des noms Windows Mobile 6

Windows Mobile 5.0 pour Smartphone

Windows Mobile 6 Standard

Windows Mobile 5.0 pour Pocket PC Phone Edition

Windows Mobile 6 Professional

Windows Mobile 5.0 pour Pocket PC

Windows Mobile 6 Classic

La nouvelle convention d'attribution des noms se concentre sur les fonctionnalités de chaque version du point de vue des application au lieu de se concentrer sur le matériel périphérique.

Si vous avez déjà développé des applications Windows Mobile, vous savez que l'environnement de développement est extrêmement cohérent sur toute la gamme de périphériques Windows Mobile ; vous utilisez un ensemble commun d'API, d'outils et d'utilitaires pour toute la gamme Windows Mobile. La seule fonctionnalité qui diffère sur les périphériques Windows Mobile concerne la prise en charge de l'écran tactile. Les périphériques Pocket PC et Pocket PC Phone Edition disposent d'écrans tactiles, et prennent par conséquent en charge la saisie tactile directe. Les périphériques Smartphone ne disposent pas d'écran tactile et ne prennent par conséquent, pas en charge la saisie tactile directe.

Pour des raisons de cohérence avec cette différence clé, les kits de développement logiciel de Windows Mobile 6 ne ciblent plus des types de périphérique spécifiques comme cela était le cas avec les kits de développement logiciel de Windows Mobile précédents. À la place, les deux kits de développement de Windows Mobile 6 font la différence entre les périphériques avec écran tactile et les périphériques sans écran tactile. Utilisez le kit de développement de Windows Mobile 6 Professional pour développer des applications pour les périphériques avec écran tactile, c'est-à-dire les périphériques historiquement appelés Pocket PC ou Pocket PC Phone Edition. Utilisez le kit de développement de Windows Mobile 6 Standard pour développer des applications pour les périphériques n'ayant pas d'écran tactile, c'est à dire les périphériques historiquement appelés Smartphone. La relation entre les kits de développement de Windows Mobile 6 et les périphériques Windows Mobile 6 est illustrée dans le tableau 2.

Tableau 2. Relation entre les systèmes d'exploitation Windows Mobile 6 et les kits de développement de Windows Mobile 6

Système d'exploitation Windows Mobile 6

Kit de développement de Windows Mobile 6 correspondant

Windows Mobile 6 Standard

Kit de développement de Windows Mobile 6 Standard

Windows Mobile 6 Professional

Kit de développement de Windows Mobile 6 Professional

Windows Mobile 6 Classic

Kit de développement de Windows Mobile 6 Professional

Notez que les deux périphériques avec écrans tactiles, Windows Mobile 6 Classic et Windows Mobile 6 Professional utilise tous les deux le kit de développement de Windows Mobile 6 Professional ; tandis que le périphérique Windows Mobile 6 Standard, sans écran tactile, utilise le kit de développement de Windows Mobile 6 Standard.

Compatibilité Windows Mobile 5.0 renforcée

Windows Mobile 6 offre une excellente compatibilité avec les applications Windows Mobile 5.0. La compatibilité Windows Mobile 5.0 est l'un des objectifs explicites de Windows Mobile 6 et a été largement testée lors du processus de développement de Windows Mobile 6. La grande majorité des applications Windows Mobile 5.0 s'exécuteront sur les périphériques Windows Mobile 6 sans modification. Le seul inconvénient réside dans le fait que cette compatibilité est conditionnée à l'utilisation par les applications d'API prises en charge. Comme vous pouvez l'imaginer, les applications Windows Mobile 5.0 qui utilisent des API non documentées ou non prises en charge rencontreront peut-être des problèmes de compatibilité qui ne n'ont pas été rencontrés par les applications qui utilisent des API prises en charge.

La compatibilité renforcée offerte par Windows Mobile 6 aux applications Windows Mobile 5.0 vous permet de générer un fichier exécutable unique pour cibler simultanément les périphériques Windows Mobile 5.0 et Windows Mobile 6 à l'aide du kit de développement logiciel de Windows Mobile 5.0 ou du kit de développement logiciel de Windows Mobile 6. Ces applications s'exécuteront parfaitement sur Windows Mobile 5.0, et encore mieux sur Windows Mobile 6 grâce aux nombreuses améliorations de Windows Mobile 6, telles que l'incorporation de .NET Compact Framework 2.0 et SQL Server Compact Edition dans la mémoire ROM.

Simplification du développement d'applications

Le kit de développement logiciel de Windows Mobile 6 fournit les outils et les bibliothèques nécessaires pour lancer le développement des applications Windows Mobile 6 à l'aide de Microsoft Visual Studio® 2005. Le kit de développement logiciel de Windows Mobile 6 associé à Visual Studio 2005 permet de créer une plate-forme de développement de périphérique mobile puissante, tout en offrant les outils et fonctionnalités nécessaires pour faciliter davantage le développement d'applications Windows Mobile.


Outils

Cette section décrit les nouveaux outils de développement fournis par le kit de développement de Windows Mobile 6 et le rôle joué par chaque outil dans le processus de développement d'application.

Device Emulator 2.0

Les émulateurs ont toujours fait partie du développement d'applications mobiles, vous permettant de tester votre application sans devoir accéder à un périphérique physique. Plus vous effectuez de tests à l'aide de l'émulateur sans devoir utiliser un périphérique réel, plus vous travaillerez rapidement, facilement et à moindre coût. Device Emulator 2.0, installé dans le cadre du kit de développement de Windows Mobile 6, s'appuie sur l'héritage de Device Emulator 1.0 pour offrir une plus grande fidélité avec l'environnement de périphérique réel en émulant plusieurs nouveaux états et fonctionnalités de périphériques jusque là non disponibles. À l'instar de Device Emulator 1.0, Device Emulator 2.0 est un véritable émulateur ARM. En tant que véritable émulateur ARM, Device Emulator 2.0 exécute les mêmes fichiers exécutables qu'un périphérique réel, éliminant ainsi la nécessité de gérer des fichiers exécutables d'application différents pour l'émulateur de ceux qui sont nécessaires pour un périphérique réel. Avec Device Emulator 2.0, un seul jeu de fichiers exécutables suffit pour l'émulateur et les périphériques réels.

Le processus d'installation du kit de développement logiciel de Windows Mobile 6 remplace automatiquement Device Emulator 1.0 que Visual Studio 2005 installe par Device Emulator 2.0. Par conséquent, tout votre projet Visual Studio 2005 Windows Mobile utilise Device Emulator 2.0 et peut profiter des nouvelles fonctionnalités et améliorations qu'offre Device Emulator 2.0.

Exécution plus rapide

Le plus frustrant lors des tests d'application peut être la lenteur au démarrage et à l'exécution d'applications. Pour réduire les délais causés par les performances de l'émulateur, Device Emulator 2.0 a été optimisé de manière significative. Chaque application est différente. C'est pourquoi il est difficile de savoir dans quelle mesure l'application individuelle est affectée par les optimisations de l'émulateur. Cependant, Device Emulator 2.0 peut offrir une amélioration des performances atteignant 40 % par rapport à Device Emulator 1.0.

Autres émulateurs de périphériques

Device Emulator 2.0 dispose désormais de plusieurs nouveaux facteurs de forme de périphérique vous permettant de tester le comportement de votre application sur la plupart des facteurs de forme de périphérique les plus récents, avant même que ces périphériques soient sur le marché. La figure 1 affiche le nouveau facteur de forme d'affichage 320 x 320 de Device Emulator. L'affichage 320 x 320 est un des nouveaux facteurs de forme de périphérique disponibles dans Windows Mobile 6.

Figure 1. Device Emulator émulant le nouveau facteur de forme d'affichage 320 x 320 de Windows Mobile 6

En plus des nombreux nouveaux périphériques Windows Mobile 6, Device Emulator 2.0 continue de fournir un ensemble d'émulateurs de périphérique Pocket PC 2003SE, Smartphone 2003SE, Windows Mobile 5.0 Pocket PC et Windows Mobile 5.0 Smartphone. La figure 2 illustre un périphérique Pocket PC 2003SE et le Windows Mobile 5.0 Smartphone dans Device Emulator.

Figure 2. Device Emulator émulant un Pocket PC 2003SE et le Windows Mobile 5.0 Smartphone

Que Device Emulator 2.0 émule un nouveau périphérique Windows Mobile 6 ou un des périphériques plus anciens, l'émulateur fournit toujours toutes les nouvelles fonctionnalités abordées dans cette section.

Émulation de l'état d'alimentation

Par nature, les périphériques mobiles fonctionnent principalement sur leur batterie, n'étant qu'occasionnellement branchés sur l'alimentation secteur. Lorsque le niveau de charge de la batterie du périphérique devient très faible, votre application peut prendre des mesures spécifiques pour éviter une perte de données au cas où la batterie se viderait complètement. Pour pouvoir tester les effets des modifications de l'état d'alimentation sur votre application, Device Emulator 2.0 introduit l'émulation de l'état d'alimentation.

Figure 3. Contrôles de configuration de l'état de l'alimentation de Device Emulator

Comme illustré à la figure 3, la boîte de dialogue de configuration de l'émulateur vous permet de basculer l'état de l'émulateur entre l'alimentation par batterie et l'alimentation secteur en cochant ou décochant la case Battery: . Lors d'un fonctionnement test sur la batterie, vous pouvez également déterminer le niveau de charge de la batterie (en pourcentage). L'émulateur répond à ces modifications de l'état d'alimentation et du niveau de batterie, exactement comme le fait un périphérique. L'émulateur affiche les icônes et les messages appropriés ; il déclenche également les événements State and Notifications Broker appropriés.

Émulation de profil de téléphone

Device Emulator 2.0 prend en charge trois nouveaux profils de téléphone : casque, haut-parleur et kit mains-libres. Comme illustré à la figure 4, vous pouvez activer chacun de ces profils en cochant la case à cocher appropriée dans la boîte de dialogue de configuration de l'émulateur. Lorsque vous cochez les cases de profil, l'émulateur se comporte comme si vous aviez branché un écouteur, activé le haut-parleur ou connecté un kit mains-libres, en lançant notamment tous les événements State and Notifications Broker appropriés.

Figure 4. Contrôles de configuration du profil de Device Emulator

Cellular Emulator

La majorité de périphériques Windows Mobile actuels disposent de fonctionnalités de téléphone et autres communications sans fil. Il existe plusieurs situations différentes dans lesquelles vous souhaiterez peut-être que votre application interagisse avec ces fonctionnalités de communication. Vous pouvez simplement souhaiter baisser la musique lue par votre application lorsque le téléphone sonne, ou avoir besoin d'incorporer d'autres fonctionnalités sophistiquées qui impliquent de travailler en étroite collaboration avec le matériel de communication. Dans les deux cas, le développement de ces types d'applications a toujours été difficile, principalement en raison de la difficulté de tester une telle application.

Pour résoudre ce problème, le kit de développement logiciel de Windows Mobile 6 comprend Cellular Emulator. Cellular Emulator vous permet de tester le comportement de votre application dans diverses situations de communications cellulaires depuis Device Emulator. La figure 5 illustre Cellular Emulator.

Figure 5. Cellular Emulator vous permet de tester le téléphone et le comportement de communications depuis Device Emulator.

Cellular Emulator est un outil puissant permettant tester le comportement de votre application à mesure que l'état des communications cellulaires change. Cellular Emulator vous permet d'exécuter de simples tests, tels qu'émettre des appels sortants à partir de l'émulateur, recevoir des appels entrants et interrompre un appel. Il fournit également des fonctionnalités similaires pour les messages SMS. Pour les développeurs devant tester des fonctionnalités plus impliquées, Cellular Emulator offre une prise en charge pour la modification de la configuration SIM et la simulation des transferts réseaux entre les réseaux 2G et 3G. Tous ces tests peuvent être effectués sans périphérique physique.

Pour utiliser Cellular Emulator avec Device Emulator, vous devez associer Cellular Emulator à Device Emulator. La création de cette association est très facile.

  • Notez le numéro de port COM affiché dans l'angle inférieur gauche de Cellular Emulator ; COM4 sur la figure 5.

  • Pour ouvrir la boîte de dialogue Emulator Properties (Propriétés de l'émulateur) dans le menu Device Emulator, sélectionnez File (Fichier) puis cliquez sur Configure…(Configurer...).

  • Dans la boîte de dialogue Emulator Properties (Propriétés de l'émulateur) cliquez sur l'onglet Peripherals (Périphériques).

  • Entrez le numéro de port COM de (Propriétés de l'émulateur) dans le Port série 0, comme illustré à la figure 6. Si vous ne voyez pas le numéro de port COM dans la liste déroulante, vous pouvez le saisir vous-même.

  • Pour fermer la boîte de dialogue Emulator Properties (Propriétés de l'émulateur), cliquez sur OK.

  • Pour effectuer une réinitialisation, dans le menu File (Fichier), cliquez sur Reset (Réinitialiser) puis cliquez sur Soft (Redémarrer).

Lorsque l'émulateur termine le processus de réinitialisation, vous voyez que l'émulateur affiche maintenant qu'un service cellulaire est disponible.

Figure 6. Saisie du numéro de port COM de Cellular Emulator pour activer l'émulation de service cellulaire pour Device Emulator

FakeGPS

La grande disponibilité des équipements GPS à des prix abordables associée au service facile à utiliser GPS Intermediate Driver introduite dans Windows Mobile 5.0 offre aux développeurs la possibilité de créer des applications de localisation. Historiquement, le problème posé par les applications de localisation résidait dans la difficulté de les tester correctement. Windows Mobile 6.0 résout ce problème, via l'utilitaire FakeGPS.

L'utilitaire FakeGPS vous permet de tester facilement vos applications de localisation sans devoir accéder à un périphérique GPS actif ou un flux GPS actif. À la place, il vous suffit de créer un simple fichier de texte contenant une liste de messages GPS NMEA, de copier le fichier de texte dans le dossier \Program Files\FakeGPS\GPS sur votre périphérique, puis d'activer FakeGPS. Vous trouverez ci-après une partie d'un exemple de fichier d'entrée FakeGPS.

 $GPGLL,4738.0173,N,12211.1874,W,191934.767,A*21 $GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E
 $GPGSV,3,1,9,8,71,307,43,27,78,59,41,3,21,47,0,10,26,283,40*77 $GPGSV,3,2,9,29,13,317,0,28,37,226,37,13,
  32,155,36,19,37,79,42*42
 $GPGSV,3,3,9,134,0,0,0*46 $GPRMC,191934.767,A,4738.0173,N,12211.1874,W,0.109623,12.14,291004,,*21
 $GPGGA,191935.767,4738.0172,N,12211.1874,W,1,06,1.4,32.9,M,-17.2,M,0.0,0000*75 $GPGLL,4738.0172,N,
  12211.1874,W,191935.767,A*21
 $GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E $GPRMC,191935.767,A,4738.0172,N,12211.1874,W,
  0.081611,15.81,291004,,*2A
                

Fonctionnant conjointement avec GPS Intermediate Driver, FakeGPS envoie les messages du fichier de texte vers n'importe quelle application pouvant lire le flux GPS. Comme l'utilitaire FakeGPS fonctionne directement avec GPS Intermediate Driver, vous pouvez l'utiliser pour tester vos applications sur les périphériques réels et Device Emulator sans devoir modifier votre programme. Pour activer le flux de données FakeGPS, utilisez l'utilitaire FakeGPS pour sélectionner le fichier d'entrée souhaité et choisissez l'option Enable (Activer), comme illustré à la figure 7.

Figure 7. Configuration du flux FakeGPS permettre les tests d'applications de localisation

Security Configuration Manager

Il n'y a pas plus frustrant que voir l'application sur laquelle vous avez tellement travaillé échouer subitement lorsque vous l'installez sur le périphérique d'un utilisateur. Malheureusement, ceci peut parfois arriver si vous n'avez pas testé votre application avec les mêmes paramètres de sécurité que ceux du périphérique de l'utilisateur final. La meilleure façon d'éviter les problèmes liés à la sécurité consiste à planifier une partie centrale de la conception, du développement et du processus de test de votre application. Voilà l'objet de Security Configuration Manager.

Device Security Manager s'exécute sur votre ordinateur de bureau et fournit deux services essentiels. Device Security Manager affiche les paramètres de sécurité actuels du périphérique ou de l'émulateur actuellement connecté à votre ordinateur de bureau via Microsoft ActiveSync® sur Windows XP ou Windows Mobile Device Center (WMDC) sur Vista. Les informations affichées comprennent la stratégie de sécurité de périphérique, la liste des paramètres de sécurité individuels, et la liste des certificats installés sur chacun des magasins de certificats du périphérique.

Device Security Manager vous permet également de configurer l'émulateur avec les stratégies de sécurité courantes, vous permettant ainsi de tester l'effet des différentes stratégies de sécurité sur votre application sans avoir besoin d'un périphérique réel. La figure 8 illustre Device Security Manager immédiatement après la configuration de l'émulateur pour avoir une stratégie de sécurité d'invite à un niveau.

Figure 8. Security Configuration Manager après la mise à jour de la stratégie de sécurité de l'émulateur

Grâce à Device Security Manager, vous pouvez profiter de la facilité de test des applications avec l'émulateur tout en vous assurant que votre application se comporte comme vous le prévoyiez en fonction des différentes stratégies de sécurité.

Remarque : Pour plus d'informations sur la sécurité de Windows Mobile, consultez le Centre de développement Windows Mobile Developer Center ou les Questions fréquentes de Mobile2Market

CabSignTool

Avant la distribution de votre application, vous devez en général signer le fichier exécutable de l'application et les fichiers d'installation avec le certificat approprié pour identifier votre organisation en tant qu'éditeur de l'application. Pour des raisons de sécurité, tous les fichiers exécutables de l'application (*.dll et *.exe) et le fichier CAB installant l'application doivent être signés. La signature de chaque fichier exécutable individuel, la génération du fichier CAB, puis la signature du fichier CAB peuvent prendre du temps si l'application est composée de plusieurs fichiers exécutables. L'utilitaire CabSignTool est un utilitaire de ligne de commande qui simplifie le processus de signature d'application en vous épargnant les détails de signature des parties individuelles d'une application.

L'utilitaire CabSignTool signe un fichier CAB et tous les fichiers exécutables contenus simultanément. Il vous suffit de générer les fichiers exécutables de l'application et de créer le fichier CAB sans vous préoccuper de la signature de tous les autres fichiers. L'utilitaire CabSignTool éclate ensuite les contenus du fichier CAB, signe chaque fichier exécutable, réassemble le fichier CAB incorporant la version signée des exécutables, et signe ensuite le fichier CAB. L'utilitaire CabSignTool vous offre la possibilité de signer le fichier CAB et les exécutables avec un seul certificat ou de signer le fichier CAB avec un certificat séparé du certificat utilisé pour signer les fichiers exécutables.

Hopper

Les applications mobiles s'exécutent souvent sur un périphérique pendant plusieurs semaines ou mois sans être fermées. L'usage prolongé d'une application sur une aussi longue période peut parfois entraîner des problèmes dans une application. Ces problèmes peuvent être difficiles à détecter via les tests d'application traditionnels. La recherche de ces problèmes nécessite que l'application subisse le même type de contrainte pendant votre cycle de tests que lors de son déploiement. L'utilitaire Hopper permet d'exécuter ce type de tests de contrainte.

L'utilitaire Hopper simule un utilisateur cliquant rapidement sur des emplacements aléatoires au sein de votre application. Votre application subit ainsi une contrainte incroyable et exécute un niveau d'utilisation d'application déstructuré qui peut exposer les erreurs d'application qui n'auraient pas été facilement détectées lors des tests des fonctionnalités d'application traditionnels. L'utilitaire Hopper peut être utilisé pour effectuer un test de contrainte d'une seule application ou de plusieurs applications simultanément; incorporant une imprévisibilité encore plus importante en basculant au hasard entre les applications, en plus des clics aléatoires au sein des applications individuelles. Vous devez inclure l'utilitaire Hopper dans tous vos tests d'application. Ce même utilitaire teste les périphériques Windows Mobile pour s'assurer de leur stabilité. L'inclusion de l'utilitaire Hopper dans vos tests ne vérifie pas seulement la stabilité de votre application mais aussi que votre application n'introduit pas une instabilité du périphérique.

Infrastructure de serveur local

L'infrastructure de serveur local est composée d'outils et de classes conçus pour simplifier les tests d'applications mobiles qui dépendent de la communication avec des serveurs distants. Pour simplifier votre développement d'applications mobiles, l'infrastructure de serveur local vous permet de configurer un réseau virtuel et un serveur qui reçoit les appels réseau émis par votre application et renvoie les résultats que votre programme prévoit. En utilisant un environnement de serveur local bien contrôlé, vous pouvez facilement séparer les problèmes de vos applications mobiles dus à des problèmes de réseau externe ou de serveur des problèmes qui surviennent dans votre programme.


Exemples

Le kit de développement de Windows Mobile 6 fournit plusieurs exemples que vous trouverez peut-être utiles. Les exemples couvrent la plupart des sujets que vous rencontrerez en développant des applications Windows Mobile 6, vous permettant ainsi de gagner du temps, et représente un bon outil d'apprentissage. Vous trouverez ci-après quelques exemples représentatifs.

UILayout

Cet exemple démontre comment générer une application native qui s'adapte dynamiquement aux différences de facteurs de forme de périphérique. Cet exemple explique comment incorporer des fonctionnalités d'ancrage et de gestion de l'affichage. Cet exemple inclut également une classe, ScreenLib, qui encapsule une bonne partie de cette logique d'affichage. La classe ScreenLib est conçue pour être réutilisable et peut facilement être adaptée à vos propres applications.

RingtoneManager

Cet exemple démontre l'utilisation de la nouvelle API de son de Windows Mobile 6.

BasicRecognition, InkNotes et InkSerialization

Ces exemples illustrent plusieurs utilisations des API WISP Lite. Les sujets couverts comprennent la reconnaissance de texte sur l'entrée d'encrage, l'utilisation d'entrée d'encrage au sein d'une application et l'enregistrement de l'encrage dans un fichier.

GPS

Cet exemple démontre comment accéder à GPS Intermediate Driver depuis une application gérée. Il inclut toutes les méthodes de wrapper nécessaires pour analyser les détails d'appel natif de l'application gérée.


.NET Compact Framework 2.0

Tous les périphériques Windows Mobile 6.0 comprennent .NET Compact Framework 2.0 SP1 dans la mémoire ROM. Ceci vous permet de profiter pleinement de la richesse fonctionnelle offerte par.NET Compact Framework 2.0 et des nombreuses améliorations par rapport à .NET Compact Framework 1.0 sans devoir déployer le service d'exécution .NET Compact Framework 2.0 avec votre application. Même vos applications .NET Compact Framework 1.0 s'exécuteront mieux sur les périphériques Windows Mobile 6 puisque vos applications .NET Compact Framework 1.0 sont entièrement compatibles avec .NET Compact Framework 2.0 et par conséquent, s'exécuteront sur les périphériques Windows Mobile 6, tout en profitant pleinement des améliorations de .NET Compact Framework 2.0 sans nécessiter de modification du programme. Les améliorations de .NET Compact Framework 2.0 sont nombreuses et se concentrent sur l'amélioration de la productivité de développement, offrant une plus grande fidélité avec la totalité de .NET Framework et augmentant la prise en charge des fonctionnalités de périphérique. Cette section décrit certaines des fonctionnalités les plus importantes de .NET Compact Framework 2.0.

Fonctionnalités d'interface utilisateur améliorées

Bien que .NET Compact Framework 2.0 comprenne un certain nombre d'améliorations, la plupart des améliorations les plus évidentes résident dans les fonctionnalités liées à l'interface utilisateur.

Contrôles de Windows Forms

Les contrôles constituent les blocs de construction de l'interface utilisateur de votre application. L'utilisabilité d'un grand nombr d'applications est directement liée à la façon dont l'application profite des contrôles disponibles. .NET Compact Framework 2.0 offre de nombreux nouveaux contrôles, qui simplifient la conception de l'interface utilisateur de votre application et fournissent une expérience améliorée pour l'utilisateur.

Contrôles MonthCalendar et DateTimePicker

Parmi les nouveaux contrôles, .NET Compact Framework 2.0 fournit deux contrôles permettant d'afficher et de saisir des informations basées sur la date : le contrôle

MonthCalendar
et le contrôle
DateTimePicker
. Ces deux contrôles sont illustrés à la figure 9. Le contrôle
MonthCalendar
est utile lorsque vous souhaitez inclure l'aspect de calendrier dans votre application et l'avoir toujours visible sur le formulaire. Le contrôle
DateTimePicker
convient parfaitement pour la taille d'affichage limitée des périphériques mobiles. Les informations de date et heure sont affichées dans ce qui ressemble à un contrôle
TextBox
, mais lorsqu'un utilisateur a besoin d'entrer des données,
DateTimePicker
affiche un calendrier complet.

Figure 9. Contrôle MonthCalendar et contrôle DateTimePicker.

Contrôle WebBrowser

Pour les applications souhaitant incorporer un affichage HTML riche, .NET Compact Framework 2.0 inclut le contrôle

WebBrowser
illustré à la figure 10. Le contrôle
WebBrowser
fournit un certain nombre d'événements qui permettent à votre application d'effectuer le suivi de l'interaction de l'utilisateur avec le contenu du contrôle
WebBrowser
. Votre application peut répondre aux événements d'interaction utilisateur par des comportements personnalisés, si vous le souhaitez.

Figure 10. Le contrôle WebBrowser affichant la page de recherche mobile Windows Live

Contrôle Notification

Le contrôle

Notification
est l'un des nouveaux contrôles les plus intéressants. Le contrôle
Notification
vous permet d'afficher un message à l'utilisateur sans modifier le contexte de l'activité actuelle de l'utilisateur. Le contrôle
                            Notification
                          
vous permet d'afficher des messages dans une bulle contextuelle comme un périphérique Windows Mobile affiche un message pour avertir que la batterie est faible.

Autres contrôles

Il existe bien d'autres contrôles que ceux mentionnés dans cette section. .NET Compact Framework 2.0 inclut beaucoup plus de contrôles que ceux que nous avons mentionnés ici, notamment le contrôle

StatusBar
, le contrôle
DataGrid
pour Smartphone, des contrôles personnalisés dérivés de
UserControl
et bien d'autres encore.

Prise en charge des différences de facteur de forme des périphériques

Les périphériques Windows Mobile se présentent dans de nombreux facteurs de forme différents et de nouveaux facteurs de forme ne cessent d'apparaître. Pour garantir que votre application fonctionne correctement à travers la famille des périphériques Windows Mobile, vous devez concevoir l'interface utilisateur de votre application de sorte qu'elle s'adapte aux différences de taille, de forme et de résolution des écrans des périphériques. Pour que vous n'ayez pas à vous soucier des détails de prise en charge de ces différences de périphériques, .NET Compact Framework 2.0 fournit plusieurs nouvelles fonctionnalités qui simplifient la création d'interfaces utilisateur d'application adaptables.

La plus remarquable de ces nouvelles fonctionnalités est l'ajout d'un ancrage des contrôles. L'ancrage des contrôles vous aide à rendre l'interface utilisateur de votre application plus adaptable puisque l'ancrage vous permet de fournir des comportements par défaut en ce qui concerne la façon dont un contrôle doit répondre à des modifications dans la zone d'affichage.

L'ancrage d'un contrôle aligne le contrôle avec le bord de son contrôle parent. Par exemple si vous configurez un contrôle pour l'ancrer avec le bord gauche de son parent, le contrôle se place contre le bord gauche du contrôle parent et remplit toute la zone située le long du bord gauche du contrôle parent comme illustré à la figure 11. Lorsque des différences de facteur de forme de périphérique entraînent une modification de la taille du contrôle parent, le contrôle ancré se redimensionne automatiquement pour rester aligné sur le bord gauche du contrôle parent.

Figure 11. Un contrôle ancré sur le bord supérieur de son contrôle parent affiché en portrait et en paysage

L'ancrage d'un contrôle indique qu'un bord ou plus d'un contrôle doit rester à une distance fixe du/des bord(s) correspondant(s) du contrôle parent. Les différences de taille d'écran des périphériques forcent le contrôle à ajuster sa taille automatiquement et, si nécessaire, sa position pour conserver toujours la distance spécifiée des bords ancrés par rapport au(x) bord(s) du contrôle parent. La figure 12 illustre un contrôle

TextBox
ancré sur les bords gauche, droit et inférieur du contrôle parent.

Figure 12. Un contrôle ancré sur les bords gauche, droit et inférieur de son contrôle parent affiché en portrait et en paysage

Pour certaines applications, il se peut que le redimensionnement ou déplacement des contrôles en réponse à des différences de taille dans la zone d'affichage du périphérique ne soit pas pratique. Ceci survient habituellement lorsqu'une application a un certain nombre de contrôles, qui, s'ils sont redimensionnés, risquent de devenir trop petits pour que l'utilisateur interagisse raisonnablement avec eux. Dans ce cas, la meilleure solution consiste à permettre à l'utilisateur de faire défiler la zone d'affichage de l'application pour afficher les contrôles qui dépassent du bord de l'affichage. Avec .NET Compact Framework 2.0, vous n'avez rien de spécial à faire pour incorporer le défilement dans votre application. Lorsque votre application s'affiche, .NET Compact Framework 2.0 détecte automatiquement si des contrôles n'apparaissent pas en raison de la taille d'affichage et ajoute des barres de défilement dans le formulaire de l'application selon les besoins. .NET Compact Framework 2.0 fournit également toute la gestion de la barre de défilement. Par conséquent, l'utilisateur peut faire défiler le formulaire pour atteindre les contrôles masqués sans avoir besoin que l'application fasse quoi que ce soit de particulier.

Les périphériques ont non seulement des tailles d'écran différentes mais aussi des résolutions d'affichage différentes. Si ces différences de résolution ne sont pas gérées, une application conçue au départ pour un affichage de 96 points par pouce (ppp) sera affichée en tout petit et écrasée sur un périphérique de 192 ppp. Pour l'afficher convenablement, les contrôles doivent s'adapter à la nouvelle résolution d'affichage. Avec .NET Compact Framework 2.0, la prise en charge de ces différences de résolution est facile parce que .NET Compact Framework 2.0 adapte automatiquement tous les contrôles pour gérer les différences de résolution lors de la conception et de résolution lors de l'exécution.

Interaction du clavier et navigation basée sur le clavier

La prise en charge améliorée des périphériques avec pavés numériques ou claviers est un progrès très important dans .NET Compact Framework 2.0. Dans .NET Compact Framework 2.0, tous les contrôles reçoivent maintenant des événements

KeyUp
,
KeyDown
et
KeyPress
, ce qui vous permet d'incorporer la gestion du clavier personnalisée dans votre application. Grâce à la propriété
                                Form.KeyPreview
                              
ajoutée récemment, vous pouvez également choisir d'envoyer les événements de clavier aux contrôles individuels ou d'envoyer tous les événements de clavier de contrôle au formulaire contenant les contrôles.

.NET Compact Framework 2.0 inclut également la prise en charge des contrôles de configuration sous la forme de taquets, et de l'ordre de tabulation des contrôles de configuration. Ceci permet aux utilisateurs ayant des périphériques à clavier de se déplacer d'un contrôle d'application à un autre en utilisant la touche de tabulation plutôt que d'avoir besoin d'utiliser un stylet.

Fonctionnalités de données améliorées

Par leur nature, les applications métier consacrent beaucoup de temps à la gestion et à l'interaction avec les données. Pour les développeurs créant des applications métier, il est essentiel d'avoir des classes de données efficaces et faciles à utiliser. Windows Mobile 6 fournit aux développeurs d'applications métier la prise en charge des bases de données entièrement relationnelles dont ils ont besoin en incluant SQL Server Compact Edition dans la mémoire ROM. Avec SQL Server Compact Edition dans la mémoire ROM, vous pouvez tirer parti de la puissance et des fonctionnalités d'une base de données relationnelle installée localement, SQL Server Compact Edition, sans avoir besoin d'inclure les composants d'installation de la base de données dans votre déploiement d'application.

Que vous travailliez avec des données relationnelles à partir de la classe

DataSet
et SQL Server Compact Edition ou avec des données hiérarchiques à partir des classes XML, .NET Compact Framework 2.0 fournit les classes faciles à utiliser, efficaces et riches en fonctionnalités dont vous avez besoin pour réduire votre effort de programmation tout en améliorant les performances de l'application.

Remarque : En plus des nombreuses nouvelles fonctionnalités abordées dans cette section, reportez-vous à la section ci-dessous « Meilleures performances et gestion plus efficace des ressources » pour une discussion sur les performances améliorées du service d'exécution des classes de données.

Données relationnelles

La classe de données relationnelle fournie par .NET Compact Framework 2.0 qui affectera le plus vos applications est la nouvelle classe

SqlCeResultSet
. La classe
SqlCeResultSet
fournit un curseur pouvant être mis à jour et que l'on peut faire défiler directement vers une base de données SQL Server Compact Edition. Au lieu de dupliquer de grands volumes de données de bases de données dans la mémoire comme le fait la classe
DataSet
, la classe
SqlCeResultSet
travaille directement avec le moteur de bases de données SQL Server Compact Edition et fournit ainsi la mise à jour des données et le défilement du curseur sans qu'il soit nécessaire de dupliquer les données.

L'architecture de la classe

SqlCeResultSet
réduit considérablement la quantité de mémoire utilisée par une application par rapport à la classe
DataSet
. Dans de nombreux cas,
SqlCeResultSet
peut réduire la quantité de mémoire dont votre application a besoin de plusieurs mégaoctets. En plus de réduire la consommation de mémoire, la classe
SqlCeResultSet
est beaucoup plus rapide que la classe
DataSet
. La classe
SqlCeResultSet
est habituellement plus performante que la classe
DataSet
de 300 à 500 %.

XML

.NET Compact Framework 2.0 fournit plusieurs améliorations pour travailler avec des données XML. Ces modifications facilitent le travail avec les API XML et alignent bien davantage les API XML sur les fonctionnalités fournies par le système .NET Framework complet. Dans le cadre de ces améliorations, .NET Compact Framework 2.00 ajoute la prise en charge du langage de requête XML Xpath. XPath peut réduire considérablement la quantité de programmation nécessaire pour parcourir des données XML et peut souvent parcourir des données XML plus efficacement qu'en utilisant les API de navigation explicites. La classe

XmlSchema
et des classes apparentées ont été également ajoutés, ce qui vous permet de travailler avec des schémas XML et de créer ces derniers par programmation.

La sérialisation XML, fonctionnalité souvent réclamée, est maintenant disponible. .NET Compact Framework 2.0 inclut à présent la classe

XmlSerializer
et des classes apparentées telles que les classes
XmlElement
et
XmlAttribute
. Grâce à l'ajout de ces classes, vous pouvez maintenant conserver facilement et restaurer des objets d'application tels que le XML.

La nouvelle classe

XmlSerializer
remplace l'implémentation de la sérialisation XML des services Web utilisée dans .NET Compact Framework 1.0. Toutes les sérialisations et désérialisations XML des services Web sont maintenant exécutées avec la nouvelle classe
XmlSerializer
. La nouvelle classe
XmlSerializer
est deux à trois fois plus rapide que l'implémentation de la sérialisation XML des services Web dans .NET Compact Framework 1.0. Grâce à la nouvelle classe
XmlSerializer
, le temps global qu'une application passe dans un appel de service Web à partir d'une application .NET Compact Framework 2.0 peut être considérablement plus court que pour le même appel réalisé depuis une application .NET Compact Framework 1.0.

Meilleures performances et gestion plus efficace des ressources

Windows Mobile 6 fournit de meilleures performances pour les applications gérées en incluant .NET Compact Framework 2.0 dans la mémoire ROM. .NET Compact Framework 2.0 fournit une amélioration sensible des performances par rapport à .NET Compact Framework 1.0. L'amélioration des performances affecte pratiquement tous les secteurs de l'exécution des applications, y compris la récupération des ressources d'application.

Le service d'exécution de .NET Compact Framework 2.0 a subi un examen détaillé et été remanié en vue d'une amélioration des performances. Les efforts n'ont pas été vains. Bien qu'il soit difficile d'identifier de quelle façon les améliorations de performances affecteront une application donnée, un grand nombre des secteurs du service d'exécution de .NET Compact Framework 2.0 affichent des performances d'une à une fois et demie supérieures à l'opération correspondante dans .NET Compact Framework 1.0. D'autres secteurs fournissent des améliorations encore plus sensibles, par exemple la distribution des méthodes tant virtuelle que non virtuelle, qui, dans de nombreux cas, est près de deux fois et demie plus rapide que dans .NET Compact Framework 1.0.

Outre ces améliorations générales des performances du service d'exécution, une attention particulière a été apportée à l'amélioration des performances des classes de données. La classe

DataSet
de .NET Compact Framework 2.0 charge les données trois à quatre fois plus vite que la version .NET Compact Framework 1.0. La classe
XmlTextReader
a subi une amélioration des performances similaires et est maintenant capable de lire le contenu d'un fichier XML presque trois fois plus vite que la classe homologue de .NET Compact Framework 1.0.

Au delà des nombreuses améliorations de performances du service 'exécution des applications, .NET Compact Framewok 2.0 fournit également des améliorations de performances considérables au niveau du Garbage Collector. En général, le Garbage Collector de .NET Compact Framework 2.0 récupère la mémoire plus de sept fois plus rapidement que dans .NET Compact Framework 1.0. Les allocations d'objets volumineux sont gérées et récupérées séparément depuis d'autres allocations de mémoire et étaient déjà très rapides dans .NET Compact Framework 1.0, mais le Garbage Collector de .NET Compact Framework 2.0 est encore quatre fois plus rapide. Le tableau 3 fournit un aperçu général des améliorations des performances dans .NET Compact Framework 2.0.

Tableau 3. Aperçu général des améliorations de performances dans .NET Compact Framework 2.0 par rapport à .NET Compact Framework 1.0

Tâche

Amélioration des performances de .NET CF 2.0 par rapport à .NET CF 1.0

Exécution générale du service d'exécution

1 fois 1/2 plus rapide (en moyenne)

Distribution des méthodes

2 fois 1/2 plus rapide

Chargement de DataSet

3 à 4 fois plus rapide

Lecture de XmlTextReader

3 fois plus rapide

Récupération de mémoire par le Garbage Collector

7 fois plus rapide

Récupération d'objets volumineux par le Garbage Collector

4 fois plus rapide

Non seulement les applications s'exécutent mieux avec .NET Compact Framework 2.0 plutôt qu'avec .NET Compact Framework 1.0 mais les applications .NET Compact Framework 2.0 exécutées sur un périphérique Windows Mobile 6 démarreront à une vitesse de 25 % plus rapide que la même application .NET Compact Framework 2.0 exécutée sur un périphérique Windows Mobile d'une version antérieure. L'amélioration du délai de démarrage sur les périphériques Windows Mobile 6 est due au fait que .NET Compact Framework 2.0 est installé dans la mémoire ROM du périphérique. Le simple fait d'avoir .NET Compact Framework 2.0 dans la mémoire ROM du périphérique améliore le démarrage des applications de 25 % par rapport aux périphériques pour lesquels .NET Compact Framework 2.0 est installé dans la mémoire RAM.

Toutes ces améliorations de performances signifient non seulement que vos utilisateurs seront plus satisfaits de vos applications plus rapides et plus réactives. Ces améliorations de performances accélèrent également votre développement d'applications parce que vous passez dorénavant moins de temps à attendre. Votre application démarrera plus vite, s'exécutera plus vite et produira les résultats de vos tests d'application plus vite.

Interopérabilité du code natif remaniée

.NET Compact Framework 2.0 fournit de nombreuses nouvelles fonctionnalités par rapport à celles disponibles dans .NET Compact Framework 1.0. Avec tant de fonctionnalités supplémentaires, les applications .NET Compact Framework 2.0 peuvent exécuter une partie beaucoup plus importante de leur travail à l'aide de code géré uniquement par rapport à ce qui était possible dans les applications .NET Compact Framework 1.0. Toutefois, même avec toutes ces nouvelles fonctionnalités, les applications gérées continuent parfois d'avoir besoin d'interagir avec le code natif. .NET Compact Framework 2.0 offre une implémentation d'interopérabilité de code natif très améliorée par rapport à celle fournie dans .NET Compact Framework 1.0, ce qui facilite énormément et clarifie l'interaction avec le code natif depuis le code de vos applications gérées.

.NET Compact Framework 2.0 ajoute une prise en charge COM (Component Object Model), qui permet à vos applications gérées d'appeler directement les composants COM. Il n'est plus nécessaire de créer une bibliothèque native personnalisée pour rendre un objet COM accessible, comme c'était le cas dans .NET Compact Framework 1.0.

La couche de marshaling du code natif a été améliorée pour prendre en charge un nombre beaucoup plus important de types de données que par le passé. La plupart des limites de marshaling des données présentes dans .NET Compact Framework 1.0 ont disparu. Vous pouvez maintenant transférer la plupart des paramètres directement à partir de votre application gérée vers un code natif sans programmation particulière. Ceci inclut les classes et structures contenant des types intégrés tels que les chaînes et les tableaux. .NET Compact Framework 2.0 fournit également un marshaling des paramètres personnalisable par le biais de l'attribut

MarshalAs
.

Pour les développeurs qui ont besoin de travailler avec des fonctions natives nécessitant un handle de fenêtre, les contrôles .NET Compact Framework 2.0 fournissent maintenant une propriété

Handle
. La propriété
Handle
expose le handle de fenêtre natif de la fenêtre sous-jacente du contrôle et peut être transférée vers des méthodes natives prévoyant un handle de fenêtre.


SQL Server 2005 Compact Edition

Tous les périphériques Windows Mobile 6 ont SQL Server Compact Edition, une base de données relationnelle de qualité entreprise, installée dans la mémoire ROM. Ceci est vrai tant pour les périphériques Pocket PC que Smartphone. Avec SQL Server Compact Edition dans la mémoire ROM, vos applications peuvent tirer pleinement parti d'une base de données entièrement relationnelle locale, SQL Server Compact Edition, sans devoir inclure les composants d'installation de base de données dans votre déploiement d'application. Ceci réduit la durée et le coût de la prise en charge du déploiement.

Remarque : Les fichiers de base de données existants créés à l'aide de SQL Server 2005 Mobile Edition sont entièrement compatibles avec SQL Server 2005 Compact Edition et peuvent être utilisés sans modification du fichier de la base de données.

Richesse fonctionnelle

SQL Server Compact Edition est une base de données relationnelle riche en fonctionnalités fournissant une syntaxe SQL complète, notamment des jointures intérieures, des jointures extérieures et des sous-requêtes. SQL Server Compact Edition assure une cohérence transactionnelle complète, de sorte que votre base de données est toujours maintenue dans un état cohérent même en cas de panne d'application ou de perte complète de l'alimentation du périphérique. SQL Server Compact Edition fournit un verrouillage au niveau de l'enregistrement, au niveau de la page et au niveau de la base de données, ce qui garantit l'intégrité de la base de données même lors d'un accès simultané ou d'une mise à jour par plusieurs threads applications. La prise en charge des bases de données d'une taille atteignant 4 Go est une fonction clé pour les applications métier dans SQL Server Compact Edition.

Familiarité

SQL Server Compact Edition vous permet de tirer pleinement parti de vos compétences SQL Server existantes en fournissant un sous-ensemble riche de l'implémentation SQL de SQL Server 2005. Vous pouvez également tirer pleinement parti de vos compétences de programmation de bases de données existantes car SQL Server Compact Edition fournit une bibliothèque ADO.NET pour les applications gérées et une bibliothèque OLEDB pour les applications natives, qui sont toutes les deux cohérentes avec leurs homologues SQL Server 2005.

SQL Server Compact Edition s'intègre entièrement avec SQL Server Management Studio et Visual Studio 2005. Avec SQL Server Management Studio, vous pouvez créer de nouvelles bases de données SQL Server Compact Edition, afficher les objets de bases de données, créer des tables, modifier des tables et exécuter des requêtes interactives. La figure 13 montre un affichage SQL Server Management Studio de la liste des tables, des colonnes et des index de tables provenant d'une base de données SQL Server Compact Edition.

Figure 13. Table, colonnes et index de table de base de données SQL Server Compact Edition affichés dans SQL Server Management Studio

Visual Studio 2005 prend entièrement en charge SQL Server Compact Edition et fournit les mêmes fonctionnalités orientées données que pour d'autres bases de données. Grâce à Visual Studio 2005, vous pouvez ajouter une base de données SQL Server Compact Edition à un projet en tant que source de données. Lors de l'ajout d'une source de données SQL Server Compact Edition, Visual Studio 2005 se comporte comme avec une base de données SQL Server 2005. Il produit une classe dérivée

DataSet 
fortement typée et ajoute les tables de la base de données dans le volet Sources de données de Visual Studio 2005. Tout comme dans SQL Server 2005, vous pouvez faire glisser des tableaux et des colonnes depuis le volet de sources de données sur vos formulaires d'applications et Visual Studio 2005 génère automatiquement les contrôles et le code de liaison des données appropriés. La figure 14 illustre des tables de bases de données SQL Server Compact Edition affichées dans le volet Sources de données.

Figure 14. Tables d'une base de données SQL Server Compact Edition dans le volet Sources de données de Visual Studio 2005

Avec l'Explorateur de serveurs Visual Studio 2005, vous pouvez ouvrir une base de données SQL Server Compact Edition et parcourir les contenus de la base de données de façon interactive. Vous pouvez également ouvrir des tables de bases de données de l'Explorateur de serveurs pour afficher, ajouter, modifier, et supprimer des enregistrements.

Prise en charge intégrée de la synchronisation des données

La stratégie de synchronisation de vos données est l'une des questions les plus importantes à traiter lors de la conception d'une application métier mobile. Lors de la toute première copie depuis une base de données d'entreprise vers votre périphérique mobile, le périphérique et la base de données d'entreprise ont les mêmes informations. Cependant les deux bases de données ne tarderont pas à avoir des informations différentes. L'activité de l'utilisateur peut entraîner des modifications des données sur le périphérique. De la même façon, l'activité dans le reste de l'entreprise entraînera probablement des modifications des données de la base de données de l'entreprise. Vous devez décider de quelle façon votre application synchronisera la base de données du périphérique et la base de données d'entreprise pour ramener les deux bases de données dans un état cohérent.

Il n'y a pas une bonne stratégie pour chaque application, c'est pourquoi SQL Server Compact Edition prend en charge plusieurs mécanismes de synchronisation de données différents prêts à l'emploi. Pour les applications où la majorité des modifications de données sont apportées à la copie périphérique des données, par exemple un releveur de compteurs recueillant des informations, SQL Server Compact Edition fournit un accès aux données distant (Remote Data Access, RDA). RDA est un utilitaire de synchronisation des données très léger qui effectue un suivi des modifications apportées à la base de données du périphérique et applique ensuite ces mêmes modifications à la base de données d'entreprise. Dans des situations plus complexes, SQL Server Compact Edition fournit la réplication de fusion. La réplication de fusion est un utilitaire de synchronisation de données coopératif qui permet de suivre les modifications apportées à la copie de périphérique des données et à la copie d'entreprise des données. Lorsque les données sont synchronisées, la base de données de périphérique et celle d'entreprise échangent leurs historiques de modification de données respectifs pour synchroniser les deux bases de données. Dans le cadre du processus de synchronisation de données, la réplication de fusion passe par une phase de rapprochement des modifications où les modifications des deux côtés sont révisées pour déterminer les données exactes à échanger. La phase de rapprochement des modifications détecte automatiquement les modifications de données contradictoires qui pourraient être survenues et détermine l'action appropriée. La gestion des conflits de modification de la réplication de fusion est entièrement configurable et peut être personnalisée. La réplication de fusion inclut également des fonctionnalités avancées de synchronisation de données, qui ne sont pas disponibles pour l'accès RDA : synchronisation de données d'arrière-plan (appelée également réplication asynchrone) et événements de progression. La fonctionnalité de synchronisation de données d'arrière-plan vous permet d'initier l'exécution du processus de réplication de fusion sur un thread d'arrière-plan. Le thread de votre application principale reste ainsi disponible pour conserver une interface utilisateur réactive. Les événements de progression fournissent à votre application des mises à jour régulières sur l'état du processus de synchronisation des données, par exemple le moment de l'échange des modifications pour chaque tableau et la progression de la phase de rapprochement des modifications.

L'accès RDA et la réplication de fusion exécutent le processus de synchronisation de données via un serveur Web, en envoyant les modifications de données à l'aide du protocole HTTP (Hypertext Transfer Protocol) ou HTTPS (Hypertext Transfer Protocol Secure). L'exécution de la synchronisation de données via un serveur Web fournit une flexibilité remarquable, car elle permet à la base de données SQL Server Compact Edition d'effectuer la synchronisation avec la base de données d'entreprise dès que le périphérique se connecte à Internet, soit via une connexion haut début, comme WiFi, soit via une connexion cellulaire plus lente.

Pour les environnements d'application où les données sont enregistrées dans une base de données individuelle sur un ordinateur de bureau de l'utilisateur, plutôt que dans une base de données d'entreprise, SQL Server Compact Edition fournit ADS (Access Database Synchronizer), le synchroniseur de base de données Access SQL Server Compact Edition. Grâce à ADS, vous pouvez remplir la base de données SQL Server Compact Edition sur votre périphérique avec les données de la base de données Access présente sur l'ordinateur de bureau de l'utilisateur. La base de données SQL Server Compact Edition effectue automatiquement le suivi des modifications apportées à la base de données de périphérique. Plus tard, lorsque vous connectez le périphérique, SQL Server Compact Edition utilise ADS pour appliquer les modifications de base de données du périphérique à la base de données Access.

Sécurité

La portabilité des périphériques mobiles nécessite que vous suiviez des méthodes sécurisées pour éviter de compromettre les informations importantes. Pour sécuriser les données dans votre base de données SQL Server Compact Edition, celui-ci prend en charge la protection de la base de données et le chiffrement du contenu par mot de passe. La protection et le chiffrement d'une base de données par mot de passe est simple à réaliser lors de la création de la base de données. Vous trouverez ci-après une instruction SQL qui crée une base de données intitulée SafeData.sdf sur C, définit le mot de passe P@ssw0rd et configure la base de données pour chiffrer les données.

Create Database "c:\SafeData.sdf" databasepassword 'P@ssw0rd' encryption on
                                

Toutes les données stockées dans la base de données seront chiffrées. Le seul moyen d'accéder au contenu de la base de données consiste à fournir le mot de passe correct à l'ouverture de la base de données. L'exemple suivant indique comment créer par programmation un fichier de base de données, protégé par mot de passe et chiffré à partir d'un programme C#.

SqlCeEngine dbEngine = new SqlCeEngine(@"data source=\My Documents\SafeData.sdf;
password=P@ssw0rd;encrypt database=TRUE"); dbEngine.CreateDatabase();
                                

Outre le contenu de base de données sécurisé, SQL Server Compact Edition assure l'échange de données sécurisé lors de la synchronisation avec une base de données d'entreprise à l'aide de RDA ou de la réplication de fusion. RDA et la réplication de fusion prennent en charge l'utilisation de HTTPS pour chiffrer les données des historiques de modification lors de l'échange par Internet avec la base de données principale.


AJAX

Windows Mobile 6 est doté d'une version mise à jour de Microsoft Internet Explorer® Mobile incluant la prise en charge DOM XML et JavaScript nécessaire à l'exécution d'applications AJAX de base. Vous pouvez ainsi exploiter vos compétences en ASP.NET, XML et JavaScript pour générer des applications riches, basées sur un navigateur et s'exécutant sur des périphériques Windows Mobile 6.

Remarque : La mise à jour du kit de développement logiciel de Windows Mobile 6 prévue pour le 1er mai 2007 inclut les images de l'émulateur Windows Mobile 6 avec prise en charge des applications AJAX de base.

Simplification du déploiement d'applications

Une application n'est réussie qu'une fois déployée sur les utilisateurs finaux. Souvent, le temps de déploiement d'une application et de prise en charge de ce processus est excessif et réduit le temps disponible au développement de nouvelles fonctionnalités et applications. Windows Mobile 6 intègre plusieurs améliorations réduisant le temps et l'effort consacrés à la gestion et à la prise en charge du déploiement de votre application. Ces améliorations réduisent le coût global du déploiement de votre application, et en réduisant le temps consacré à la gestion et à la prise en charge du déploiement de votre application, Windows Mobile 6 vous permet de passer plus de temps à ajouter de nouvelles fonctionnalités à votre application et à créer de nouvelles applications.


Moins de programmes à installer

Windows Mobile 6 simplifie le déploiement d'applications gérées et natives en incluant .NET Compact Framework 2.0 SP1 et SQL Server 2005 Compact Edition dans la mémoire ROM de chaque périphérique Windows Mobile 6. La présence de .NET Compact Framework 2.0 SP1 et de SQL Server Compact Edition dans la mémoire ROM simplifie considérablement le déploiement des applications et réduit le niveau de prise en charge que vous devez fournir aux utilisateurs finaux pour installer correctement vos applications.

Les avantages sont nombreux. Vous disposez d'une plate-forme cible bien définie garantissant que ces deux composants logiciels de base sont toujours présents et installés correctement. La taille globale du pack d’installation de votre application reste réduite, car le pack ne contient que les composants de votre application. Un pack d'installation réduit garantit des délais de téléchargement et d'installation courts, ce qui simplifie la distribution de l'application et la distribution des mises à jour de l'application. Ces délais plus courts garantissent également une expérience utilisateur positive.

Outre l'amélioration de l'expérience utilisateur, du déploiement et de la prise en charge, la présence de .NET Compact Framework 2.0 SP1 et de SQL Server Compact Edition dans la mémoire ROM du périphérique assure un meilleur environnement d'exécution pour votre application. .NET Compact Framework 2.0 SP1 et SQL Server Compact Edition étant installés dans la mémoire ROM du périphérique, ils n'occupent pas d'espace dans la mémoire RAM du périphérique. Moins vous installez de logiciels dans la mémoire RAM, plus vous disposez d'espace RAM pour le stockage des données de votre application.


Prise en charge du déploiement à partir d'URL

L'ajout d'une prise en charge AJAX de base dans Internet Explorer Mobile sur Windows Mobile 6 ouvre de nouvelles opportunités en termes de distribution des applications. Pour les scénarios d'application où une solution basée sur AJAX est appropriée, vous pouvez déployer votre application en envoyant tout simplement l'URL associée dans un message électronique. Lorsque l'utilisateur reçoit l'URL, il y accède via Internet Explorer Mobile. Aucun logiciel supplémentaire n'est nécessaire sur le périphérique, car Internet Explorer Mobile inclut tous les éléments requis pour exécuter vos programmes AJAX de base.


Signature de code simplifiée

Un aspect clé de la stratégie de sécurité Windows Mobile consiste en l'utilisation de certificats pour signer les fichiers exécutables et les fichiers d'installation de l'application. Dans les applications de grande taille, le processus correct de signature des fichiers exécutables et des fichiers d'installation de l'application peut s'avérer fastidieux. Le nouvel utilitaire CodeSignTool, mentionné plus haut dans ce document, réduit considérablement l'effort de signature des fichiers d'installation de votre application en vous permettant de signer tous les fichiers nécessaires à l'aide d'une commande unique.

Création d'une application s'exécutant sur plusieurs périphériques

La flexibilité et la puissance de programmation des périphériques Windows Mobile à poussé un nombre croissant d'utilisateurs à les adopter pour des fins diverses et variées. Par conséquent, il est difficile d'identifier un facteur de forme de périphérique applicable à tous les utilisateurs. Plusieurs facteurs de forme sont disponibles pour répondre aux besoins de ce large éventail d'utilisateurs. Le tableau 4 illustre plusieurs facteurs de forme de périphérique Windows Mobile courants.

Tableau 4. Facteurs de forme de périphérique Windows Mobile courants

Taille

Résolution

Écran tactile

176 x 220

96 ppp

Non

240 x 320

131 ppp

Non

320 x 240

131 ppp

Non

320 x 320*

128 ppp

Oui

240 320/320 x 240

96 ppp

Oui

480 x 640/640 x 480

192 ppp

Oui

240 x 240

96 ppp

Oui

480 x 480

192 ppp

Oui

*Nouveauté pour Windows Mobile 6

Avec un tel éventail de facteurs de forme disponibles, vous devez veiller à créer votre application de sorte qu'elle s'adapte aux différences de facteurs de forme de périphérique. Gardez à l'esprit que la liste de facteurs de forme pris en charge par les périphériques Windows Mobile ne cesse de s'allonger. Windows Mobile 6 inclut de nombreuses fonctionnalités et ressources nouvelles visant à réduire l'effort requis pour créer des applications faciles à adapter aux différences de facteurs de forme. Vous constaterez que Windows Mobile 6 facilite plus que jamais la création d'une application unique qui exploite les capacités spécifiques de chaque périphérique tout en utilisant correctement un large éventail de facteurs de forme de périphérique.

Remarque : Le facteur de forme d'affichage 320 x 320 introduit une nouvelle résolution et une zone d'affichage légèrement différente des facteurs de forme précédents. Veillez à inclure ce nouveau facteur de forme dans le test de votre application ; autrement, les différences des autres facteurs de forme peuvent créer des difficultés d'affichage sur les périphériques avec ce facteur de forme.


Recommandations de sécurité

Les périphériques Windows Mobile Pocket PC d'origine incluaient une sécurité de périphérique très réduite. Parallèlement au développement de la plate-forme, la sécurité s'est améliorée. Cette tendance à l'amélioration de la sécurité de la plate-forme Windows Mobile se poursuivra très probablement. Afin de réduire les problèmes de compatibilité avec les versions de Windows Mobile futures, vous devez commencer à incorporer certaines recommandations de sécurité dans vos applications dès aujourd'hui.

  • Votre application ne doit écrire que dans le dossier contenant l'exécutable de l'application ou dans le dossier Mes Documents. Il arrivera un moment où des droits spéciaux seront requis pour écrire dans des dossiers autres que ceux-là.

  • Lorsque vous écrivez dans le registre, utilisez uniquement la ruche HKEY_CURRENT_USER. Comme pour le système de fichiers, d'autres secteurs du registre pourront à un moment donné exiger des droits spéciaux.


Ensemble d'API cohérent sur les périphériques

Les périphériques Windows Mobile fournissent un ensemble d'API uniforme sur tous les périphériques Windows Mobile. Ce facteur est critique pour la création d'un exécutable d'application unique fonctionnant sur tous les périphériques Windows Mobile. Les API Win32® et .NET Compact Framework 2.0 sont complètes et cohérentes sur tous les périphériques Windows Mobile. Un ensemble d'API uniforme évite la gestion et la distribution d'exécutables séparés pour les différents types de périphériques.

Le domaine qui nécessite le plus de considération est l'affichage du périphérique ; le reste de cette section traite de ce domaine.


Emulation de périphériques

Device Emulator représente l'un des outils les plus importants dont vous disposez pour développer des applications qui s'exécutent correctement sur différents facteurs de forme de périphérique. Device Emulator vous permet de tester votre application sur de nombreux facteurs de forme de périphérique sans devoir accéder aux périphériques physiques avec ces facteurs de forme. Visual Studio 2005 et le kit de développement logiciel de Windows Mobile offrent un total combiné de plus de 25 images d'émulateur vous permettant de tester intégralement le comportement de votre application sur un large éventail de facteurs de forme de périphérique. Consultez la figure 15 pour un exemple des nombreux facteurs de forme de périphérique pris en charge par l'émulateur.

Figure 15. Quelques exemples de facteurs de forme de Device Emulator


Prise en charge à la conception de Visual Studio 2005

Le générateur de formulaires de Visual Studio 2005 fournit un mécanisme rapide et facile pour créer l'interface utilisateur de votre application. À l'aide du concepteur, vous pouvez créer et modifier l'apparence d'un formulaire et afficher le résultat immédiatement. Ce processus de conception WYSIWYG (tel écrit, tel écran) n'est pas limité aux applications avec des interfaces utilisateur statiques. Le générateur de formulaires de Visual Studio 2005 reconnaît le facteur de forme et vous permet d'afficher l'apparence de vos formulaires sur différents facteurs de forme. Cette fonctionnalité permet d'économiser beaucoup de temps, car vous ne devez pas exécuter votre application pour afficher l'effet des différents facteurs de forme.

Pour afficher le résultat de votre formulaire lorsque vous passez de l'affichage Portrait à l'affichage Paysage, vous pouvez cliquer avec le bouton droit sur le formulaire et faire pivoter le formulaire de 90 degrés vers la droite ou la gauche. Vous pouvez cliquer de nouveau sur le formulaire et le faire pivoter vers l'affichage Portrait. La figure 16 illustre un formulaire dans le générateur de formulaires de Visual Studio passant de l'affichage Portrait à l'affichage Paysage.

Figure 16. Utilisation du générateur de formulaires de Visual Studio 2005 pour afficher les modifications dans une disposition du formulaire lorsque vous le faites pivoter de l'affichage Portrait vers l'affichage Paysage

Pour afficher l'effet d'autres modifications de taille d'affichage et de résolution d'affichage, Visual Studio 2005 fournit une propriété disponible au moment de la conception seulement, Facteur de forme.

Lorsque vous sélectionnez une nouvelle valeur de facteur de forme, le générateur de formulaires de Visual Studio 2005 affiche votre formulaire comme il apparaît dans le facteur de forme sélectionné. La figure 17 illustre le formulaire de la figure 16 lorsque le facteur de forme carré de Windows Mobile 6 Professional est sélectionné. Notez l'ajout de barres de défilement pour accéder aux contrôles au bas du formulaire.

Figure 17. Affichage du formulaire à la figure 16 dans le générateur de formulaires de Visual Studio 2005 dans un facteur de forme carré


Prise en charge du service d'exécution et des API

La prise en charge des différences des facteurs de forme de périphérique est un élément essentiel du développement d'applications Windows Mobile. Pour vous aider à implémenter la prise en charge des différences de facteur de forme de périphérique, les classes et le service d'exécution de .NET Compact Framework 2.0 fournissent une prise en charge intégrée pour répondre dynamiquement aux modifications du facteur de forme de périphérique. De même, les développeurs natifs disposent de plusieurs API fournissant une prise en charge similaire.

Applications gérées

Pour les applications gérées, .NET Compact Framework 2.0 fournit plusieurs nouvelles fonctionnalités qui permettent au service d'exécution d'ajuster automatiquement la taille et la position des contrôles : ancrage des contrôles, défilement automatique et mise à l'échelle automatique. Un contrôle ancré est placé sur le bord de son contrôle parent et remplit la zone entière sur ce côté. En réponse aux différences de la taille d'affichage, le contrôle ajuste automatiquement sa taille pour toujours remplir le côté entier du contrôle parent. Consultez la figure 11 plus haut dans ce document pour observer un exemple de contrôle ancré.

Un contrôle ancré maintient une distance fixe entre un ou plusieurs bords du contrôle et les bords du contrôle parent. En réponse aux différences de la taille d'affichage, les contrôles ancrés ajustent automatiquement leur taille pour conserver la distance appropriée entre les bords du contrôle ancrés et les bords du contrôle parent. Consultez la figure 12 plus haut dans ce document pour observer un contrôle ancré.

.NET Compact Framework 2.0 permet d'accéder au défilement automatique et à la mise à l'échelle automatique à l'aide des propriétés

AutoScroll
et
AutoScaleMode
sur le contrôle
Form
. Lorsque la propriété
AutoScroll
du formulaire est définie sur true (vrai), le formulaire ajoute automatiquement des barres de défilement dès qu'une modification de la taille d'affichage entraîne la disparition d'un contrôle de formulaire. Les différences de facteur de forme de périphérique ne sont pas limitées aux variations de taille ; différents facteurs de forme de périphérique peuvent également avoir différentes résolutions. Les différences de résolutions de périphérique peuvent entraîner l'affichage des contrôles d'un formulaire d'application en très petit ou en très grand. En définissant la propriété
AutoScaleMode
du formulaire sur
AutoScaleMode.Dpi
, les contrôles du formulaire adaptent automatiquement leur taille pour rendre un affichage correct en différentes résolutions.

Applications natives

Bien qu'existant déjà pour Windows Mobile 6, Microsoft C++ fournit plus de vingt fonctions et macros adressant les tâches courantes associées à l'adaptation aux différences des affichages de périphérique. Ces fonctions et macros sont présentes dans le fichier d'en-tête DeviceResolutionAware.h, situé dans le dossier %Program Files%\Microsoft Visual Studio 8\ VC\ce\atlmfc\include . Le tableau 5 illustre quelques-unes de ces fonctions et macros.

Tableau 5. Exemples de fonctions et macros natives permettant l'adaptation aux différences d'affichage de périphérique


Fonction ou macro

Description

GetDisplayMode

Renvoie une valeur identifiant si l'orientation de l'affichage en cours est Portrait, Paysage ou carré.

SCALEX, SCALEY, SCALERECT, SCALEPT

Ajuste la valeur comme requis pour la résolution d'affichage actuelle.

StretchIcon

Ajuste la taille d'une icône pour l'adapter à la zone d'affichage actuelle.

RelayoutDialog

Copie les données d'une boîte de dialogue à une autre ; utile lorsqu'un utilisateur modifie l'orientation de l'affichage d'un périphérique, alors que la boîte de dialogue est affichée. Votre application peut ainsi afficher une autre boîte de dialogue dotée des mêmes contrôles que la boîte de dialogue d'origine, mais mieux adaptée à la résolution actuelle.

FixupDialogItem

Résout les problèmes courants qui surviennent lors de la modification par une application de la taille d'une boîte de dialogue ; par exemple, en faisant défiler la sélection d'un contrôle

ListBox
ou contrôle
ComboBox
dans l'affichage s'il a disparu de la zone d'affichage.


Ressources de prise en charge

Pour réduire le temps passé à incorporer la fonctionnalité d'adaptation de facteur de forme dans votre application, Microsoft fournit plusieurs ressources. Ces ressources traitent de nombreuses méthodes recommandées à suivre lors de l'implémentation de votre application. Ces ressources fournissent également un code de travail qui gère un certain nombre de problèmes courants associés au traitement des différences de périphérique. Vous pouvez utiliser le code non seulement comme un exemple de résolution des différences dans les facteurs de forme de périphérique, mais également l'incorporer dans votre application, et en bénéficier immédiatement.

Ressources pour les développeurs gérés

Pour les développeurs gérés, le groupe Modèles et méthodes Microsoft (MPP, Microsoft Patterns and Practices) fournit la ressource Mobile Client Software Factory . Mobile Client Software Factory est une combinaison de méthodes recommandées, de code source, de composants et d'exemples qui permettent de résoudre de nombreuses situations courantes auxquelles les développeurs mobiles doivent faire face. Pour le problème de gestion des différences de facteur de forme de périphérique, Mobile Client Software Factory fournit le contrôle

OrientationAwareControl
. Le contrôle
OrientationAwareControl
fonctionne avec Visual Studio 2005 pour vous permettre de disposer graphiquement un contrôle contenant un ou plusieurs contrôles enfants ; dans le cadre de la mise en forme du contrôle, vous définissez une disposition séparée pour chaque facteur de forme.

Le contrôle

OrientationAwareControl
vous permet de définir tout d'abord la disposition du contrôle comme vous souhaiteriez qu'il apparaisse sur un facteur de forme. Dans Visual Studio 2005, vous modifiez ensuite le facteur de forme pour voir comment le contrôle apparaît lorsqu'il est affiché à l'aide du nouveau facteur de forme. Si vous n'êtes pas satisfait du mode d'affichage du contrôle sur le nouveau facteur de forme, vous pouvez ajuster la disposition du contrôle pour le nouveau facteur de forme sans affecter la disposition du contrôle du facteur de forme d'origine. Le contrôle conserve les informations de disposition séparément pour chaque facteur de forme, en vue de leur exécution. Lorsque l'application s'exécute, le contrôle
OrientationAwareControl
s'affiche avec la disposition appropriée au facteur de forme utilisé. Par exemple, si une application s'exécute sur un périphérique avec une taille d'affichage de 240 x 320, une résolution de 96 ppp et une orientation Portrait, le contrôle
OrientationAwareControl
utilise la disposition que vous avez définie pour une taille d'affichage de 240 x 320, une résolution de 96 ppp et une orientation Portrait. Si l'utilisateur modifie l'orientation de périphérique sur Paysage, le contrôle
OrientationAwareControl
s'affiche alors avec la disposition que vous avez définie pour une taille d'affichage de 320 x 240, une résolution de 96 ppp et une orientation Paysage. Le contrôle
OrientationAwareControl
fonctionne de façon semblable pour les modifications de la résolution et de la taille d'affichage.

Une autre ressource clé pour les développeurs gérés est le kit Mobile Line of Business Solution Accelerator . Ce kit fournit aux développeurs métier une ressource démontrant comment créer une application métier Windows Mobile. Il inclut un code source complet avec de nombreux commentaires, un exemple de base de données et plus de 100 pages de documentation. Il inclut des composants d'application qui ciblent des utilisateurs dans différents rôles, y compris le service client, l'employé dans un entrepôt ou le livreur. Outre des conseils pour le développement d'application, le kit inclut des méthodes recommandées pour déployer correctement une application métier mobile à l'échelle d'une entreprise.

Ressources pour les développeurs natifs

Pour les développeurs natifs, le kit de développement logiciel de Windows Mobile 6 inclut l'exemple UILayout. Cet exemple montre comment implémenter une application native dont l'interface utilisateur s'ajuste automatiquement aux différences d'affichage de périphérique. La classe de l'exemple ScreenLib effectue le plus gros du travail associé à l'interface utilisateur à l'aide des diverses méthodes fournies, notamment des méthodes d'ancrage de contrôles, d'alignement des contrôles, d'optimisation de la disposition des contrôles d'application, et bien plus encore. La classe ScreenLib est conçue pour être réutilisée, de sorte que vous pouvez l'incorporer directement dans vos applications et profiter de ses nombreuses fonctionnalités.

Ressources générales

Visitez la page Web Windows Mobile Adapt Your App pour obtenir les dernières informations sur la création d'applications fonctionnant correctement sur toute la gamme de facteurs de forme de périphérique de Windows Mobile. Cette page constitue votre ressource unique pour toutes les tâches associées au développement d'applications Windows Mobile adaptables, et contient notamment les livres blancs, les conversions Web, les annonces et bien plus encore.

Amélioration de l'expérience utilisateur

Windows Mobile 6 fournit de nouvelles fonctionnalités consacrées à l'amélioration de l'expérience utilisateur. Ces fonctionnalités fournissent aux développeurs l'opportunité d'améliorer la convivialité de leurs applications en offrant de nouvelles méthodes d'interaction avec l'utilisateur et en répondant aux modifications dans l'état du périphérique.


Apparence améliorée

Dans Windows Mobile 6, l'apparence du périphérique est entièrement retravaillée. L'affichage est beaucoup plus clair et net. Notamment, les écrans de Pocket Outlook ont été largement modifiés. Les écrans sont maintenant non seulement plus clairs et nets, mais facilitent également l'affichage et la consultation des informations. Vous profiterez de la plupart de ces améliorations en exécutant simplement vos applications sur un périphérique Windows Mobile 6, sans avoir à modifier quoi que ce soit.

Windows Mobile fournit plusieurs formats de boîtes de dialogue standard, y compris la boîte de dialogue de sélection des contacts et les formulaires de messagerie. Ces boîtes de dialogue standard que vous utilisez dans votre application sont semblables aux formulaires utilisés dans Pocket Outlook. Elles présentent les mêmes améliorations d'apparence lorsque vous les affichez dans votre application que lorsque vous les affichez directement dans Pocket Outlook. De même, la boîte de dialogue de sélection d'images bénéficie des améliorations générales de l'affichage. Les applications utilisant la classe

DocumentList
de .NET Compact Framework 2.0 pour permettre aux utilisateurs de rechercher et d'ouvrir des fichiers présentent les mêmes avantages. La figure 18 illustre la nouvelle boîte de dialogue de sélection d'images de Windows Mobile.

Figure 18. Nouvelle boîte de dialogue de sélection d'images de Windows Mobile

De même, la boîte de dialogue de sélection d'images bénéficie des améliorations générales de l'affichage. Les applications utilisant la classe

DocumentList
de .NET Compact Framework 2.0 pour permettre aux utilisateurs de rechercher et d'ouvrir des fichiers présentent les mêmes avantages.


Nouvelles options d'entrée via la nouvelle API Ink

Windows Mobile 6 inclut une version légère de l'API d'encrage WISP de Tablet PC, appelée WISP Light. WISP Lite fournit la puissance et la flexibilité de l'encre riche à tous les périphériques Windows Mobile 6 Classic et Windows Mobile 6 Professional. WISP Lite fournit une compatibilité complète avec les données d'encre de Tablet PC et inclut des API pour la collecte d'encre, la reconnaissance, le rendu et la gestion des données d'encre. WISP Lite fournit une expérience de fidélité plus élevée que le contrôle RichInk précédent.


Expérience audio améliorée via la nouvelle API de son

Windows Mobile 6 inclut une nouvelle série d'API de son capables de lire de nombreux formats de fichier son qui n'étaient pas pris en charge précédemment. La nouvelle API de son prend en charge les fichiers MP3, MID, WMA et les WAV. À la demande des développeurs, la nouvelle API de son inclut la possibilité de tenir compte du profil du périphérique, afin de ne pas lire les sons lorsque le périphérique est défini sur Muet ou Vibration.

La nouvelle API de son inclut des fonctions permettant de récupérer le fichier son associé aux événements courants, tels que la sonnerie d'appelant connu ou la sonnerie d'itinérance. Vous pouvez également modifier le fichier son associé à ces événements. Vous pouvez lire les fichiers son de manière synchrone ou asynchrone.L'API peut également notifier votre application à la fin de la lecture asynchrone. La nouvelle API inclut également des fonctions de recherche de l'emplacement des fichiers son dans les mémoires RAM et ROM, ainsi que sur les cartes de stockage installées.


Informations sur le nouvel état du périphérique

State and Notifications Broker permet à votre application d'être informée des modifications d'état du périphérique et de réagir à ces modifications en connaissance de cause. Windows Mobile 6 ajoute plusieurs autres valeurs aux 100 valeurs State and Notifications Broker déjà prises en charge par Windows Mobile 5.0. Windows Mobile 6 fournit des informations d'état d'appel pour les appels téléphoniques VoIP, notamment le numéro de téléphone, le nom d'opérateur, etc. Windows Mobile 6 ajoute également des informations d'état pour verrouiller le périphérique. Des informations d'état sont maintenant disponibles pour les modifications de l'état de verrouillage du clavier numérique, l'état de verrouillage du périphérique et l'état de verrouillage SIM.

Ce dont vous avez besoin pour commencer à créer des applications Windows Mobile 6

Il est très facile de commencer à développer des applications pour Windows Mobile 6. En fait, vous disposez probablement déjà de la plupart des éléments.


Conditions requises

Pour développer votre première application Windows Mobile 6, vous devez installer certaines applications. Cette section présente la liste des logiciels dont vous avez besoin et indique s'ils sont requis, recommandés ou facultatifs. Une brève

Condition requise

Requis/Facultatif

Description

Visual Studio 2005 Standard Edition, Professional Edition ou Team System

Requis

Visual Studio 2005 est l'environnement de développement que vous utilisez pour créer des applications Windows Mobile.

Kit de développement logiciel de Windows Mobile 6 Professional ou kit de développement logiciel de Windows Mobile 6 Standard

Requis

Fournit les outils, les fichiers d'en-tête, les images d'émulateur et les types de projet Visual Studio 2005 pour développer des applications Windows Mobile 6.

ActiveSync 4.5 ou une version ultérieure (XP) ou Centre de développement Windows Mobile (Vista)

Requis

Fournit la connectivité nécessaire pour ancrer une image d'émulateur ou un périphérique Windows Mobile 6.

Visual Studio 2005 Service Pack 1

Facultatif (Windows XP)

Requis (Windows Vista™)

Incorpore des correctifs mineurs et met à jour toutes les boîtes de dialogue orientées données dans Visual Studio 2005 pour afficher le nom de produit SQL Server Compact Edition. Pour les utilisateurs de Windows Vista, ce Service Pack contient les mises à jour nécessaires pour exécuter Visual Studio 2005 sur Windows Vista.

.NET Compact Framework 2.0 Service Pack 1

Recommandé

Sans ce service pack, Visual Studio 2005 déploie .NET Compact Framework 2.0 sur votre périphérique Windows Mobile 6 à chaque déploiement de votre application. Il ajoute également la prise en charge du débogage de ligne de commande et fournit un nouvel utilitaire permettant de consulter les données de performances fournies par l'exécution de NET Compact Framework 2.0.

Outils de SQL Server 2005 Compact Edition pour Visual Studio 2005

Facultatif

Fournit les outils et les assemblys nécessaires pour développer des applications Windows Mobile 6 qui utilisent SQL Server 2005 Compact Edition. Avant d'installer cet outil, vous devez d'abord installer Visual Studio 2005 SP1.


Exploitation des compétences existantes

Si vous avez déjà créé une application de bureau Windows ou une application serveur, même si vous n'avez jamais créé une application Windows Mobile, vous disposez déjà des compétences nécessaires pour commencer à développer des applications Windows Mobile 6. Un facteur qui facilite la création d'applications Windows Mobile 6 est Visual Studio 2005. La création d'une application Windows Mobile 6 dans Visual Studio 2005 est similaire à la création d'une application Windows Forms pour ordinateur de bureau. Visual Studio 2005 maintient les mêmes comportements et fournit les mêmes fonctionnalités pour les applications Windows Mobile 6 que pour les applications de bureau.

Développement d'applications gérées

Si vous êtes un développeur géré, vous constaterez que .NET Compact Framework 2.0 fournit les mêmes classes que celles que vous utilisez lorsque vous créez des applications de bureau, et que ces classes sont un sous-ensemble riche de l'ensemble des classes de .NET Framework. .NET Compact Framework 2.0 fournit également de nombreux contrôles Windows Forms que vous utilisez pour créer des applications de bureau. Ces contrôles fournissent le même environnement que celui auquel vous être habitué pour le développement d'applications de bureau.

Développement d'applications natives

L'API de base pour la plate-forme Windows Mobile 6 est Win32, et bien qu'il s'agisse d'un sous-ensemble, elle est cohérente avec Win32 sur un ordinateur de bureau. De même, la bibliothèque Active Template Library (ATL) et les classes Microsoft Foundation Classes (MFC) sont disponibles et sont, toutes deux, un sous-ensemble riche de leurs homologues pour ordinateur de bureau. Vous noterez également qu'une bonne partie du code C\C++ que vous avez écrit pour des applications de bureau est compatible avec Windows Mobile 6. Un tel degré de compatibilité existe, car Visual Studio 2005 utilise le même compilateur C\C++ frontal pour les applications de bureau et les applications de périphérique Windows Mobile.

Développement d'applications de base de données

Vous noterez également que vos compétences et votre expérience de développement d'applications de base de données pour SQL Server 2000 et SQL Server 2005 sont facilement transférées au développement d'applications SQL Server 2005 Compact Edition. La syntaxe SQL de SQL Server Compact Edition est entièrement compatible avec SQL Server 2005. De même, les interfaces de programmation ADO.NET et OLEDB pour SQL Server Compact Edition sont conformes aux interfaces de programmation correspondantes pour SQL Server 2005. Même la création et la gestion d'une base de données SQL Server Compact Edition est familière, car que vous utilisez le même outil SQL Server Management Studio pour créer et gérer les bases de données SQL Server Compact Edition que lors de la création et de la gestion d'une base de données SQL Server 2005.


Conseils

Microsoft fournit un certain nombre de ressources contenant les instructions nécessaires pour vous aider à créer des applications de qualité sur la plate-forme Windows Mobile 6. Outre la documentation produit, des informations sur le développement d'application Windows Mobile et des méthodes recommandées pour travailler avec succès sur la plate-forme Windows Mobile sont disponibles à plusieurs emplacements.

La page Windows Mobile sur MSDN® constitue probablement le meilleur point de départ. Elle fournit les informations les plus récentes sur le développement Windows Mobile. Elle inclut également des pointeurs vers d'autres ressources, telles que des livres blancs, des blogs pratiques et des conversions Web.

Le groupe Microsoft Patterns and Practices dispense d'excellents conseils aux développeurs Windows Mobile dans la ressource Mobile Client Software Factory . Mobile Client Software Factory est un ensemble complet de méthodes recommandées, d'exemples, de code source et d'outils pour les développeurs Windows Mobile. Les sujets examinés incluent la gestion des différences dans les facteurs de forme de périphérique, la gestion des données hors ligne, la synchronisation de données et la gestion des applications à grande échelle.

Windows Mobile est un projet soutenu par la communauté sur le site MSDN Channel 9. Le Wiki Windows Mobile est une bonne façon de profiter des connaissances et de l'expérience des autres développeurs. Les questions les plus fréquentes sont traitées sur ce Wiki.

Les groupes de discussion Windows Mobile sont des ressources de communauté où vous pouvez poser des questions sur le développement Windows Mobile et recevoir des réponses de vos pairs dans l'industrie, y compris de la part des membres de Windows Mobile Microsoft Valued Professionals (MVP).

La page Windows Mobile Adapt Your App fournit les informations les plus récentes sur les problèmes liés au développement d'applications capables de fonctionner sur toute la gamme de périphériques Windows Mobile. Vous y trouverez des nouvelles, des annonces, des pointeurs vers des conversions Web et des livres blancs, tous consacrés à ce problème.

Conclusion

Windows Mobile 6 fournit les outils et les fonctionnalités dont les développeurs ont besoin pour développer et déployer des applications métier puissantes. L'inclusion de .NET Compact Framework 2.0 SP1 et SQL Server 2005 Compact Edition dans la mémoire ROM de tous les périphériques Windows Mobile 6 fournit une plate-forme d'application puissante, simplifiant également le déploiement d'application. Device Emulator 2.0 et les autres outils inclus dans le kit de développement logiciel de Windows Mobile 6 simplifient le processus de développement d'applications qui s'exécutent sur un grand nombre de périphériques différents en vous permettant de tester plus facilement votre application sur une grande variété de fonctionnalités propres aux périphériques Windows Mobile et de facteurs de forme. Les plus de 100 exemples inclus dans le kit de développement logiciel de Windows Mobile 6, les modèles & méthodes Mobile Client Software Factory et le kit accélérateur de solutions métier mobiles s'associent pour vous fournir l'aide nécessaire au démarrage immédiat du développement d'applications métier.

Que vous soyez un développeur chevronné ou que vous vous prépariez à votre premier projet, vous vous rendrez compte que Windows Mobile 6 est la meilleure plate-forme Windows Mobile disponible pour les applications métier.

Autres ressources

Centre de développement Windows Mobile : Sécurité, déploiement et gestion
Questions fréquentes Mobile2Market
Mobile Client Software Factory
Kit accélérateur de solutions métier mobiles
Page Windows Mobile Adapt Your App
Page MSDN Windows Mobile
Groupes de discussion des développeurs Windows Mobile

© 2009 Microsoft Corporation. Tous droits réservés. Conditions d'utilisation  |  Marques  |  Confidentialité
Page view tracker