Cours environnement mobile 2/2

Views:
 
     
 

Presentation Description

Cours sur les particularités de l'environnement mobile. Une guide utile pour les développeurs qui veulent commencer à travailler sur des projets mobiles.

Comments

Presentation Transcript

PowerPoint Presentation: 

Introduction à l’environnement mobile Par Younes Moumen

PowerPoint Presentation: 

Agenda Architecture d’application/jeu mobile Géolocalisation Les choix technologiques Tendances et opportunités des applications mobiles

PowerPoint Presentation: 

Les choix technologiques Portée : 95 % des mobiles incluant la majorité des smartphones Configurations CLDC 1.0/1.1 Profils MIDP 1.0, 2.0, 2.1, 3.0, Personal Profile et DOJA Les différents JSR standards (Wireless messaging, Mobile Media, Bluetooth, 3D Graphics , Scalable 2D Vector Graphics , PIM, etc ) Les JSR propriétaires Outils de développement ( Netbeens , Eclipse, WTK, etc ) Gestion de la compatibilité : Bonnes pratiques, Problème des bugs, JSRs Préprocesseurs et port ( Ant , Antenna , J2ME Polish , etc ) Signature et distribution : Java Verified , Thawte , Verisign J2ME

PowerPoint Presentation: 

Portée : Moins de 10 % des mobiles 2D Vector graphics : Meilleurs animations, taille inférieure Développement rapide grâce à l’IDE simple d’Adobe AIR Meilleure compatibilité que J2ME Compatibilité avec Flash Desktop Problèmes de performances et de son Limitations des accès aux ressources critiques Parfait pour le développement rapide de programmes animés ou prototypes de test ne nécessitant pas une grande compatibilité Flash Lite Les choix technologiques

PowerPoint Presentation: 

Portée : Près de 15 % des mobiles Disponibilité de plusieurs langages de programmation en plus du Symbian C/C++ : J2ME, Perl, Qt , Web applications Complexité et immaturité des outils de développement du Symbian C/C++ Nombre de fonctionnalités quasi-illimitées avec Symbian C/C++ Problèmes de compatibilité entre les versions S60, S80, S90, UIQ Performances élevées Certification compliquée ( Symbian Signed ) avec des corrections dernièrement Nécessaire pour le développement nécessitant un accès à des fonctionnalités avancées du Système d’exploitation Symbian Symbian C/C++ Les choix technologiques

PowerPoint Presentation: 

Portée : Les OS iOS , Android , Symbian , Web OS Développement très facile grâce à l’utilisation des technologies Web Standards Très limités en fonctionnalités accessibles Parfait pour les applications Web orientées smartphones Web Applications Les choix technologiques

PowerPoint Presentation: 

Portée: iOS Nécessité de développer sur un ordinateur Apple Facilité de développement Stabilité des applications combiné à des performances élevées grâce à l’usage d’Objective-C Peu de problèmes de compatibilité Nécessité de passer par iTunes pour la distribution Nécessaire pour cibler ces types de smartphones iOS Objective-C Les choix technologiques

PowerPoint Presentation: 

Portée: Blackberry Un grand nombre de fonctionnalités puissantes accessibles lorsqu’on n’est plus conforme avec J2ME Facilité de développement Stabilité des applications combiné à des performances élevées grâce à l’usage de librairies natives compilées Peu de problèmes de compatibilité si ce n’est le dilemme de conformité avec J2ME Certification nécessaire mais facile si des fonctionnalités critiques sont utilisées Nécessaire pour bénéficier des avantages des fonctionnalités du RIM OS (hors J2ME) JAVA RIM OS Les choix technologiques

PowerPoint Presentation: 

Portée: Android OS Possibilité d’utiliser du code natif en C/C++ Facilité de développement Stabilité des applications combiné à des performances élevées grâce à l’usage de librairie natives compilées Commence à connaitre des problèmes de compatibilité avec la fragmentation des mobiles Android Certification nécessaire mais facile si des fonctionnalités critiques sont utilisées Quasi-nécessité de passer par Google Apps pour assurer la livraison des applications Nécessaire pour cibler ces types de smartphones (Hors J2ME émulé) JAVA Dalvik Android Les choix technologiques

