En juillet dernier, Digia a introduit dans Qt 5.1 un support préliminaire des plateformes mobiles iOS et Android. Désormais, l’environnement de développement est disponible en version 5.2, il renforce ses débouchés mobiles et en profite pour glisser une mouture préliminaire pour Windows RT.
VLC est l'une des applications utilisant Qt
Les plateformes iOS et Android sont officiellement gérées
Qt est un environnement de développement multiplateforme. Il permet dans les grandes lignes d’écrire un code unique qui va pouvoir être réutilisé sur différents systèmes. Parmi les applications qui l’utilisent, on notera en particulier le client de virtualisation VirtualBox, le lecteur multimédia VLC, et même plus récemment le nouveau client de connexion Battle.net de Blizzard.
La nouvelle mouture 5.2 continue le travail commencé avec la précédente. Désormais, les développeurs pourront accéder à la quasi-totalité des API de Qt sur Android et iOS, avec quelques exceptions. Qt Webkit par exemple n’est pas de la partie, notamment à cause de limitations imposées par Apple. Qt NFC et Qt Bluetooth ne sont pas présents non plus, mais seront par contre ajoutés dans une version ultérieure. Le reste des composants, notamment Multimedia, Quick et Sensors, sont bien là.
Vers une véritable ubiquité ?
Dans son communiqué, Digia positionne désormais Qt comme un acteur de poids, en fait la plateforme de développement la plus large quand il s’agit de compter les systèmes pris en charge. La version 5.2 marque une vraie avancée sur le terrain mobile et la reprise d’un code unique (ou presque) pour « arroser » toutes les boutiques d’applications supportées. Et Qt se prépare d’ailleurs à aller plus loin puisque cette mouture intègre une préversion de l’environnement pour Windows RT. À une époque où l’on parle de plus en plus d’une fusion des boutiques chez Microsoft, un tel intérêt a tout son sens.
D’autres améliorations sont présentes dans cette version 5.2. Par exemple, de très nombreuses corrections ont eu lieu pour le module Qt Widgets, dont le comportement est maintenant beaucoup plus fiable. Des corrections, la version OS X en reçoit également pour Mavericks, dont le support est mieux assuré. Les Qt Quick Controls pour le bureau ont eux aussi été améliorés et Qt Quick s’intègre plus facilement dans les applications basées sur Qt Widgets.
Une meilleure intégration avec le code natif sous Windows et OS X
Parmi les autres ajouts, on notera :
- QTimeZone et QCollator : meilleur support des fuseaux horaires et des informations locales
- Qt Windows Extras : intégration avec du code natif sous Windows
- Qt Mac Extras : intégration avec du code natif sous OS X
- Qt Bluetooth permet de gérer la connexion sans fil sous Linux
- QKeySequenceEdit QWidget : nouvelle classe permettant de gérer plus simplement les affiliations de touches définies par l’utilisateur
En outre, et c’est important, les développeurs intéressés par Qt pour les plateformes mobiles pourront récupérer un package conçu spécialement pour l’occasion : l’édition Qt Mobile. L’intérêt de cette formule est qu’elle ne comprend que les éléments nécessaires au développement sur mobile, sans intégrer tout ce qui concerne les applications pour bureau (Windows, OS X et Linux notamment).
Notez qu’initialement, Qt 5.2 avait été rendu disponible hier. Le téléchargement et l’annonce avaient cependant été supprimés peu de temps après à cause de plusieurs problèmes techniques. Quoi qu’il en soit, les intéressés pourront récupérer cette nouvelle version depuis le site officiel.
Commentaires (53)
#1
Donc si je comprend bien, avec Qt, on va pouvoir dev des applis multiplateformes ? Plus besoin de dev d’un coté pour Android, de l’autre pour iOS et de l’autre pour Windows Mobile ?
Ou alors je suis à coté de la plaque ? " />
#2
Il y a Delphi aussi qui fait iOS, Android, Mac OS et Windows. Ça doit être équivalent en terme du nombre de plateformes couvertes, non ? (bon manque Linux en fait " />)
#3
#4
#5
Non, delphi rajoute aussi ses widgets, le langage c’est le pascal!
Sinon, trooop bien! Mais il faudra quand même passer par VS pour le compte dev MS non ?
#6
#7
Il ne faut pas oublier que Qt est disponible pour BlackBerry et Jolla aussi !
(d’ailleurs, une petite news sur Jolla qui vient de lancer son premier téléphone, ce serai sympa aussi…)
#8
#9
Parmi les applications qui l’utilisent
Y’a ptet KDE aussi, non ?
#10
#11
#12
#13
(et au cas où, pour ceux qui se demandent, la prononciation c’est “Cute” comme “mignon” en anglais)
#14
#15
#16
#17
#18
Intéressant ! Juste dommage que ce soit du C++ old-school pas très joli " /> . Le problème des gros projets c’est que quand ils deviennent le top, ils ne sont plus compatibles avec les concepts récents.
#19
#20
#21
#22
#23
#24
Je vais pas citer tout le monde mais la création de littéralement tous les objets dans Qt repose sur l’utilisation des pointeurs nus, de l’opérateur new et du concept d’objets parents/enfants.
Concrètement, cette partie du framework est, comparativement à l’exploitation des capsules RAII et de la pile en C++ “moderne”, très moche.
@malock : le C++ est mon langage préféré, mais pas tel qu’on l’utilise dans Qt.
@jedifox : je parle d’une sous-utilisation de la RAII dans Qt alors qu’on sait maintenant que c’est le coeur de C++.
@seblamb : le supporter c’est bien, l’utiliser c’est mieux.
#25
si j’ai bien compris, on code dans Qt en C++;
c’est la seule difference avec Xamarin ? (anciennement Mono : MonoToutch / MonoDroid / MonoDevelop)
vive le C# " />
#26
#27
#28
#29
J’espère que la version corrigera les bugs énormes de la 5.1 (notamment au niveau de webkit).
En attendant je reste sur 4.8.5
#30
#31
#32
Quel est la différence avec Java ?
#33
A éviter absolument ! Qt s’adapte très mal au look graphique et au thème du système d’exploitation.
#34
#35
#36
#37
#38
#39
Je ne connaissais pas du tout, ça a l’air très intéressant ! Mais le prix est un prix rebutant, 109€ par mois, ça le réserve aux entreprises " />
Par contre je n’ai pas bien compris comment ça fonctionnait pour être multi-plateformes. Ca permet d’écrire son code en C++, et Qt le compile en Java ou Objective-C selon la plateforme cible ? Ou pas ?
#40
#41
Merci " />
#42
#43
#44
#45
Pour tout les commentaires Qt c’est du vieux C++ etc….
Ca permet d’avoir une représentation moderne, très pratique et agréable de l’UI. (d’un point de vue perso c’est plus pratique que le sdk Android, le Xaml et HTML)
#46
#47
#48
#49
J’utilise Qt professionnellement au quotidient, donc je défend un peu ma croute sur le sujet.
Qt n’est pas seulement utilise sur les ordinateurs de bureau mais depuis Qt 4.8 avec l’arrive de QtQuick et du langage QML (sorte de mix html/css/javascript) pour la partie graphique, combine avec la monte en puissance de la plateforme ARM, beaucoup d’industriel commence a s’intéresser a Qt pour leur environnement embarque (typiquement GPS/ordinateur de bords dans les voitures/avions/kioks de musee/etc.).
Deplus avec QtQuick on a une véritable séparation entre la partie graphique et la partie logique (ce qui n’était pas vraiment le cas precedement avec QtWidget), ce qui veut dire que si l’on veut recreer une interface pour une plateforme spécifique, seul la partie QtQuick est a réécrire et les inge backend et UI ne se mettent plus des batons dans les roues.
QtQuick est particulièrement efficace sur le tactile (creer par Nokia pour meego/harmattam a l’origine) mais implique que l’on doivent créer de A-Z les éléments graphique de l’interface, si l’on souhaite une interface base sur QtQuick qui s’intègre dans un environnement desktop alors les composant QtQuick sont la. (j’ai porte 3 mois de travail pour une une interface en QtWidget a QtQuick + Controls en 3 semaines).
#50
#51
#52
#53