Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le retour de Qt WebKit ?
Des développeurs entreprennent la mise à jour du module, mis de côté avec Qt 5.6

Le , par dourouc05

0PARTAGES

7  0 
Pour sa version 5.6, Qt officialisait l’abandon du module Qt WebKit, qui intégrait un moteur de rendu Web dans des interfaces Qt : WebKit, le moteur de Safari et dont dérive celui de Chrome (Blink). Ce module a été remplacé par Qt WebEngine, qui se base sur un moteur bien plus complet : Chromium, intégrant à la fois une pile réseau et multimédia. Qt WebEngine est bien plus lourd et monolithique que son prédécesseur, ce qui n’est pas sans poser quelques problèmes de distribution.

De plus, le passage de Qt WebKit à Qt WebEngine ne se fait pas sans douleur, puisque les interfaces sont assez différentes et que Qt WebEngine ne fournit pas le même degré d’intégration à Qt. Aussi, Qt WebEngine n’est pas exploitable à un niveau assez bas, pour travailler directement dans le DOM ou effectuer un rendu hors écran, ce qui est très utile pour toutes les applications devant traiter des pages Web.

C’est pourquoi certains développeurs se sont lancés dans un projet de réhabilitation de Qt WebKit, en mettant à jour la version utilisée du moteur tout en gardant la même API et ABI. Bien que ce projet soit encore à l’état embryonnaire, cette mise à jour apporte bon nombre d’avantages par rapport aux dernières versions officielles du module, notamment au niveau des fonctionnalités disponibles en JavaScript (une bonne partie d’ES2015) et des API HTML5 (WebAudio, images adaptées à la résolution). Le développement est loin d’être terminé : l’API widgets est relativement prête, mais pas du tout côté QML. Des API HTML5 comme IndexedDB et WebGL ne sont pas disponibles, ni les extensions (tant côté Qt que NPAPI).



Cependant, au niveau des plateformes compatibles, la liste s’amenuise par rapport à l’itération précédente de Qt WebKit : pas d’Android, de QNX ou de WinCE. L’un des freins au module existant était la nouvelle API de WebKit, mais les développeurs de ce nouveau projet ne sont pas sûrs de travailler sur une compatibilité avec Windows pour cette API WebKit 2. De plus, les développeurs de WebKit ont une politique nettement plus agressive au niveau des normes C++ utilisables dans leur code : ils sont passés depuis longtemps à C++11 (alors que Qt s’apprête seulement à franchir ce pas avec Qt 5.7) et C++14 dans les versions de développement actuelles. En d’autres termes, le choix de compilateurs se restreint.

Pour toutes ces raisons, il apparaît de manière relativement claire que ces efforts ne pourront pas se faire sous le nom de Qt WebKit, pour éviter la confusion avec le module précédent : ces efforts pourraient se nommer WebKitQt (comme les autres ports de WebKit) ou Qt WebKit NG (le nom de code interne actuel). En plus d’autres considérations pratiques, comme un alignement sur WebKitGTK, le planning des versions ne sera que rarement aligné sur celui de Qt. Par conséquent, WebKit ne fera probablement jamais son retour parmi les modules distribués d’office avec Qt, mais plutôt comme extension, téléchargeable à la carte… ce qui n’empêchera pas le développement sous l’ombrelle du Qt Project.

Sources : [Development] QtWebKit is coming back, [webkit-qt] [Announcement] QtWebKit Technology Preview 1.
Voir aussi : le site de Qt WebKit Reloaded.
Ce contenu a été publié dans Qt par dourouc05.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Kaamui
Membre expérimenté https://www.developpez.com
Le 31/07/2019 à 10:43
Pour information, le développement a repris activement.

https://forum.qt.io/topic/102816/webkit-status-2019
https://github.com/qtwebkit/qtwebkit/issues/812

Pour le moment, le développeur a suffisamment de financement pour garantir que Qt WebKit fonctionnera sous Linux et, dans une moindre mesure, sous Windows. Si vous souhaitez le supporter : https://www.patreon.com/annulen
3  0 
Avatar de epsilon68
Membre éprouvé https://www.developpez.com
Le 13/06/2016 à 19:42
Je pense que webkit1 est necessaire pour les applis hybrides, pas besoin d'isolation des processes, il faut pouvoir controler les flux, avoir une api pour chercher les elements cotes c++ car c'est tres penible de le faire en javascript. Qt s'est un moment trop concentré sur webkit2 qui ne touchait presque personne et ils avaient deprecié tout ce qui etait utile pour les applis hybrides. D'ailleurs, la preuve est que cocoa (macos) ne propose que webkit1 a embarquer dans les applis.

De plus je n'ai pas compris ce choix d'aller avec blink. On sait tous que google n'est pas un bon choix, l'experience avec V8 aurait quand meme pu leur mettre la puce a l'oreille.

Alors merci aux personnes qui reprennent webkit, je pense que ca va avoir un grand succes.
1  0 
Avatar de maitredede
Membre régulier https://www.developpez.com
Le 14/06/2016 à 6:22
L'effort est grandement appréciable.

J'espère juste que QtWebEngine ou QtWebkit arriveront un jour à avoir un tuto complet et/ou puissent compiler sur Raspberry Pi. Avec la version 5.6, je ne suis pas encore arrivé à utiliser un seul module pour afficher du HTML...
0  0 
Avatar de Kaamui
Membre expérimenté https://www.developpez.com
Le 13/05/2019 à 10:37
Avez-vous plus de nouvelles concernant cette potentielle réintégration ?

Je travaille sur un projet open-source basé sur Qt 5.5.1 et je commence l'étude d'un portage vers 5.9 (voire plus).

Ma problématique est la suivante : une grosse partie du code repose sur l'utilisation de QGraphicsWebView, qui n'est tout simplement pas supporté par WebEngine.

Qt WebEngine is designed for being used with hardware acceleration. Because we could not support a web view class in a QGraphicsView unless it would be attached to a QGLWidget viewport, this feature is out of scope
Je me demande sérieusement si le maintien de Qt WebKit comme une dépendance tierce dans ce projet pourrait être une solution acceptable (voire recommandée si bientôt de retour dans Qt).

Le repo git n'a pas l'air de beaucoup bouger depuis 2017 vous savez pourquoi ?
0  0 
Avatar de Jiyuu
Rédacteur/Modérateur https://www.developpez.com
Le 12/08/2019 à 17:54


Est-ce qu'une version Windows MinGW sera prévue ? Je ne vois rien dans les binaires. Peut-être faut-il partir des sources et faire soi-même la compile. Mais est-ce facilement réalisable ?

Ciao.

J
0  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 12/08/2019 à 17:59
Aux dernières nouvelles, WebKit2 ne pouvait pas être compilé avec MinGW, sauf à chipoter dans tous les sens… Ou alors ça a récemment changé ?
0  0