|
|
||||||
|
Qui n’a jamais rêvé de cibler de
nombreuses plates-formes en ne faisant qu’un seul développement. Un
seul programme qui fonctionne sous forme d’application Windows classique
(winform), de page web (webform) ou encore sur PocketPC (Compact Framework).
Est-ce que Microsoft .NET permet ce type de développement ? Nous allons essayer de répondre à cette question dans le cadre d’un exemple concret, une application d’aide mémoire pour les anniversaires. Nous allons faire une version Winform, Webform et Compact Framework avec comme objectif d’avoir une très grande partie du code en commun. Comme vous le constatez nous allons élargir le carde habituel des PocketPC. Pour obtenir le Smart Device Extension pour Visual Studio .NET, qui ajoute les fonctions PocketPC à Visual Studio, regardez la page : http://msdn.microsoft.com/vstudio/device/sdebeta.asp
Microsoft .NET est le nouvel environnement
de développement que propose Microsoft. Avant l'arrivé de .NET le choix
d'une technologie de développement était complexe. En effet, les solutions
étaient vastes et impliquaient surtout des technologies assez différentes
telles que Visual Basic 6.0, C++, VBScript, MFC, ASP, ActiveX, DCOM...
Faire un seul code source ciblant win32 ou winCE cela on savait déjà faire en C++, mais ajouter une version Webform c’est déjà moins naturel, comment est-ce possible ? ASP.NET, le moteur d’exécution des Webform offre une fonctionnalité vraiment intéressante qui est la séparation totale entre le code et la présentation. Vous avez par exemple un fichier index.aspx qui contient la présentation HTML et un fichier index.aspx.cs qui contient le code correspondant. Les objets du fichiers aspx sont exposés dans le fichier aspx.cs. Donc en mettant de coté le design de la page aspx, si les contrôles portent le même nom entre la version Winform et la version Webform nous devrions avoir un code presque identique.
Notre petite application proposera un service assez simple. Consulter les anniversaires qui arrivent d’ici n jours, modifier, supprimer et ajouter un profil. Pour stocker ces informations nous allons utiliser un fichier XML. Pourquoi ne pas utiliser ADO.NET ? Et bien tout simplement car ADO.NET sur PocketPC n’existe que dans la version SQL, ce qui oblige l’installation de SQLCE sur la machine, chose que je ne désire pas faire dans cette présentation.
La bonne stratégie sur les développements
multi-cibles comme nous allons faire est de mettre au point le premier
programme sur la plate-forme qui supporte le moins de fonctionnalité.
Ici c’est le Compact Framework qui nous offre le moins de classes, c’est
par la version PocketPC que nous allons donc commencer.
Une fois le projet compact terminé je peux
le convertir en version winform. Et bien attaquons le troisième projet,
la version ASP.NET.
Les pages ASP.NET fonctionnent en mode
« stateless » c’est à dire tous les objets sont recrées à chaque
action utilisateur. Donc le mode de fonctionnement est un peu différent
mais nous gardons exactement la même classe métier Data.cs. Dans le projet
web je crée les nouveaux fichiers Form1.aspx et Edit.apsx et j’ajoute
le fichier existant Data.cs.
Voilà, nous venons de créer une application qui fonctionne sur 3 plates-formes différentes. Pour passer de la version PocketPC à la version Win32 c’est très rapide. La version ASP.NET est un peu plus longue à mettre en œuvre. Bien prévoir le projet et clairement découper présentation et code métier est essentiel. Sur de gros projets ce type de portage est moins évidant car ont désire souvent tirer parti du maximum des possibilités de chaque plate-forme, rendant le code de présentation moins universel.
|
||||||
|
|
||||||
|
Copyright 2001-2004 - Tous droits réservés |
||||||
|
iPAQ est un produit de COMPAQ.
|