Architecture et développement d’applications embarquées et mobiles au moyen des environnements Java et .NET Frédéric Feytons 11 mars 2009 Entreprise spécialisée dans le développement de technologies et logiciels pour mobiles Gamme de produits Consultance: développement mobile, web mobile, etc. 2 Plan .NET et Java pour de l’embarqué, quel intérêt? .NET Micro Framework .NET Compact Framework Java Micro Edition (anciennement J2ME) 3 .NET et Java embarqué, intérêt? Portabilité Rapidité de développement Librairies riches Plateformes modernes: garbage collector, mécanisme d‘exceptions. Outils modernes (Visual Studio, Netbeans, Eclipse, etc.) Emulateurs, debuggers Haute disponibilité de personnel compétent Réduction de coût, diminution du temps de mise sur le marché 4 .NET et Java embarqué Tenir compte cependant des contraintes de l’embarqué et du mobile Ressources limitées (CPU, RAM, ROM) Connectivité limitée (pour le moment) Ergonomie 5 .NET Micro Framework .NET pour devices très contraints en ressources Taille en RAM: 300ko Ne nécessite pas de système d’exploitation N’est pas temps réel Applications: temperature sensors, smart watches, etc. 6 .NET Micro Framework, spécificités Ecriture de drivers en code managé Code interprété, pas de just-in-time compilation Uniquement C# pour le moment Emulateurs 7 .NET Micro Framework, points intéressants Stack TCP/IP, support WiFi Web Services for Devices USB Device SSL, FAT32 UI et écrans tactiles Interop 8 .NET Micro Framework, architecture 9 .NET Micro Framework, classes de base 10 Exemple de code 11 .NET Compact Framework .NET pour Windows CE / Windows Embedded Subset du .NET Framework Applications: PDAs, Smartphone, GPS, etc. 12 .NET Compact Framework, spécificités Tous les langages .NET supportés Emulateurs représentatifs de la réalité Windows Communication Foundation LINQ 13 Exemple de code 14 Java Micro Edition (ex-J2ME) Plateforme modulaire, fonction du type de device 3 niveaux: Configurations Profils JSRs 15 Java ME, téléphones mobiles 2,5 milliards de téléphones équipés Configuration: CLDC Profil: MIDP, « MIDlet » JSRs: Wireless Messaging, Multimedia, Bluetooth, FileSystem & PIM, etc. « Optional Packages » 16 Java ME, spécificités CLDC / MIDP Generic Connection Framework c = (SocketConnection)Connector.open("socket://localhost:1101"); LCDUI Interface minimaliste « Pensée » pour les mobiles S’adapte au look and feel du téléphone PushRegistry, RMS, etc. + JSRs 17 Java ME, difficultés liées au CLDC / MIDP Fragmentation devices Fragmentation JSRs supportées Fragmentation implémentations des constructeurs D’une certaine manière, modèle de sécurité « Write once, Debug everywhere » 18 Exemple de code 19 Merci pour votre attention Frédéric Feytons [email protected] www.moovade.com +32 4 379 86 27 20