GRATUIT

Vos offres d'emploi informatique

Développeurs, chefs de projets, ingénieurs, informaticiens
Postez gratuitement vos offres d'emploi ici visibles par 4 000 000 de visiteurs uniques par mois

emploi.developpez.com

Quelle est la meilleure technologie pour développement mobile en 2010 ?
Et pour quel système d'exploitation mobile ?

Le , par dourouc05, Responsable Qt
Bonjour,

Depuis belle lurette, Qt dispose d'un important support des plateformes mobiles : d'abord Linux, puis, les systèmes apparaissant, Symbian/S60, Maemo, Windows Mobile et, le dernier né, MeeGo.

Aussi, il faut remarquer que Qt n'est pas le seul framework disponible pour les mobiles : notamment, Apple ne permet pas de l'utiliser, la restriction portant principalement sur Flash. Parmi ces autres systèmes, nous pouvons citer WinDev Mobile. De même, Microsoft reste dans le coup avec le DotNet Framework Compact, une version allégée de son DotNet Framework ; Sun avec JavaME ; Google avec Android.

Quelle est votre expérience avec ces frameworks ? Lequel utilisez-vous ? Vous plaît-il ? Préféreriez-vous un autre ?
Avez-vous participé au choix du support pour vos applications ? Quels éléments vont ont fait pencher vers quel support applicatif et matériel ?

Voir aussi

L'histoire d'amour entre Apple et Adobe, Flash banni de l'iPhone
Microsoft devrait lancer un studio de développement de jeux pour smartphones en préparation de la sortie de Windows Phone 7
Quels sont les meilleurs outils pour le développement d'application pour mobile ?

D'autres forums en lien

Android
DotNet Framework Compact
iOs
JavaME
Qt
WinDev Mobile


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de eniclot eniclot - Candidat au Club http://www.developpez.com
le 20/08/2010 à 14:43
Pour rebondir sur les messages précédents, iPhone offre définitivement un ROI plus rapide, mais Android semble en progression constante. Quant à la base des terminaux Symbian, elle demeure très importante chez les particuliers de même que WinMob pour les entreprises.

Dans ce contexte, une approche dite "cross-platform" parait intéressante pour adresser l'ensemble de ces modèles avec un même code. Il existe quelques outils comme QT ainsi que d'autres basés sur des langages interprétés type Java ou HTML5, ce qui peut avoir un impact sur les performances des applis mobiles.

Je voudrais également citer l'outil ELIPS Studio, qui permet en outre de générer des applications natives à partir d'une seule base de code en ActionScript / MXML et ce pour iPhone/iPad, Android, Windows Mobile et Symbian.
L'outil de développement ELIPS Studio prend la forme d'un plug-in Flash Builder. Contrairement à la technologie Flash, ELIPS Studio génère du code natif, ce qui induit une meilleure performance, une "User Experience" spécifique à chaque plateforme et permet de s'affranchir des restrictions d'Apple sur Flash.
Plus sur la dev zone.
Avatar de Fabllot Fabllot - Membre éclairé http://www.developpez.com
le 20/08/2010 à 14:56
Ne faudrait-il pas distinguer téléphones mobiles "classiques" et smartphones ? Parce-qu'on ne peut pas faire la même chose avec les deux...

Sans dénigrer une ou l'autre de ces catégories de mobiles, mêmes avec des OS proches, on ne peut pas faire les mêmes programmes...

Et du coup si on regarde que les smartphones, il me semble que Symbian est du coup bien en retrait...

