Le contrôle WPF WebBrowser basé sur Internet Explorer souffre de certains problèmes de clavier et de mise au point et de problèmes de fuite de mémoire . Comme solution alternative à ces problèmes, nous considérons les options disponibles pour l'hébergement de Chromium au lieu du contrôle WebBrowser dans notre projet WPF / C # basé sur l'édition HTML. Des questions similaires ont déjà été posées ici. J'ai lu les réponses et fait mes propres recherches, mais j'espère obtenir plus de commentaires de personnes qui ont effectivement utilisé l'une des options suivantes dans des projets de qualité de production :
Cela semble très approprié, mais je n'aime pas le fait que le projet ne soit pas open-source et que la source complète ne soit pas facilement disponible. En outre, cela pourrait être excessif pour notre projet, car le rendu hors écran n'est pas quelque chose dont nous dépendons vraiment.
Chromium Embedded Framework (CEF) et liaisons .NET pour CEF
C'est probablement la meilleure option actuellement disponible. Le projet semble être vivant et actif, actuellement synchronisé avec Chrome v27. CEF3 utilise l'architecture multi-processus Chrome. Il semble également qu'Adobe lui donne une certaine approbation .
Alors que le but initial était d'être un plugin HTML5 pour IE et Firefox, il fonctionne également en tant que contrôle ActiveX autonome, donc je pourrais l'envelopper pour une utilisation avec WPF. Il expose une API suffisante pour l'interaction avec la page Web interne ( onmessage, addEventListener/removeEventListener, postMessage
). Je sais que Google doit interrompre Chrome Frame, mais je suppose que les sources resteront dans le référentiel Chromium. Il ne devrait pas être difficile de le mettre à jour avec le dernier code Chromium au fur et à mesure, et nous aurions un contrôle total sur cela.
Pas exactement à base de chrome et n'utilise pas de moteur V8, ce n'est donc pas vraiment une option.
Y a-t-il une autre option que j'aurais pu négliger?
J'apprécierais beaucoup si quelqu'un partageait son expérience avec l'une des options ci-dessus pour un projet WPF de qualité de production réel. Avez-vous eu des implications d'intégration, de licence ou de déploiement? Je vous remercie.
[EDITED] Je voudrais également remercier artlung d' avoir donné un coup de pouce à cette question en proposant une généreuse offre de primes.