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

Le 20/08/2010, par dourouc05, Responsable Qt & Web sémantique
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

Les rubriques (actu, forums, tutos) de Développez :
 C++
 iOS
 Qt


Les derniers commentaires postés :
Réponse Retrouver la discussion sur le forum

Avatar de Fabllot Fabllot
Membre expérimenté
le 20/08/2010
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
Invité de passage
le 20/08/2010
@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 régulier
le 20/08/2010

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 expérimenté
le 20/08/2010

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 !


Citation:




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
Invité de passage
le 20/08/2010
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 régulier
le 21/08/2010

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
Futur Membre du Club
le 21/08/2010

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
Membre Expert
le 21/08/2010

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 expérimenté
le 23/08/2010

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 !


Citation:




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
Futur Membre du Club
le 27/08/2010

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
Retrouvez la suite de la discussion

Réponse

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. Index Tiobe : Java recule encore, mais demeure toujours numéro 1, suivi de près par C, Visual Basic cède des parts à VB.NET 427
  2. Le SDK Kinect pour Windows disponible en version finale, Microsoft expédie la variante PC du capteur dans 12 pays, dont la France 19
  3. Windows 8 : Microsoft fusionne les capteurs pour en tirer le meilleur et facilite la création des applications utilisant ceux-ci 39
  4. Microsoft ouvre aux autres compilateurs C++ AMP, la spécification pour la conception d'applications parallèles C++ utilisant le GPU 22
  5. Quels domaines allez-vous cibler cette année ? Les développeurs PHP optent pour le Cloud, Mobiles, Médias sociaux et Big Data 5
  6. Les badges font leur entrée dans Visual Studio, les développeurs désormais félicités pour leur prestation dans l'écriture du code 47
  7. Windows Phone 8 : support du multicoeur, du code natif, de plusieurs tailles d'écran, Apollo apportera une évolution majeure à l'OS 4
  8. Windows Store : Microsoft limite l'utilisation des applications à 5 machines, d'autres caractéristiques de la galerie dévoilées 42
  9. JUMP recrute un expert en base de données et des développeurs Java, C++, C#, et offre plusieurs stages de fin et de mi-étude 0
  10. L'après C++11 : Quels sont les features ou lib que vous souhaiteriez dans la future norme ? Le premier document des propositions publié 41
Page suivante
  1. Index Tiobe : Java recule encore, mais demeure toujours numéro 1, suivi de près par C, Visual Basic cède des parts à VB.NET 427
  2. Comment prenez-vous en compte l'utilisateur dans vos applications ? Pour un développeur, «90% des utilisateurs sont des idiots» 225
  3. Quel est LE livre que tout développeur doit lire absolument ? Celui qui vous a le plus marqué et inspiré 96
  4. Quels sont les commentaires fantaisistes que vous avez déjà insérés dans votre code ? Ou découverts dans celui d'un autre ? 113
  5. Microsoft : premier trimestre financier en hausse de 7% grâce à Office et Windows, la division des services en ligne se redresse 429
  6. Un développeur passe un projet en open source après 200 heures de travail sans paiement, avez-vous déjà été abusé sur un projet ? 97
  7. Quel est le code dont vous êtes le plus fier ? Pourquoi l'avez-vous écrit ? Et pourquoi vous a-t-il donné autant de satisfaction ? 83
  8. Le SP 1 de Windows 7 et Windows Server 2008 R2 disponible pour les abonnés TechNet et MSDN 85
  9. Le SDK Kinect pour Windows disponible en version finale, Microsoft expédie la variante PC du capteur dans 12 pays, dont la France 19
  10. Windows 8 : Microsoft publie un guide pour les développeurs en complément de la pré-béta de l'OS 54
Page suivante

Ressources

Forums

Communauté

FAQs (1825 réponses)

Contact

Pour rejoindre la rédaction, émettre une suggestion ou proposer un tutoriel : contactez nous via le forum ou directement sur l'adresse mail de la rubrique.
 
 
 
 
Partenaires

Hébergement Web