Qt 5.4 améliore son support des technologies du web et de WinRT
Impossible d'échapper au HTML5
Le 11 décembre 2014 à 16h00
4 min
Logiciel
Logiciel
L’environnement de développement Qt vient de passer en version 5.4, avec à la clé un certain nombre d’améliorations en rapport avec les technologies du web. L’éditeur Digia en profite pour publier une mouture 3.3 de Qt Creator.
Le nouveau Qt fait la part belle aux technologies du web
Qt est un environnement de développement fournissant des API, des widgets ainsi que divers composants pour le réseau, le multimédia et ainsi de suite. Il permet aux développeurs de se baser sur ces éléments pour bâtir un projet qui pourra ensuite être compilé vers de nombreuses plateformes. Le client de virtualisation VirtualBox s’en sert ainsi pour simplifier son portage vers Windows, Linux, OS X et autres.
Dans son communiqué, Digia indique que le HTML5 et les technologies du web ont évolué et ont pris de l’ampleur, ce qui explique le travail réalisé sur ce domaine pour l’année écoulée. Aussi, l’une des plus grosses nouveautés de Qt 5.4 est l’arrivée de Qt WebEngine, qui servira donc de module responsable de l’affichage des ressources web. Il est basé sur le projet Chromium et utilise le moteur de rendu Blink de Google. L’API fournie permet donc d’intégrer du contenu web dans les applications à travers les Widgets et Qt Quick.
Autre apport important : Qt WebChannel. Il s’agit cette fois de créer un pont entre le duo QML/C++ habituel dans le développement des applications et le couple HTML/JavaScript. Ce qui permettra selon Digia de marier les technologies pour créer des applications hybrides. L’interface entre les deux univers sera réalisée par l’exposition des QObjects dans un contexte web. Par ailleurs, si le module fonctionne évidemment avec le nouveau Qt WebEngine, il pourra être utilisé avec n’importe quel moteur de rendu supportant les Web sockets, autrement dit tous les navigateurs récents.
La troisième nouvelle fonctionnalité web se nomme Qt WebView et n’est pour l’instant disponible que sous forme de préversion. Ce composant permet d’exploiter le navigateur fourni par la plateforme cible quand Qt WebEngine n’est pas entièrement requis. Pour l’instant, Qt WebView est compatible avec Android et iOS.
Support complet de WinRT et améliorations graphiques
Mais le web n’est pas le seul domaine dans lequel Qt se renforce. Dans la version 5.3, le support du Windows Runtime (WinRT) était disponible en bêta. Il est désormais finalisé et les développeurs peuvent donc se servir de l’environnement pour créer des applications à destination du Windows Store de Windows 8.1. Les applications universelles sont également supportées, ce qui permet de viser également Windows Phone 8.1.
Parmi les autres nouveautés, signalons en particulier le support préliminaire des très hautes définitions d’écran. Les développeurs doivent le considérer comme expérimental, ce qui signifie qu’ils rencontreront des problèmes à son utilisation.
Côté graphique, Digia indique que le support d’OpenGL a souvent été problématique à cause de la mauvaise qualité des pilotes. Aussi, l’éditeur a ajouté un sélecteur qui permet de choisir dynamiquement l’implémentation OpenGL au démarrage d’une application, par exemple en sélectionnant l’OpenGL ES 2.0 d’ANGLE plutôt que le pilote natif. On notera également l’arrivée de deux nouveaux modules, QOpenGLWidget (remplaçant l’ancien QGLWidget de Qt 4) ainsi que QQuickRenderControl, qui permet de basculer le rendu de scènes Qt Quick dans un tampon.
Ceux qui souhaitent télécharger la nouvelle version de l’environnement ainsi qu’en savoir plus sur les nouveautés pourront se rendre sur la page officielle du produit. Notez que cette mouture s’accompagne de QtCreator 3.3, dont l’installation sera automatiquement proposée avec celle de Qt 5.4.
Qt 5.4 améliore son support des technologies du web et de WinRT
-
Le nouveau Qt fait la part belle aux technologies du web
-
Support complet de WinRT et améliorations graphiques
Commentaires (37)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 11/12/2014 à 16h10
Cool, les gens vont pouvoir introduire du contenu web avec tous les bugs de rendus de Blink, et dire que ce sont les autres navigateurs qui sont buggés quand c’est pas pareil que le rendu de Blink.
Le 11/12/2014 à 16h35
Ca va surtout permettre d’intégrer des web apps dans des applis “traditionnelles” non?
Enfin c’est ce que je comprends en tous cas.
Et si je comprend bien, ça ne peut qu’améliorer jolla niveau compatibilité avec le reste du monde/fonctionnalités et ça c’est très cool. non?
Le 11/12/2014 à 16h36
Sympa de voir que WinRT est de plus en plus supporter coté outils de développement. Entre ça et le support de DirectX12 du coté des moteurs de jeux comme l’Unreal Engine 4, les plateformes Windows 10 vont pouvoir tiré parti du travail réalisé pendant la phase transitoire qu’a été Windows 8 …
Le 11/12/2014 à 16h50
Avant Qt utilisait Webkit pour ces rendu Web cela ne change pas grand chose.
Le 11/12/2014 à 18h08
Je m’en sers avec Python (PyQT) et ce framework m’impressionne de plus en plus.
Moins pire que Django mais tout aussi productif, si en plus on peut l’intégration aux langages du web plus facilement…
Pas le temps.
Le 11/12/2014 à 20h37
ça pourrait aussi remplacer apache cordova à terme.
Le 11/12/2014 à 21h15
Le 12/12/2014 à 04h00
Oui je m’en sers, juste que j’ai pas eu le temps de finir mon cpmm (ma mère et ma fille son arrivées en même temps) mais ce topic, ce framewoks je suis en plein dedans.
Je me suis fais mon exo qui va bien avec ces deux frameworls : Django et PyQT, PyQt s’intègre super bien avec l’OS, Django c’est plutôt sur serveur (AMPPS pour ma part en local).
Mon exo, c’est un simple carnet d’adresse en responsive; ça .l’air très con mais cette appli englobe quasi tout ce que peut demander une appli web : BdD, CSS en responsive, le moins de JS possible, du coup plus de PHP mais du Pyrhon.
Crois moi, personne ne paie des gens pour apprendre…
Si tu veus plus d’info, en MP (j’ai un wiki pour cela).
Le 12/12/2014 à 08h17
PyQt et Django ne conviennent pas pour le même besoin, ni la même finalité… les comparer c’est un peu étrange quand même " />
Le 12/12/2014 à 09h51
Le 12/12/2014 à 09h53
Le 12/12/2014 à 10h20
Qt Webchannel n’est qu’une passerelle qui expose les object Qt mais pas un “framework css/js” pour créer des interface c’est bien çà ?
Le 12/12/2014 à 10h24
Le 12/12/2014 à 10h27
Merci, c’est bien ce que j’avais compris mais quelque part j’espérais me tromper " /> ca aurait été terrible d’avoir la plus part des widget-ui Qt pour créer des webapp via Qt Creator " />
Le 12/12/2014 à 10h37
Le 12/12/2014 à 11h53
ActionFighter :
Je vois que monsieur à remis son avatar … " />
Le 12/12/2014 à 12h03
Le 12/12/2014 à 12h13
C’est une usine à gaz ce framework mais ça permet tout.. sur python depuis wx… euh comment dire… Une usine à gaz.
Le 12/12/2014 à 12h14
Bah c’est justement pour mettre en place ton API directement via Qt plutôt que d’ajouter un autre tiers dans la chaine (si j’ai bien tout compris " />)
Le 12/12/2014 à 12h19
Le 12/12/2014 à 12h19
Le 12/12/2014 à 12h26
Le 12/12/2014 à 12h27
Le 12/12/2014 à 12h36
Le 12/12/2014 à 12h40
Le 12/12/2014 à 12h51
Le 12/12/2014 à 13h49
Le 12/12/2014 à 14h08
Je reformule le premier point, qui n’est pas très clair à la relecture :
Le but de WebChannel est de pouvoir expose les interactions de manière très simple un back-end qt, avec du HTML/CSS/JS, sans recourir à un framework/API spécifique qui ajoute des dépendances. et sans avoir à gérer la sérialisation.
Le 12/12/2014 à 15h27
Le 12/12/2014 à 15h38
Le 12/12/2014 à 17h01
Le 12/12/2014 à 17h08
Ca ne remplacera jamais le JS, mais avoues, si on peut s’en passer on est tous prêt à foncer dedans
Un jour peut-être tu comprendras à quel point JS bien utilisé est en fait “coolissime”, bien plus que Python " />
Le 12/12/2014 à 18h55
Oui parce qu’on a pas d’autres choix, c’est la seule et unique raison.
Le 13/12/2014 à 10h05
J’ai porté mon appli sur Qt 5.4 et pour moi qui ne suit pas du tout orienté web, les gains sont tout aussi conséquents : le nouveau QOpenGLWidget est super pratique/fluide comparés aux modules précédents, et le support High-DPI sous Windows en plus d’OSX est tout aussi bienvenu.
J’utilise ce framework depuis 2009 (Qt 4.6) et je ne cesse d’être émerveillé par chaque nouvelle version. C’est en train de devenir le framework multi-plateforme/multi-usage ultime pour toute application qui nécessite performance et accès bas niveau.
Pour rappel, il va d’ailleurs bien plus loin que la gestion d’interface, c’est un ensemble de classes qui simplifie et accélère le développement a à peu près tous les niveaux.
Le 13/12/2014 à 11h12
Ancien utilisateur de Qt (j’ai dû commencer en 3.0 ou 3.5), c’est vrai que ce framework C++ a toujours eu un gros à-priori positif chez moi. D’autant plus depuis que l’ensemble est devenu modulaire (Qt >= 4.0 si mes souvenirs sont bons).
Reste le langage sous jacent, le C++, qui a fini par m’éloigner de ce genre de solution. C’est un très bon langage dans l’absolu et ça restera mon “premier amour” côté OOP, mais c’est vraiment peu productif à l’écriture, je trouve.
ça n’engage évidemment que moi, mais amha hormis pour 1% des cas où on a vraiment besoin de tirer la quintessence de perfs d’un ordi, plus les choses avancent, plus je privilégie du langage plus ‘haut niveau’ plus productif à coder. A ce titre, Node et le JS font des merveilles. C’est un langage très permissif et donc dangereux pour un débutant ou un codeur pas très ‘carré’, mais pour qui a un bon passif par exemple en c, c++ et de la rigueur, c’est ultra productif et souple.
Le 14/12/2014 à 23h54
Nous sommes deux alors.
J’ai commencé avec Qt 4.3 pour une appli avec ce que qui est maintenant dans le module Widgets.
Depuis 2 ans, je fais une appli C++/QML. En parallèle, je me suis amusé à faire les adaptations necessaires iOS et Android, ça marche plutôt pas mal.
Cependant, ça fait quelques temps que je réfléchis à comment je pourrais me dispenser de ces applis iOS, Android, Desktop pour faire un truc uniquement web-based.
Le 17/12/2014 à 10h27
Je pensais à pouvoir intégrer facilement de la cartographie ou du cloud (images etc.) dans des applis natives, des choses comme ça.
Après je n’ai pas (encore, je me tâte à switcher) de tel sailfish donc je ne peux détailler plus ce que j’en attendrais concrêtement mais le côté petit écosystème marginal implique forcément des lacunes dans l’intégration des services disponibles a priori, notamment tout ce que font google/apple/ms avec la cartographie, la recherche etc.