![]() |
![]() |
|
MEDC 2005
|
![]() |
Microsoft Mobile & Embedded Developer Conference 2005 Depuis maintenant plusieurs années, Microsoft organise une conférence annuelle dont le thème est le développement mobilité. Ces conférences s'adressent à une cible bien précise que sont les développeurs, chefs de projet et architectes travaillant dans le domaine du développement d'applications mobiles ou de solutions embarquées. J'ai eu la chance de pouvoir participer à celle de 2002 (la toute première) et 2003. A l'époque cette conférence s'appelait MDC pour Mobility Developer Conference et était commune à la zone Europe. A ce titre toutes les sessions (la conférence durait plusieurs jours) étaient 100% en anglais. Cette année cette conférence porte le nom de MEDC, car on y a parlé certes de mobilité coté Windows CE, mais aussi de Windows Embedded (voilà d'où vient le E de MEDC). La MEDC 2005 s'est passée à Paris à "Coeur Défense" (cadre imposant pour un Savoyard comme moi, même si mes montagnes sont bien plus hautes que l'immeuble EDF), sur une journée, et surtout 100% en français. Il est vrai que les développeurs n'ont pas trop peur de l'anglais, mais franchement le confort apporté par une présentation technique en français n'est pas mesurable. Il a enfin été possible de se consentrer sur le contenu plutôt que de dépenser 50% des ressources (certes limités) de notre cerveau à traduire le dit contenu. On peut dire que la MEDC est le Developer Day de la mobilité. |
Deux
grands sujets, la mobilité façon Windows CE ou façon XP
Embedded
La journée a été organisée en deux parties. Le matin, une conférence "la scéance pleinière" où tous les sujets ont été globalement abordés sans vraiment trop entrer dans le détail. Ce fut une sorte d'introduction où les gens de Microsoft nous ont parlé principalement de Windows Mobile 5, Visual Studio 2005 et le Compact Framework 2.
![]() Eric Mittelette en pleine explications sur le C++ managé |
L'après midi, il était
possible d'assister au choix à une session mobilité ou à
une session Embedded. Personnellement, vous vous en doutez bien, je suis
allé à la session mobilité (vous allez vous dire qu'il
est sans surprise ce mec...).
La session de l'après midi était organisée comme une méga démonstration directement sur machine. Avec la même formule, maintenant célèbre des Developer Days, 80% de démo, 20% de slides. Ce ratio m'a semblé être respecté. Nous avons été guidé par des animateurs de qualité. Nous avons eu la chance de profiter des lumières "C++" de Eric Mittelette, toujours aussi sympatique et patient, des lumières "bases de données" de Mitsu Furuta et des lumières "C#" de Pierre Lagarde qui nous a fait la démo d'un programme très sympa, écrit par ses soins et dont je vous parlerai plus tard. Pour ce qui est de profiter de lumières Visual Basic .NET j'étais bien là, mais... |
Quelques
tests en réel de Windows Mobile 5 et là... Ouaouuuuu !!!!
Ce fut l'occasion de voir des machines sous Windows Mobile 5 tourner en réel. Il a même été possible de "jouer" un peu avec pendant les pauses. Et là je suis tombé à la renverse car ces machines étaient en fait (pour les Pocket PC) des QTEK 2020 flashés avec WM5. Comme j'en possède un, j'ai pu juger sur pièce du comportement de ce nouvel OS. Fulgurant est le mot qui correspond le mieux au sentiment que ces petits tests m'ont inspirés. A machine égale les applications sous WM5 se lancent bien plus vite que sous WM2003 et 2003 SE, et un sentiment de fluidité domine l'utilisation.
Là j'ai compris qu'un grand pas avait été franchi avec cette version de l'OS. Et je n'était pas encore au bout de mes surprises, car les développeurs avec WM5, Compact Framework 2 et Visual Studio 2005 sont vraiment gâtés.
Windows
Mobile 5 en quelques points
Nouvelle gestion de la mémoire
![]() |
Un point très important sous WM5 est le changement concernant la manière d'utiliser la mémoire. Avant, sous PPC 2000, 2002 et 2003, la mémoire RAM était utilisée pour stocker les fichiers (comme un disque dur virtuel) et pour faire tourner les programmes en cours d'exécution. Maintenant, la RAM est utilisée uniquement pour exécuter les programmes alors que c'est une zone de type flash qui est chargée du stockage des données. Ce type de fonctionnement se rapporche de celui des Smartphones que l'on peut éteindre réellement sans perdre la moindre information stockée. Cette nouvelle manière de gérer la mémoire apporte un gain de vitesse assez important et permet de ne plus se soucier de perdre ses données si par malheur on n'a oublié trop longtemps de recharcher son Pocket PC. C'est en soit un très gros progrès. Donc, en toute logique, les prochaines machines sous WM5 proposeront très certainement 64 Mo de RAM et 64 Mo de Flash au lieu des 64 ou 128 Mo de RAM et 32 Mo de Flash ROM. |
La prise en charge au niveau de l'OS de certaines fonctionnalités
![]() |
Support des GPS Le panneau de configuration permet maintenant de paramétrer d'utilisation d'un GPS. On peut sélectionner le port de communication à utiliser, la vitesse, etc... Le système peut prendre en charge la communication avec le GPS (traitement des trames NMEA) ou laisser les programmes accéder comme des grands à ces informations en pilotant le port de communication. Support des appareils photos Les appareils photos étant maintenant une ressource "standard" sur la plupart des téléphone et de plus en plus présente sur les Pocket PC, il était logique que sa gestion soit pris en charge par le système. C'est maintenant le cas. L'accès à ce type de ressource est maintenant fait de manière unifiée. Ceci implique que par programme vous pouvez piloter l'appareil photo ou la caméra à volonté (sympa). |
Quelques points sur la sécurité
![]() |
Sous Pocket PC, les applications peuvent maintenant être signées Comme sur les Smartphones, les applications Pocket PC pourront être signées afin de garantir leur provenance. C'est pourquoi, quand vous lancez pour la première fois un programme non signé WM5 vous prévient et vous demande si vous voulez tout de même le lancer. Cette alerte n'est activée qu'une seule fois, tant que l'exécutable de change pas. Ceci signfie que les mécanismes qui permettrons aux opérateurs de verrouiller a volonter certaines parties ou fonctionnalités des Pocket PC sous WM5 sont maintenant 100% implémentées. En gros, avec WM5 les Pocket PC et les Smartphones n'ont que le boitier, le système de saisie et la mémoire comme grandes différences, coté OS, c'est de plus en plus le même. Identifiant unique pour chaque machine Ce n'est pas une nouveauté en soit. Depuis Pocket PC 2002 Microsoft préconisait que chaque machine soit dotée d'un identifiant unique. Pour info, la librairie CodePPC vous permet de le récupérer très facilement. Aujourd'hui cet identifiant semble être devenu une obligation pour les constructeurs, pour les Pocket PC et les Smartphones. Ce système simplifiera grandement tout ce qui gestion des licences par exemple. |
Nouvelles API DirectX pour les mobiles
Windows Mobile 5 inclus maintenant des composants cousin de la famille DirectX PC. Nous retrouvons maintenant dans la boîte à outil destinée aux éditeurs de logiciels très graphiques de nouvelles API telles que :
Direct3D Mobile
DirectDraw
DirectShow
Eric Mittelette nous a montré quelques réalisations utilisant ces nouvelles API, et ça commence à dégager pas mal de puissance.
Coté développement, le but avoué : pouvoir à
terme tout faire en code managé
![]() |
Comme nous l'a très bien expliqué Pierre Lagarde de chez Microsoft, il est maintenant possible d'effectuer en code managé des opérations qui nécessitaient avec le Compact Framework 1.0 et WM2003 pas mal de lignes de codes en C. Avec le Compact Framework 2.0 et WM5 il sera possible d'envoyer des sms et des mails, ainsi que d'en filtrer la réception en simplement quelques lignes de code. Même chose pour l'utilisation du Bluetooth, où quelques lignes de code C# ou VB.NET suffiront pour gérer l'appairage entre 2 appareils BT et leur dialogue. POOM (Pocket Outlook Object Model) est aussi de la partie. Les développeurs vont de nouveau pouvoir très simplement utiliser les PIMs des Pocket PC et des Smartphones (agenda, carnet d'adresse, tâches) pour les inclures dans leurs propres applications. Je dis "vont de nouveau pouvoir" car en eVB (pour Pocket PC uniquement) c'était, il y a 3 ans de ça, déjà faisable en quelques lignes de code. Malheureusement c'était très difficile en .NET jusqu'à maintenant sans l'utilisation de libraires externes. |
Pour illustrer tous ces points, Pierre Lagarde nous a présenté une application, développée par ses soins, qui utilise des sms pour inviter d'éventuels participants à un resto. Cette application sait aussi traiter les réponses, envoyées par l'utilisateur via sms (0=non, 1=oui, non ni M6, ni TF1 étaient sponsors de la MEDC cette année). L'agenda et le carnet d'adresse, grâce au nouvel accès à POOM, étant automatiquement mis à contribution pour trouver les personnes à inviter et noter les soirées resto validées. Une application plutôt complexe à mettre en oeuvre avant l'arrivée du couple CF2/WM5, et qui aujourd'hui peut être réalisée sur Pocket PC et Smartphone en quelques lignes de code.
Par exemple, pour intercepter des sms, il suffit de déclarer
un objet de type MessageInterceptor et de répondre à son événement
"MessageReceived"
Dim WithEvents SMS As MessageInterceptor Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
SMS = New MessageInterceptor()
SMS.InterceptionAction = InterceptionAction.NotifyAndDelete
End Sub
Private Sub SMS_MessageReceived(Byval sender As Object, Byval e As MessageInterceptorEventArgs) _
Handles SMS.MessageReceived
REM Code à exécuter à la réception d'un SMS
REM Le SMS reçu se trouvant parmi les propriétés du paramètre "e"
End Sub
|
Ou encore pour accéder au contact du carnet d'adresse de la personne en train de vous téléphoner (appel entrant) :
| Dim c As Contact = SystemState.PhoneIncomingCallerContact |
Grâce à CF2 et WM5, les applications utilisant gps, sms, mails, bluetooth ou POOM ne seront, en .NET en tout cas, plus un problème ! Mais ça ne s'arrête pas là...
Donc si on fait les comptes...
On peut dire que Windows Mobile 5 possède 3 catégories de fonctionnalités nouvelles :
Les nouvelles API uniquement accessibles en natif
Direct3D Mobile
DirectDraw
DirectShow
La
prise en charge du GPS
La
mise à disposition d'un identifiant unique par machine
Gestion
des licences concernant les oeuvres diffusées (MP3, Vidéo, etc...)
Nouvelles
possiblités d'interractions avec ActiveSync directement depuis l'applicatif
L'accès en code managé à des fonctionnalités jusque
là uniquement accessibles en code natif
La téléphonie
POOM
(Outlook Mobile)
La
messagerie (sms et mail)
Gestionnaire
de configuration (pour répondre à des questions du genre : Ai-je
du GPRS en ce moment ?)
Une série d'API nouvelles accessibles en natif comme en managé
Notification d'état (Je veux savoir quand je passerai hors champ sur
le GPRS)
Selecteur
d'images (pour choisir facilement une image depuis votre application)
API
de capture d'images et de vidéo
Possibilité
d'étendre les données gérées par Outlook Mobile
(ajout de champs dynamiques dans les contacts par exemple)
Gestion
complète des mails
De
nouveaux kits de développement pour Windows Mobile 5
![]() |
Qui dit nouvelle version d'un OS dit nouveaux Kits de développement. Sans le superbe sac à dos qui a été offert a chaque participant de cette journée, il y avait toute une série de documents et de CD ou DVD dont certains étaient particulièrement intéressants. Le plus important à mes yeux est le SDK pour Windows Mobile 5.0 Pocket PC et Smartphone qui permet d'utiliser la béta 2 de Visual Studio 2005 pour cibler des machines WM5. Ces SDK offrent des émulateurs ARM d'une très grande qualité et vous pouvez ainsi tester les possibiliés à la fois de WM5 mais aussi du CF2 et de VS2005 (pour ceux qui sont perdus avec les abréviations WM5=Windows Mobile 5.0, CF2=Compact Framework 2.0, et VS2005=Visual Studio 2005). J'ai déjà pris contact avec Laurent Dugimont pour lui commander toute une série de ces SDK et ainsi pouvoir vous les proposer dans l'opération "recevez vos kits de développement gratuitement chez vous" qui existe depuis maintenant plus d'un an sur CodePPC. A noter aussi que ce SDK est sur DVD et qu'il inclus (2 DVD) la béta 2 de VS2005. |
Conclusion
Windows Mobile 5.0 est un OS de très grande qualité. Avec le support de plus en plus étendu des applications managés, ce sera pour nous, développeurs mobilité, un plaisir de plus en plus grand de réaliser des applications. Les présentation de WM5, CF2 et VS2005 m'ont donné envie d'en voir plus, et d'essayer par moi même. Avec les DevDays, et cette MEDC 2005, Microsoft a encore montré cette année sa volonté d'expliquer à tous les développeurs ce que la technologie .NET peut apporter, et à en voir les démonstrations, elle apporte puissance, stabilité et pérénité.
Microsoft montre de plus en plus que la mobilité est un enjeu énorme et que nous ne sommes qu'au début d'une formidable aventure....
|
|