PowerPoint Presentation: 

Portée: Windows Mobile/Windows Phone Possibilité d’utiliser du code natif en C/C++ Facilité de développement et présence d’une librairie intéressante de fonctionnalités Problèmes de compatibilité entre les différentes versions de Windows Mobile Nécessité de réécrire de nouvelles applications pour Windows Phone Certification nécessaire pour intégration dans Ms. Software Market Nécessaire pour cibler ces types de smartphones (hors J2ME émulé) .Net Windows Mobile/Phone Les choix technologiques

PowerPoint Presentation: 

Agenda Architecture d’application/jeu mobile Géolocalisation Les choix technologiques Tendances et opportunités des applications mobiles

PowerPoint Presentation: 

Temps réel Architecture d’application Le calcul temps réel est un calcul qui a des contraintes de temps. Exemple : Jeux vidéos, systèmes embarqués, Simulations physiques, etc Le succès d’un calcul temps réel ne dépend pas uniquement de la logique des résultats mais aussi du temps nécessaire pour l’effectuer Il existe 2 types de temps réel : strict et flexible Les calculs temps réel strictes doivent impérativement se terminer dans le temps qui leur est accordé. Exemple : Applications de Voix su IP Les calculs temps réel flexibles doivent en moyenne se terminer dans le temps qui leur est accordé : Jeux et animations

PowerPoint Presentation: 

Gestion des événements Deux types de gestion d’événements peuvent être utilisés dans une application: Attendre qu’un événement arrive pour effectuer n’importe quel traitement. Dans ce cas, il suffit en général d’implémenter le code de traitement de chaque événement tant que les traitement de sont pas lourds ou sont asynchrones Effectuer des traitements hors événements ou usage de calculs lourds ou synchrones. Dans ce cas la gestion des threads est nécessaire. Un thread est une fil d’exécution qui peut être représentée par un processeur indépendant 2 ou plusieurs threads peuvent s’exécuter en parallèle Architecture d’application

PowerPoint Presentation: 

Le thread de call back Le thread des callback (ou de gestion des événements) est géré par le système d’exploitation, le runtime ou le programme lui-même dans certains environnements. Il appelle des fonctions spécifiques (fonctions de callback) lorsqu’un événement arrive. Par exemple lorsque l’utilisateur appuie sur une touche du clavier ou qu’un appel est reçu Le thread des callback ne doit pas effectuer de traitements lourds car sinon il pourrait rater certains événements étant occupé dans ses traitements ou influer négativement sur les performance de l’application. Le thread de call back gère en général les événements, l’affichage et les accès aux ressources. Architecture d’application

PowerPoint Presentation: 

Le thread principal Le thread principal permet d’effectuer tous les traitements de l’application en ne laissant au thread de callback que les tâches propres à lui. Cette architecture permet d’avoir une application stable et performante qui gère correctement les ressources Le thread principal peut effectuer des traitements qui ne sont pas basés sur les événements mais sur le temps, tels que les animations ou les simulations La majorité des environnements permettent de créer plusieurs threads pour la gestion de tâches en parallèle. Il est toutefois recommandé de n’utiliser que ces 2 threads afin d’éviter les complexités du calcul parallèle Architecture d’application

PowerPoint Presentation: 

Synchrone vs. Asynchrone Un appel de fonction est dit synchrone si le thread qui appelle la fonction est le même qui l’exécute. Un appel de fonction est dit asynchrone le thread qui appel la fonction délègue son exécution à un autre thread et continue immédiatement l’exécution des instructions suivantes. Par exemple, dans le cas d’un thread de call back qui gère l’affichage et les événements. Si on appelle une fonction synchrone qui ouvre une connexion internet dans le thread de callback, on bloquera ce thread qui va attendre que la connexion s’ouvre. En attendant, il ne pourra ni récupérer des événements ni changer l’affichage de l’écran. L’application est ainsi bloquée. L’alternative est soit d’appeler une fonction asynchrone soit d’appeler la fonction synchrone depuis le Thread principal Architecture d’application

