Le premier site francophone dédié au développement Pocket PC


La prochaine génération de Pocket PC et Smartphone
 
u      

 

Avant toute chose un petit tableau...

 
Pocket PC 2002
Smartphone 2002
Ozone
Smarphone v.Next
WinCE OS
3.0
3.0
4.2
4.2
eVC
3.0
3.0
4.0 (SP2)
4.0 (SP2)
eVB
3.0
Non
Non
Non
VS.NET
2003
Non
2003
2003
.NET Compact Framework
1.0
Non
1.0
1.0
MFC
Oui
Non
Oui
Non
ATL
Oui
Non
Oui
Oui
eVB (runtime)
Oui
Non
Oui (Ram)
Non
SQL CE
Oui
Non
Oui
Non
ADO.NET
Oui
Non
Oui
Oui
MSMQ
Oui
Non
Oui
Oui
Web Server
Oui
Non
Oui
Non

Comme vous pouvez le constater sur ce tableau la prochaine version de Pocket a pour nom de code "Ozone" (pour Pocket PC 2002 c'était Merlin). J'en profite pour vous dire que les gens de Microsoft ont bien insisté sur le fait que la prochaine version de Smartphone n'ayant pas de nom ils fallait dire "Smartphone v.Next " et surtout pas "Smartphone 2003".

Windows CE 4.2 (McKendric)

La version de Windows CE des Pocket PC 2002 et des Smartphone 2002 est la 3.0. Ozone et Smartphone v.Next hériterons de la version 4.2 (nom de code McKendric). Cette nouvelle version de Windows CE apporte toute une série d'améliorations telle que :

Plus grande stabilité
Optimisation des ressources utilisées
Nouveau système de sécurité
Le support de IPv6
Support de Layer 2 Tunneling (L2TP) et IP security Protocol (IPSec).

Nous allons voir plus en profondeur certains points :

File System Filter

Le "File System Filter" se trouve à la source même des fonctions du système de fichier. Il intercepte les requêtes en direction des fichiers et des répertoires, envoie des notifications aux processus abonnés avant d'exécuter la commande demandée. Ce filtre fonctionne avec tous les gestionnaires de disques chargés (FSDMgr). Il est possible de définir plusieurs filtres par système de fichiers.

Ce système est parfait pour les fonctions d'encryptage/décriptage, les fonctions de compression/décompression et pour les tâches liées à la détection de virus.

L'enregistrement d'un filtre se fait par la base de registre dans une clé de type :

HKEY_LOCAL_MACHINE\System\StorageManager\Filters\FilterName


avec 2 entrées définissant la dll à utiliser pour ce filtre particulier [dll = "Filter.dll"] et un ordre [Order = dword:x]

Depuis le code C++ d'une application il ne faut plus utiliser les fonctions FSD_MountDisk et FSD_UnmountDisk mais FSD_HookVolume et FSD_UnhookVolume

Du coté du matériel et de l'OS...

Gestion de la configuration

La gestion de la configuration sous Windows CE 4.2 est maintenant centralisée. Toutes les opérations font l'objet d'une transaction ce qui permet de revenir en arrière en cas de problème.

La gestion des "Configuration Service Provider" ou CSPs, mise en place sur les Smartphone 2002 est maintenant en partie supportée par Ozone.

Configuration Service Provider
Configuration Service Provider
Configuration Service Provider
Configuration Service Provider
Configuration Service Provider
Configuration Manager
Control Panel Engine
WAP Stack / WSP Push Source
User interface
SMS Router

Cette gestion concerne les points suivants :

Les connexions ActiveSync et les partenariats Les installations et désinstallations
Le BOOTSTRAP Le LoaderRevocation
Les réglages du Browser Les paramètres régionaux
Le CertificatStore Les profiles
La gestion de l'heure La base de registre
Le gestionnaire de connexions Les paramètres de sécurité
Le DeviceInformation Les sons
Les Mails La synchro
Les opérations sur les fichiers Tapi
L'écran Today (Home) PXLOGICAL

Le WAP Push Router

En mode GSM un "WAP Push Router interception" pourra être mis en oeuvre en utilisant les nouvelles APIs :

PushRouter_RegisterClient
PushRouter_UnRegisterClient
PushRouter_Open
PushRouter_Close
PushRouter_GetMessage
PushRouter_FreeMessage

Le Shell

Au niveau du shell, il sera possible d'étendre les menus du Pocket PC File Explorer, de vérifier que l'écran est bien allumé quand une notification est émise (pour les Pocket PC), d'activer un processus sans pour autant allumer l'écran, et de debugger les plug-ins Today et Home. Il sera aussi possible d'influer sur les mots proposés lors de la saisie avec le SIP pendant l'exécution d'un programme.

Réorganisation de Pocket Internet Explorer

La nouvelle version de pIE supportera :

HTML 4.01
XHTML
CSS
JScript 5.5
WML 2.0
IPv6
Fonctions d'images étendues par l'intermédiaire de GDI+

Messages

Apparition d'un CSP (Configuration Service Provider) pour les services Mail, la possibilité d'intercepter les SMS.

Il sera aussi possible de créer des notifications entre processus de type :

Folder created Message copied
Folder moved Message store created
Folder deleted Message store deleted
   
Message created  

Message modified

 
Message moved  

Réseaux

Le protocole IPv6 sera donc supporté. Toute une série de services de configuration feront leur apparition :

CM_Networks - Metanetworks
CM_Planner - Connexions favorites
CM_Mapping - Table de correspondance URL
CM_GPRSEntries - Configuration GPRS
CM_ProxyEntries - Connexions vers des proxy
CM_VPNEntries - Configuration des accès VPN
CM_NetEntries - Configuration accès réseau
CM_PPPEntries - Configuration PPP

Il sera possible de réveiller une application par l'envoi d'un SMS, ou par programme de configurer les fonctions Bluetooth avec des API comme BthSetMode et BthGetMode.

Et la compatibilité dans tout ça ?

D'après les gens de Microsoft, le but avec cette nouvelle version de Windows CE était une compatibilité à 100% mais il faut bien noter que :

C'est une nouvelle version de l'OS (de 3.0 on passe à 4.2)
Les MFC seront les même mais les ATL ont été reconstruit
Les objetc COM seront free-threaded
Le runtime de eVB et de ADOCE ont été reconstruit
Quelques constantes CEMAPI ne seront plus supportées
Quelques API présentent dans certains fichier .h en CE 3 se retrouvent dans d'autres en CE 4

Du coté des outils de développement....

Pour développer en code natif il faut utiliser eVC++ 4.0 (avec le SP 2). Par contre le SDK Ozone (et Smartphone v.Next) ne supporte pas eVB ! Il est claire que MS veut que les développeurs eVB passent à .NET ! En fait, les applications eVB développées avec le SDK PPC 2002 fonctionneront très bien sous Ozone, mais impossible de développer directement sur une machine Ozone (on va bien trouver). Coté Smartphone, officiellement eVB ne fonctionne pas dessus, mais perso j'arrive à l'utiliser (si si).

Coté .NET le Compact Framework sera directement en version 1.0 en ROM et Visual Studio 2003 est l'environnement de développement à utiliser pour développer des applications .NET sur PPC 2002, Ozone et bientôt (j'ai vu la démo) sur Smartphone.

