A la découverte des OS Mobiles

L’idée de cet article n’est pas de découvrir en profondeur les différents OS mobiles dont nous parlions dans mon précédent billet. En effet, de nombreux articles existent déjà pour cela, mais, afin de pouvoir développer sur ces plateformes, il est nécessaire de pouvoir connaitre sur eux, un minimum qui nous permettra de pouvoir au mieux les appréhender. Concernant le principe des « MarketPlaces » (pour achat, téléchargement, publication des applications), nous verrons leur fonctionnement dans chaque article de création d’applications pour un système d’exploitation.

Windows Mobile

Windows Mobile 6.1 (et 6.5)

A vrai dire, nous aurions du parler de Windows CE (WinCE). En effet, c’est sous cette appellation que le système d’exploitation créé par Microsoft est sorti à ses débuts (1996 pour la version 1.0). Il ne s’agit pas d’une version allégée de Windows, mais plutôt une version spécialement créée pour des périphériques mobiles. L’appellation Windows Mobile est une version de Windows CE qui dispose d’un ensemble de fonctionnalités. Je cite :

L’offre Windows Mobile repose sur une version de Windows CE agrémentée d’un ensemble de fonctionnalités. De plus, l’architecture matérielle pouvant faire fonctionner une version Windows Mobile est déterminée par Microsoft. Ceci signifie que l’offre Windows Mobile peut être vue comme la fourniture d’un OS avec un ensemble de fonctionnalités mais aussi comme la spécification d’une architecture matérielle. (Source : Wikipédia, http://fr.wikipedia.org/wiki/Windows_CE)

Windows Mobile, par ailleurs, est multitâches, c’est-à-dire qu’il permet l’exécution simultanée de plusieurs applications. A propos d’applications, il existe  le Windows Marketplace for Mobile qui est un portail de téléchargement d’applications mobiles à destinations des plateformes Windows Mobile.  J’avoue avoir douté de la sortie d’un tel endroit, parce que les mobiles équipés de Windows Mobile sont non seulement nombreux, mais aussi de différentes sortes, de différents constructeurs et aussi  assez différents pour la plupart en terme d’ergonomie (tactiles, non tactiles, petits écrans, écrans larges, support du mode paysage et portait, etc…). Il y aurait beaucoup de contraintes pour « uniformiser » le développement d’application sur cette plateforme en tout cas, contraintes techniques et matérielles. Je me pencherai dans un autre article sur le fonctionnement du « market » quoiqu’il en soit.

Le développement pour Windows Mobile peut être fait en utilisant plusieurs langages (C++, C#) et l’environnement le plus utilisé pour développer dessus est l’environnement Microsoft .NET. (Avec Microsoft Visual Studio). Attention, il existe un environnement spécifique pour les versions mobiles qui est le .NET Compact Framework. C’est un sous ensemble du Framework .NET avec certaines classes qui sont communes tandis que d’autres sont spécifiques aux terminaux mobiles. La dernière version du Compact Framework est la version 3.5 (qui offre en particulier le support de WCF, Linq et quelques améliorations dans les Windows Forms). Il sera quoiqu’il en soit obligatoire d’installer sur votre poste afin de pouvoir créer des applications mobiles, le SDK Windows Mobile 6.5.x (outils divers, compilateurs, émulateurs, documentation) suivant le type de version de Windows Mobile dont vous disposez (Windows Mobile 6 Standard ou Professionnel).

J’avoue ne pas connaitre le devenir de la plateforme Windows Mobile 6.5 et son devenir, mais, face à la sortie de Windows Phone, je ne doute pas que tout porte à croire que les prochains mobiles Windows Mobile qui sortiront le seront sous cette plateforme.

Windows Phone 7

Window Phone 7 est la suite (logique ?) de Windows Mobile 6.5 (sortie prévue pour fin 2010). Toujours édité par Microsoft, (qui sort par la même occasion un téléphone dédié à ce système d’exploitation le Windows Phone), ce nouveau système se veut davantage comme un remplacement de Windows Mobile (il a été entièrement réécrit). S’il faut dire presque un adieu total à la compatibilité des applications développées et existantes sous l’ancienne plateforme, il faudra également dire adieu au support du multitâches dans cette version de l’OS car il est monotâches (pour des raisons d’autonomie pour le moment). Par contre, l’utilisation du Push est dorénavant possible (et native) ainsi que le multitouch.

Tout comme pour les précédentes versions de l’os (et aussi grâce à Windows Phone 7), il y a le marketplace for mobile ou seront recensées les applications développées et validées sur cette plateforme.

Pour développer des applications Windows Phone, la version du Compact Framework requise pour cette plateforme est la 3.7 qui, outre l’amélioration des performances, permet le développement d’application Silverlight ou XNA 4.

Concernant les outils de développement, nous aurons bien entendu besoin de Visual Studio (2010) et du SDK de Windows Phone 7. La grande nouveauté pour les développeurs sera le support de Silverlight ou de XNA.

BlackBerry

BlackBerry

L’OS et le smartphone portent le même nom (parfois on parle de BlackBerry OS pour le système d’exploitation). En tout cas, BlackBerry OS est créé par RIM (Research In Motion), société canadienne. La particularité de ce système est qu’il est non seulement multitâches, mais aussi optimisé pour le push mail (ainsi que la lecture de mail et leurs pièces jointes), gestion des fax, etc…

Les fonctionnalités courantes des autres téléphones y sont retrouvées (jeux, sms, mms, photos, navigation internet, des widgets sur le bureau, etc…).  Nous en sommes à la version 5.0.x.x (même si la version 6 de l’OS a été annoncée il y a une semaine http://www.blackberrytune.com/blackberry-6-officially-announced-video-features/). Cette dernière version propose de nouvelles améliorations graphiques, mais aussi le support du multitouch, etc…

Depuis peu (un peu plus d’un an), BlackBerry dispose de son « market place » qui s’appelle Blackberry App World. Il offre la possibilité de retrouver des applications uniquement réalisées pour les smartphones BlackBerry, de les acheter et les télécharger. (Bon, un point d’ombre pour les anglophobes, il n’existe qu’en anglais pour le moment…). (Et juste pour le fun, Barack Obama a lui aussi un BlackBerryJ).

Pour développer des applications sur BlackBerry, il faut utiliser nativement Java. Tout comme pour les autres systèmes d’exploitation mobiles, il y a un centre de développement créé par l’éditeur et où il est possible de retrouver de nombreuses ressources dont les fameux sDk pour développer pour la plateforme (Java Application Development 5.0). L’IDE principal compatible au développement BlackBerry est Eclipse (même si il est possible d’utiliser Visual Studio et C# mais, cela fera l’objet d’un article à part).

Android

Android

Parmi les très récents systèmes d’exploitation mobile, on retrouve le petit Android (« petit » car en effet, il a été annoncé officiellement le 15 novembre 2007). Android est créé par la société de même nom (Android) rachetée par Google (en 2005). Basé sur un noyau linux, Android a été développé de façon à pouvoir intégrer et gérer nativement les applications et services Google existants (Gmail, Google Maps, Google Calendar, Youtube, etc…). La dernière version du système est la version 2.2 (basée sur un kernel linux 2.6.32). Parmi les fonctionnalités intéressantes du système, on peut noter la gestion de bureaux virtuels, les widgets (comme pour Blackberry), etc… Android est multitaches.

Les téléphones sous Android ont aussi  leur « marketplace » et il s’agit de Android Market. Le principe est le même que pour les autres « market » pour les autres constructeurs. La petite icône de ce market est :

Android Market

Notons qu’une plus grande liberté est accordée aux développeurs concernant le contrôle des applications que l’on désire publier sur ce Market contrairement à l’App Store que nous verrons pour l’IPhone.

Pour créer des applications sur cette plateforme, tout comme pour BlackBerry, il faut utiliser Java (avec l’IDE Eclipse). Il y a un SDK spécifique pour cette plateforme qui est le SDK Android (suivant la version de l’OS dont on dispose).

Je tiens à remercier une de mes collègues (Sophie) qui, avec crainte, me prêtera entre les pauses son HTC Hero sous Android le temps de faire cet article (seulement quand j’aborderai la création de l’application Android… Merci Sophie :-)).

iPhone OS

J’avoue que ne possédant pas d’Iphone, d’Ipod Touch, ou d’Ipad et après avoir cherché, je n’ai pas trouvé de logo spécifique à la plateforme. (Merci à tous mes collègues qui me prêteront les leurs :-)).
Toutefois, un qui a retenu mon attention :

IPhone OS 3

Vous l’auriez probablement deviné, dans ce logo, on a la version courante de l’IPhone (3.2 quand même pour être précis). Et voici le prochain :

IPhone OS 4

IPhone OS donc, version 3.2 et prochaine version 4.0 (Juillet 2010) est le système d’exploitation mobile créé par Apple pour un téléphone spécifique que tout le monde (ou presque) connait et possède, l’Iphone. Dans l’ensemble des fonctionnalités, on peut signaler qu’il est le premier à avoir présenté de façon native le multitouch, l’accéléromètre. Par contre, le système est monotâches (sauf pour la prochaine version d’Iphone OS). Ensuite, concernant ses fonctionnalités, l’on y retrouve un peu l’ensemble de celles que l’on retrouve sur les autres mobiles, avec en plus des particularités propres à Apple.

Apple a mis en place un MarketPlace que l’on appelle App Store, avec les mêmes caractéristiques que celles des autres avec un contrôle de validation des applications un peu plus austère. Point fort ou point faible pour le constructeur, il a voulu jouer la carte de la fiabilité concernant les applications créées à destination de sa plateforme…

Pour développer des applications pour IPhone, nous utiliserons comme langage l’Objective C. IPhone OS sDk est l’environnement que nous utiliserons pour développer des applications sur IPhone. Après, il est possible d’utiliser d’autres langages pour dévélopper sur les mobiles, mais là aussi, ce sera l’objet d’un autre article.

Voyons un petit tableau récapitulatif succinct

Récapitulatif OS Mobiles

Je crois que nous avons vu l’essentiel pour bien démarrer. Nous entrerons progressivement dans les détails qui nous intéressent dans les articles à venir.

L’application que je vous propose de créer sur chacune de ces plateformes sera une simple application de lecture de flux RSS et dédiée à ce blog. C’est simple, mais cela suffira amplement pour des premiers pas (au lieu d’une simple application Hello World !).

A très bientôt !

(Image section mobile. © Beboy – Fotolia.com)

Nombre de vue : 46

COMMENTAIRES 5 commentaires

  1. Moussa Ilf dit :

    Hello,
    Juste une petite remarque concernant la définition de “multitâche” et de “monotâche” au niveau des différents OS mobile.

    En fait tous les OS sont multitâches mais une restrictions est faite sur le nombre d’applications que peut lancer l’utilisateur.
    – Windows mobile : aucune (cela veut dire qu’on peut ralentir le système si on lance trop d’applications)
    – Android : 6 en parallèles
    – iPhone OS 3.2: 1 seule application
    – iPhone OS 4.0: plusieurs
    je ne connais pas Blackberry car j’en ai jamais eu…
    Au niveau du système, les OS sont tous multitâches sinon on ne pourrait pas lancer de la musique en parallèle au surf sur un iPhone.

    Sinon pour l’iPhone OS, nous sommes en 3.2 sur l’iPad et en 3.1.3 sur les iPhones et iPod touch. Je ne sais pas si les iPhones et iPod touch passeront par la version 3.2.

    Sinon l’article est très bien et super précis ce qui est très agréable 😉

  2. David POULIN dit :

    Salut !!

    Merci beaucoup pour tes remarques et c’est vrai ce que tu dis ! Ton commentaire complète mon article :)! C’est un point que j’aborderai en tout cas dans la suite des articles pour chaque plateforme en détaillant cette notion de “multitâches” et “monotâche”.

    Pour le BlackBerry, je pense que c’est aucune limitation (j’ai testé à l’instant de lancer une dizaine d’application, et ça fonctionnait bien). Je pense que ça doit être lié à la capacité de la mémoire du mobile aussi!

    Merci encore !

  3. Moussa Ilf dit :

    Pas de quoi 😉

    Les technos mobiles font partie de mes passes temps 😉 et j’ai pas mal développé sur Windows mobile et je débute sur Android… J’ai pas encore testé sous iPhone…

    Je les ai tous eu dans mes mains (sauf blackberry) et actuellement j’ai un iPhone sous 3.1.3, un iPad sous 3.2 et un Htc Desire sous Android 2.1 et j’ai arrêté les Windows Mobile à la version 6.5 y a 2 ans 😛

  4. ricardo.minhoto dit :

    Concernant un futur article détaillé sur les “markets”, pense également au market open source pour windows mobile “OpnMarket” assez largement répandu 🙂

    Sinon, petite précision sur certaines limites d’OS, celles-ci peuvent être comblées par des sur-couches des constructeurs de téléphone. Par exemple, le HTC HD2, sous windows mobile 6.5 intègre le multi-touch.

  5. […] nécessaire de pouvoir connaitre sur eux, un minimum qui nous permettra de pouvoir au mieux … Lire la suite chez Soat. Generalmobile ← Les applications mobiles [C#] – Un petit problème de DateTime et […]

AJOUTER UN COMMENTAIRE