PowerPoint Presentation: 

Boucle de jeu Architecture d’application Initialisation Réception des événements Calculs IA Calculs Physiques Et logiques Gestion Des collisions Affichage Autre sorties Attente de Fin de cycle Destruction

PowerPoint Presentation: 

Agenda Architecture d’application/jeu mobile Géolocalisation Les choix technologiques Tendances et opportunités des applications mobiles

PowerPoint Presentation: 

Les coordonnées géographiques terrestres sont les coordonnées sphériques par rapport à la terre exprimés en latitude, longitude et altitude La latitude correspond à l’angle effectué par un point par rapport à l’équateur (entre -90° et 90°) La longitude correspond à l’angle effectué par un point par rapport à la ligne Greenwitch (entre -180° et 180°) L’altitude correspond à l’altitude d’un point par rapport à la surface de la mer Coordonnées Géo terrestres Géolocalisation

PowerPoint Presentation: 

Le géocodage est la technique qui permet d’associer des adresses à des coordonnées géographiques terrestres Les adresses peuvent être des : Points (bâtiments, monuments, etc ) Lignes (rue, avenues, etc ) Cercles (couverture cellulaire, champs d’action des pompiers, etc ) Polygones (quartier, zone, etc ) Le géocodage permet de retrouver la position géographique depuis une adresse postale Le géocodage inverse permet de retrouver l’adresse postale correspondant à une adresse Géocodage Géolocalisation

PowerPoint Presentation: 

D’autres moyens permettent de localiser un mobile: En récupérant l’identifiant de la cellule (antenne) à laquelle le mobile est connecté, le mobile peut envoyer cet identifiant à une base de données des cellules (telle que Open Cell Id) pour connaitre sa position géographique terrestre Certains opérateurs fournissent le service de géo localisation en utilisant un mécanisme de triangularisation précis pour identifier la position du mobile Certains hotspot Wifi fournissent leurs positions géographiques et la transmettent au mobile pour se positionner Autres moyens de localisation Géolocalisation

PowerPoint Presentation: 

Agenda Architecture d’application/jeu mobile Géolocalisation Les choix technologiques Tendances et opportunités des applications mobiles

PowerPoint Presentation: 

Vu la multiplication des technologies de géolocalisation , de plus en plus d’applications intègrent cette fonctionnalité pour améliorer leurs services Il existe de plus en plus de jeux géo localisés qui prennent la position comme paramètre pour créer des environnements parallèles Les services de recherche, de renseignement, de tourisme utilisent la géolocalisation pour fournir des contenus plus précis et adaptés Les applications de sauvetage, de sécurité, d’ anti-vols se multiplient également en bénéficiant de ces technologies Services géolocalisés Tendances et opportunités

PowerPoint Presentation: 

La réalité augmentée consiste à utiliser la caméra et la boussole du mobile en plus de ses capacités de traitement des données et d’images pour fournir plus de données sur l’écran du mobile que la réalité (ce que peuvent voir les yeux seuls) Elle peut être utilisée pour des applications de tourisme où le touriste n’a qu’à orienter son mobile vers une zone pour avoir en plus de l’image réel, des renseignement touristiques et vidéos présentatives des sites intéressants Google sky permet d’orienter le mobile vers un endroit de l’espace pour voir les constellations, planètes et objets célestes non visible par l’œil nu Beaucoup de jeux utilisent la réalité améliorée pour simuler des ennemis et objets fictifs qui s’interposent à la réalité Réalité augmentée Tendances et opportunités

PowerPoint Presentation: 

La reconnaissance vocale consiste à traiter les phrases de l’utilisateur et en récupérer le texte correspondant. L’inverse étant la synthèse vocal où un texte est lu par le mobile en simulant une voix humaine L’accéléromètre peut être utilisé dans une multitude d’applications telles que les coach fitness, les randonnées, le sauvetage, etc Essayez d’être inventifs en tirant profit au maximum de l’incroyable combinaison de composantes matérielles et les opportunités qu’elles présentent Autres opportunités Tendances et opportunités