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