Dans cette première préversion, l'équipe de R&D s'est concentrée sur l'intégration avec Qt ainsi qu'avec Qt Quick. Cela prépare le terrain pour des performances optimales ainsi qu'une expérience de navigation riche.
Voyez dans la vidéo qui suit comme Qt WebEngine s'intègre facilement dans Qt Quick :
Pour le moment, le support de Linux et de OS X est assuré et les équipes travaillent aux ports sur d'autres plates-formes telles que Windows. Il existe une API préliminaire pour Qt Quick ainsi que pour Qt Widgets. L'implémentation pour Qt Quick s'intègre directement avec le graphe de scène et permet donc de très bonnes performances quant au contenu web accéléré. L'API Widgets est conçue pour faciliter la transition depuis QtWebKit. Gardez bien en tête que ni la version Qt Quick ni l'API Widgets ne peut être considérée comme stable. À ce stade, la compatibilité source et binaire n'est pas garantie.
Comment se procurer le code
Une archive peut être téléchargée depuis le site du projet Qt.
Si vous choisissez de cloner le dépôt Qt WebEngine, faites attention de bien choisir la branche v0.1.0-tp1 puis suivez les instructions présentes sur la page Gitorious : https://qt.gitorious.org/qt-labs/qtwebengine
Comment compiler
Qt WebEngine nécessite Qt 5.2 ou supérieur. Tout ce que vous avez besoin de faire est d'exécuter qmake puis make install dans le dossier des sources. En interne, le processus de compilation utilise gyp ainsi que ninja, mais ne vous inquiétez pas, tout cela est caché.
qmake && make install
Notez que l'étape make install est nécessaire afin de mettre toutes les ressources nécessaires à Chromium au bon endroit. Dans le cas contraires, les ressources i10n et Inspector ne seront pas trouvées.
Exemples inclus
Le dépôt Qt WebEngine inclus des exemples à la fois pour Qt Quick et pour Widgets dans le sous dossier examples/.
- QuickNanoBrowser est un exemple de navigateur multi-onglets utilisant Qt Quick. Il peut être vu comme une vitrine technologique quant aux performances de rendu de contenu WebGL.
Afin de partager efficacement les textures avec le graphe de scène, des contextes partagés ont été utilisés. Pour plus de détails sur cela, jetez un œil au fichier quicknanobrowser/main.cpp.
Dans le cas où vous auriez plusieurs cartes graphiques installées sur votre système, vous pourriez avoir besoin de passer l'argument –supports-dual-gpus lors du lancement ; - Browser est le navigateur d'exemple de Qt basé sur QtWebKitWidgets et porté sur Qt WebEngine. Plusieurs fonctionnalités manquent toujours à l'appel mais ce programme constitue un excellent exemple de portage d'une application de QtWebKit vers Qt WebEngine.
- FancyBrowser est un autre exemple porté depuis Qt WebKit Widgets. Il montre l'interaction avec du contenu web utilisant jQuery ainsi que la méthode asynchrone runJavaScript.
Limitations
Qt WebEngine utilise actuellement la couche réseau de Chromium. De ce fait, il n'existe pas encore d'intégration avec QNetworkAccessManager. Aussi, le plug-in Flash d'Adobe n'est pas encore supporté.
Alors que le rendu du contenu web est déjà d'un très bon niveau, les API ne sont pas totalement complètes. Ainsi, il manque à l'API Widgets différentes fonctionnalités, les équipes travaillent néanmoins à résoudre ces problèmes.
La suite
Une alpha ainsi qu'une beta de Qt WebEngine sont prévues avant la mi-2014. La version alpha devrait apporter le support de Windows. En plus de cela, les efforts de développement seront maintenus sur Qt Quick ainsi que sur l'API Widgets API afin de supporter toujours plus de cas d'utilisation.
Comment remonter ses retours
Si vous découvrez des bogues ou si vous avez des demandes de fonctionnalités spécifiques, merci de compléter un rapport de bogue sur l'application de suivi des bogues, pour le projet Qt et le composant WebEngine.
Plus d'informations
Un wiki, encore minimal, est disponible.
Si vous prévoyez de contribuer au développement, merci de vous inscrire à la mailing list ou rejoignez le canal freenode #qtwebengine.
Source : « Qt WebEngine Technology Preview Available »