@palnap Sans oublier qu'avec le même code, on peut également compiler son application sous Windows Mobile, Maemo, Linux Embedded et bientôt MeeGo.
Je pense que tu n'as pas du faire beaucoup de développement multiplateforme... ou alors qu'en ligne de commande... Certes le code "calcul" est le même, après les interfaces graphiques change d'un système à l'autre... Même avec Qt entre Mac et Windows... Alors en plus quand tu passes sur du mobile où tu as 36 tailles d'écrans différents...
Avatar de zarathoustroy zarathoustroy - Nouveau Candidat au Club http://www.developpez.com
le 20/08/2010 à 15:01
@palnap, je suis tout à fait d'accord pour l'année 2009... Mais le temps de développer une nouvelle application digne de ce nom... Nous serons en 2011 et Android est estimé en 2010 à la deuxième place avec 24.5% de PdM. (x5 en un an, c'est quand même pas mal, non?)
(http://www.digitimes.com/news/a20100817VL201.html)...
Avatar de palnap palnap - Membre habitué http://www.developpez.com
le 20/08/2010 à 15:19
Citation Envoyé par Fabllot  Voir le message
Ne faudrait-il pas distinguer téléphones mobiles "classiques" et smartphones ? [...] Et du coup si on regarde que les smartphones, il me semble que Symbian est du coup bien en retrait...

Non, Symbian est bien un OS qui ne tourne que sur smartphones, les Nokia "simples" sont sous un système propriétaire nommé S40.

Citation Envoyé par Fabllot  Voir le message
Je pense que tu n'as pas du faire beaucoup de développement multiplateforme... ou alors qu'en ligne de commande... Certes le code "calcul" est le même, après les interfaces graphiques change d'un système à l'autre... Même avec Qt entre Mac et Windows...

Encore non, la valeur ajoutée de Qt étant justement de faire abstraction de l'OS cible que ce soit en terme d'IHM, de manipulation de fichiers ou de sockets...

Citation Envoyé par Fabllot  Voir le message
Alors en plus quand tu passes sur du mobile où tu as 36 tailles d'écrans différents...

Les interfaces QtDesigner ou plus récemment QtDeclarative fonctionnent avec des systèmes d'ancres qui te permettent de positionner tes composants relativement les uns aux autres, et d'adapter leur taille selon celle de leur container. Après si tu codes tes IHM en valeurs absolues, tu auras le même problème que sur PC quand tu redimensionnes ta fenêtre. Bien sûr c'est dans le cas idyllique ou le ratio largeur/hauteur des écrans est le même et où l'écran n'est pas trop petit pour afficher toute l'information nécessaire. Si c'est le cas, dans ce cas là tu seras obligé d'avoir plusieurs versions de ton app, mais là encore quelque soit la plateforme de dev que tu utilises (.NET mobile, Java ME, Android...) ça sera le cas :/
Avatar de Fabllot Fabllot - Membre éclairé http://www.developpez.com
le 20/08/2010 à 16:30
Citation Envoyé par palnap  Voir le message
Encore non, la valeur ajoutée de Qt étant justement de faire abstraction de l'OS cible que ce soit en terme d'IHM, de manipulation de fichiers ou de sockets...

Je n'ai pas dis le contraire, je parlais juste des Interfaces Graphiques précisément. A moins que Qt ait énormément évolué depuis un an et la version 4.5, mais les logiciels que j'ai du faire pour Mac et Windows avec Qt avaient pas mal de code (Qt) spécifique pour l'une ou l'autre des plateformes à cause des rendus totalement différents... Certes les applis tournaient... mais c'était très moche !

Les interfaces QtDesigner ou plus récemment QtDeclarative fonctionnent avec des systèmes d'ancres qui te permettent de positionner tes composants relativement les uns aux autres, et d'adapter leur taille selon celle de leur container. Après si tu codes tes IHM en valeurs absolues, tu auras le même problème que sur PC quand tu redimensionnes ta fenêtre. Bien sûr c'est dans le cas idyllique ou le ratio largeur/hauteur des écrans est le même et où l'écran n'est pas trop petit pour afficher toute l'information nécessaire. Si c'est le cas, dans ce cas là tu seras obligé d'avoir plusieurs versions de ton app, mais là encore quelque soit la plateforme de dev que tu utilises (.NET mobile, Java ME, Android...) ça sera le cas :/

Depuis que je fais des applis mobiles, je suis amené à "skinner" énormément les applis, avec utilisations de beaucoup d'images ce qui pose déjà des problèmes de résolutions. Après à la différence des PCs où on a (en gros) deux types d'écrans, les 16/10 et les 4/3, en mobile les tailles varient beaucoup plus et entre un iphone 320x480 ou 640x960, un Wave à 480x800, ou un blackberry à 360x480, tu ne peux pas faire 3 fois la même applis...

Je reste donc grand fan des SDKs Natifs...
Avatar de rsebbe rsebbe - Nouveau Candidat au Club http://www.developpez.com
le 20/08/2010 à 23:47
Le marché des téléphones ne veut rien dire pour les développeurs. C'est le marché des apps qui importe. Là, c'est l'App Store et un peu Android qui donnent le pitch (pas Symbian).
Avatar de palnap palnap - Membre habitué http://www.developpez.com
le 21/08/2010 à 0:24
Citation Envoyé par Fabllot  Voir le message
Je n'ai pas dis le contraire, je parlais juste des Interfaces Graphiques précisément. A moins que Qt est énormément évolué depuis un an et la version 4.5, mais les logiciels que j'ai du faire pour Mac et Windows avec Qt avaient pas mal de code (Qt) spécifique pour l'une ou l'autre des plateformes à cause des rendus totalement différents...

Entre Linux (Gnome ou KDE) et Windows, le rendu des IHM Qt est exactement le même, au look & feel près.

Par contre, c'est vrai que dans MacOS X, jusqu'à la branche 4.4, seul le rendu Carbon était implémenté. On peut depuis la 4.5 compiler Qt avec un support expérimental pour Cocoa qui est effectivement beaucoup mieux intégré à l'IHM de Mac OS X. Depuis la 4.6, Cocoa est utilisé par défaut.

Pour les IHM orientés tactiles, il faut dire que le module QtGui est un peu rigide. Pour pallier à ça, Nokia a intégré un nouveau module nommé QML (ou QtDeclarative) dans Qt 4.7 (béta 2 actuellement disponible) permettant d'écrire des IHM de manière déclarative (ça ressemble à du MXML ou du WPF avec une syntaxe proche du CSS) avec beaucoup plus de souplesse (système d'ancres sophistiqué, bindings, transitions, animations, gestion du multitouch et bien plus encore) ainsi qu'un éditeur graphique associé. Pour avoir testé, c'est vraiment bluffant en terme de rendu et facile à prendre en main.
Avatar de jfd jfd - Membre à l'essai http://www.developpez.com
le 21/08/2010 à 2:02
Citation Envoyé par rsebbe  Voir le message
Le marché des téléphones ne veut rien dire pour les développeurs. C'est le marché des apps qui importe. Là, c'est l'App Store et un peu Android qui donnent le pitch (pas Symbian).

Exactement ! (avec Android qui va certainement faire plus qu'un peu ... )
Donc pour être pénard coté technologie : phoneGap
Avatar de nicorama nicorama - En attente de confirmation mail http://www.developpez.com
le 21/08/2010 à 22:52
Citation Envoyé par palnap  Voir le message
Pour Android et iOS, j'utilise depuis peu un framework HTML5/JS très pratique : Sencha Touch. Il ne permet de faire que des WebApps,

Donc on n'a pas accès à l'appareil photo, et encore moins au GPS ?
Avatar de Fabllot Fabllot - Membre éclairé http://www.developpez.com
le 23/08/2010 à 10:21
Citation Envoyé par palnap  Voir le message
Par contre, c'est vrai que dans MacOS X, jusqu'à la branche 4.4, seul le rendu Carbon était implémenté. On peut depuis la 4.5 compiler Qt avec un support expérimental pour Cocoa qui est effectivement beaucoup mieux intégré à l'IHM de Mac OS X. Depuis la 4.6, Cocoa est utilisé par défaut.

Ok. Je ne manquera pas de retester si j'en ai l'occasion !

Pour les IHM orientés tactiles, il faut dire que le module QtGui est un peu rigide. Pour pallier à ça, Nokia a intégré un nouveau module nommé QML (ou QtDeclarative) dans Qt 4.7 (béta 2 actuellement disponible) permettant d'écrire des IHM de manière déclarative (ça ressemble à du MXML ou du WPF avec une syntaxe proche du CSS) avec beaucoup plus de souplesse (système d'ancres sophistiqué, bindings, transitions, animations, gestion du multitouch et bien plus encore) ainsi qu'un éditeur graphique associé. Pour avoir testé, c'est vraiment bluffant en terme de rendu et facile à prendre en main.

Je suis prêt à te croire, et je ne manquerai pas de tester si l'occasion se présente. Par contre deux petites questions concernant Qt (Mobile) : J'ai (très) rapidement regardé l'overview de la doc Qt, et je n'ai rien vue concernant la caméra... Rassurez-moi, on peut contrôler les caméras avec Qt ? Deuxième question (mais je crains connaitre la réponse), me confirmez-vous que Qt n'est pas dispo sur Androïd ? (Je n'ai rien vu dans la doc, et comme Androïd étant a priori du Java, ça se comprend...)

PS: Je n'ai rien contre Qt, et au contraire, j'apprécie énormément ce framework, je l'utilise pour tout dev (même mono-plateforme) sous Windows Mac et Linux
Avatar de fkylol fkylol - Nouveau membre du Club http://www.developpez.com
le 27/08/2010 à 12:00
Citation Envoyé par palnap  Voir le message
Pour Android et iOS, j'utilise depuis peu un framework HTML5/JS très pratique : Sencha Touch. Il ne permet de faire que des WebApps, mais en reprenant l'ergonomie des applis natives de l'iPhone (avec de belles transitions, du défilement cinétique, etc.). C'est bien moins couteux que d'acheter un mac et apprendre l'Objective C pour un résultat sensiblement équivalent.

Mais qui t'interdit l'Apple Store
Offres d'emploi IT
Ingénieur développement c++/.net (c#) h/f
Sogeti High Tech - Provence Alpes Côte d'Azur - Aix-en-Provence (13100)
Reconversion, futur ingénieur java jee h/f
Adaming - Ile de France - Paris (75000)
Chargé(e) d'etudes/essais spécialisation mathématiques-informatique algorythmie H/F
DCNS - Ile de France - Paris/Corporate

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique C++