Developpez.com

Le Club des Développeurs et IT Pro

Développer pour les mobiles : galère ou paradis ?

Le 2009-09-03 15:53:07, par Gordon Fowler, Expert éminent sénior
Les smartphones sont de plus en plus répandus.

Leur démocratisation ouvre un nouveau monde aux développeurs.
Mais ce nouveau monde n'a rien de simple.
Tout créateur d'application doit d'entrée de jeu faire un choix entre les OS, les langages, les marques et au sein des marques les terminaux - qui ont tous des spécificités techniques - voire les réseaux.

Attirant pour certains, repoussant pour d'autres, le développement pour mobile est un univers hétéroclite.

Mais si faire une application universelle qui fonctionnerait sur tous les portables reste aujourd'hui une gageure, l'arrivée du HTML 5 pourrait changer la donne.

C'est en tout cas ce que pense Hampton Catlin, développeur pour la Wikimedia Foundation, organisation derrière Wikipedia : "le HTML 5 c'est une très, très grosse aide pour le développement sur mobile. [...] Il offre des possibilités aussi grandes que celles du JavaScript pour les graphiques. Alors au lieu d'utiliser de l'Objective C (NDR : comme pour l'iPhone) ou du Java (NDR : comme pour Android), de manière basique ce que vous faîtes c'est une page web complexe en HTML 5 que vous n'avez plus qu'à charger sur le terminal".

Mais l'approche Web laissera toujours de coté l'optimisation des spécificités techniques de chaque plateforme.

Mais vues les différences de résolutions d'écran, de capacités de calcul, de mémoire et d'OS embarqués, cette unification ne risque-t-elle pas de rester longtemps un vœux pieux ?

Lire aussi :

L'AppStore cheche-t-il à se mettre les développeurs à dos ?
Tout le développement pour mobile (actu/tuto/faq/forum) est sur Developpez.

Et vous ? :

Avez-vous déjà développé une application pour mobile ?
Si oui, n'hésitez pas à faire part de votre expérience à la communauté !

Pensez-vous que le HTML 5 va unifier "l'éclatement" actuel du développement pour mobile ?
Ou au contraire, que ce ne sera jamais unifié ?
  Discussion forum
20 commentaires
  • FloMo
    Membre expérimenté
    Envoyé par Gordon Fowler

    Avez-vous déjà développé une application pour mobile ?
    Je développe sur iPhone et j'ai aussi développé sur Symbian.

    Envoyé par Gordon Fowler

    Si oui, n'hésitez pas à faire part de votre expérience à la communauté !
    J'ai développé une ou deux applications sur Symbian : galère et moche.
    J'ai testé Android : j'ai vu un soupçon de Symbian qui tend à se confirmer.

    Par contre, iPhone, c'est génial. Ca fonctionne bien, c'est beau, c'est agréable à développer.

    Si Developpez.com me le permet, venez donc voir mon blog sur http://blog.kaelisoft.fr.

    J'ai réalisé quelques applications iPhone dont une destinée aux développeurs (iRegex) et plusieurs pour le grand public. Je m'éclate.

    Envoyé par Gordon Fowler

    Pensez-vous que le HTML 5 va unifier "l'éclatement" actuel du développement pour mobile ?
    Si tout le monde s'accorde sur les codecs vidéos, oui. Si on cherche la petite bête et qu'on se fait des querelles de bac à sable, ça ne va pas le faire.
    En clair, il faut libérer H. 264 et ce sera bon.

    Envoyé par Gordon Fowler

    Ou au contraire, que ce ne sera jamais unifié ?
    Microsoft sera toujours à part, mais tous les autres utilisent WebKit (libéré par Apple) donc pas de soucis.
  • buse974
    Membre actif
    Donc pour moi c'est android SDK 1.5 v3

    Mon expérience et limité a une petite application qui ne fait réellement pas grand chose, faute de temps d'apprentissage et de temps de développement aussi, sinon le Sdk et facile a prendre en main ca demande quand même de comprendre le fonctionnement du system android, les relation entre les différent type de composant ( activity, service,BroadcastReceiver , view ,Intent, ContentProvider ). J’avoue avoir été un peu dessus des performances du system en général. C’est pour cela que j'ai choisie aussi autre, car maemo 5 qui n'est pas dans la liste qui sortira avec le n900 me tente bien, surtout a la fin de l'année avec la sorti de QT4.6 maemo v6 tournera sur une interface X11/QT donc développent en QT je pense être bien tenter. ça va remonter les performances.

    Donc j'attend en attendent android.
  • FloMo
    Membre expérimenté
    Envoyé par buse974
    C’est pour cela que j'ai choisie aussi autre, car maemo 5 qui n'est pas dans la liste qui sortira avec le n900 me tente bien, surtout a la fin de l'année avec la sorti de QT4.6 maemo v6 tournera sur une interface X11/QT donc développent en QT je pense être bien tenter. ça va remonter les performances.
    C'est vrai que Qt/S60 peut changer la donne, car Qt reste une référence en matière de développement.

    Par contre, à Nokia d'améliorer ses UI...
  • LooserBoy
    Membre chevronné
    Mon cas est particulier:
    J'ai développé sur des PDA "industriels" qui permettaient aussi, pour certains, de faire de la téléphonie.
    La majorité d'entre eux étaient sous Windows Mobile ou CE et donc développement en .NET. C'était plutôt amusant à faire, en effet.

    Par contre, j'aimerais beaucoup développer sur Iphone (mais il faut payer et je voudrais d'abord essayer pour savoir si leur environnement RAD me plait) et attends avec impatience la possibilité de jouer avec un terminal équipé Maemo.
    Je me suis déjà monté une plateforme de développement grâce à un magasine qui présentait le développement sur embarqué sur différentes plateformes dont un Nakio, une DS (pas la voiture),...
  • Barsy
    Expert confirmé
    Pour ma part, je développe en .NET pour Windows Mobile. Je ne connais pas assez bien les autres environnements pour comparer, mais Visual Studio est un excellent outil. C'est simple, on développe les applis mobile exactement de la même façon que l'on développe les applis pour PC.

    Sinon, au niveau du HTML5, il faudra que je me renseigne davantage. Mais est-ce que ça ne concerne pas plutôt les applications client léger pour mobile ? Le problème étant qu'une appli sur mobile ne doit pas être limité par le navigateur, il faut pouvoir accéder au Wifi, au GPS, aux fichiers et accessoirement à une base de données...

    Pour l'IPhone, ne faut-il pas acheter un Mac pour pouvoir développer dessus ?
  • MrDuChnok
    Rédacteur
    Moi j'ai eu l'occasion de tester plusieurs :

    Windows Mobile : Super simple, agréable à bosser, beaucoup de ressource, des emulateurs fonctionnels, pas mal de librairies de disponible et pas mal de manipulation possible sur le téléphone grâce à la programmation windows si besoin (hook système, etc). Le déploiement est simple et pratique.

    Symbian : Alors là c'est la préhistoire. J'ai eu une mission (5mois) sur cette plateforme, et maintenant je n'en accepterai plus jamais. J'ai connu l'enfer, j'ai survecu, mais franchement, c'est un tout (environnement de dev, émulateur, documentation, déploiement, sécurité) qui me font souhaiter à personne de devoir travailler là dessus

    Android : Je m'éclate pas mal dessus. Système encore un peu jeune, mais j'aime bien. C'est assez réactif. L'émulateur fonctionne bien, on est très proche de la réalité lorsqu'on déploie sur le téléphone. D'ailleurs le déploiement, est invisible, une étape de moins à se soucier. Les ressources (documentations, FAQ, librairies, composants) commencent à se multiplier. J'espère retravailler dessus dans quelques temps pour voir l'évolution.

    Iphone : pas encore testé.
  • LooserBoy
    Membre chevronné
    @barsy: Oui, il faut un mac pour développer sur Iphone malgré certains contournements illégaux possibles (machine virtuelle, hackintosh).
  • leyee
    Membre averti
    J'ai développé un jeu j2me (midp 2.0) dans le cadre d'une campagne multicanal. Même s'il faut reconnaitre que l'api de base est restreinte pour cause de compatibilité avec de nombreux modèles, j'en garde un bon souvenir même si ce n'était pas gagné d'avance dans la mesure où plusieurs centaines de téléphones de marque différentes devaient être compatible.
    Dans le même esprit, je démarre le dev pour iphone, on va voir ce que ça donne. La première impression est que pour un développeur en dehors du monde MAC, le langage pique les yeux...
  • sperca
    Membre régulier
    Personne n'a jamais développé sur le fameux OpenMoko ?

    J'hésite à en acheter principalement pour téléphoner mais aussi pour le bidouiller entièrement. Mais on dirait qu'il reste très peu connu devant le succès des autres...
  • buse974
    Membre actif
    j'étais dans le même cas que toi j'hésiter a en acheter un, plutôt un Neo Freerunner qui tourne sur OpenMoko, c'est vrais qu’il reste très peu connu devant le sucée des autres, mais il a le mérite d'être le seule téléphone libre du marche ,développer dessus c'est no limite.
    Mais malheureusement se qui ma calmer c'est la non prise en charge du réseau 3g donc pas internet.

    Voila sinon les caractéristique du téléphone sont intéressante par contre il est moche

    http://openmoko-fr.org/wiki/index.ph...Neo_FreeRunner