La grande question est "A quand un environnement de développement gratuit pour .NET à l'image des eVT ?". A cette question, les responsables de chez Microsoft répondent "Grande idée !". C'est sûr que c'est une grande idée, après nous avoir fourni eVB et eVC++ gratuitement pour développer pour Pocket PC et Smartphone rien ne vient (à part eVC++ 4.0) remplacer dans la gratuité notre très cher eVB, qui, il faut bien le dire, à fait en partie de succès de la plate-forme Pocket PC ? Laurent Dugimont, le responsable mobilité chez MS France est tout à fait conscient qu'un tel produit (comme WebMatrix pour le dev ASP.NET) doit être mis à disposition rapidement pour la communauté des développeurs PPC et SMP.

eVC++ 4.0

Les fonctions de debugging ont été amiliorées avec :

JIT debugging (attach to dead process)
Attach to already running process
Multithreaded application debugging

Les compilateurs ont été modifiés :

SEH and C++ exception handling
STL (Standard Template Library)
Intrinsics (generate in-line code)

Les remote tools ont été mises à jour.

eVB pour Pocket PC Ozone

A partir de Ozone, le runtime eVB ne sera plus placé en standard en ROM mais il sera possible pour les constructeurs de le faire s'il jugent ça utile. Ca ne change pas grand chose car sous PPC 2002 certaines parties du runtime eVB (certaines DLL) avaient de gros problèmes ce qui obligeait la plus part du temps les utilisateurs à installer le runtime fourni avec les programmes d'installation pour que les applications fonctionnent.

Et l'émulateur dans tout ça...

Coté émulateur il sera possible de mapper des disques, de tester des applications qui utilisent GAPI, et surtout, l'émulateur sera aussi capable de se mettre dans la peau d'un Pocket PC Phone édition avec ou sans l'option "Virtual Radio" !

Parlons de choses graves... .NET CF

Pour ceux qui ont testé la version béta de VS.NET, de CF et les SDE pas de problème. Pour les autres voilà de quoi il retourne :

Pour l'interface utilisateur nous disposons des Windows Form et des fonctions propres à GDI+
Coté connectivité on peut consommer du service Web sans problème, utiliser TCP/IP et l'IrDA
Pour l'accès aux données ADO.NET et XML
Possiblité pour étendre tout ça d'invoquer du code natif (appel aux fonctions de DLL et des API système)
Le compilateur JIT vous assure des applications rapides (ça marche super bien, je peux vous le dire)
Avec VS.NET 2003 vous nagez dans un IDE grande classe (mais pas gratuit)

 

Conclusion

A part le fait que eVB soit progressivement poussé vers la porte de sortie sans pour autant avoir un remplaçant (dans la gratuité) pour .NET, on peut globalement dire qu'il n'y a que du bon dans toutes ces fonctionnalités à venir. Développer en .NET pour Pocket PC est un réel plaisir, tout n'est pas parfait, mais on m'a assuré que très rapidement les fonctionalités de base (comme jouer un wav sans passer par les API) seront ajoutées pour faire de .NET Compact Framework un outil adapté à toutes les situations, les plus simples comme les plus complexes.

Stéphane Sibué

 
       

 

 
       
 
       
Copyright 2001-2004 - Tous droits réservés
 
       

iPAQ est un produit de COMPAQ.
Visual Tools est un produit de Microsoft Corporation.
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.