Was ist das beste HTML-Rendering-Engine in einer Anwendung einbetten? [geschlossen]
-
06-07-2019 - |
Frage
Im Moment unsere Anwendung verwendet die Trident Win32-Komponente, aber wir wollen weg von diesem bewegen, für ein paar Gründe, Leiter unter ihnen unser Wunsch ist Cross-Plattform zu gehen.
Wir suchen unter WebKit und
Lösung Eine wenig Geschichte könnte in Ihrer Entscheidung helfen. Als Apple erwäge, welcher Motor bei der Herstellung von Safari zu verwenden, sahen sie Gecko, entschied sich aber mit KHTML zu gehen, es gabeln und nannte es WebKit. Ihre Gründe dafür war, dass Gecko hatte Tonnen von Legacy-cruft noch Überbleibsel aus Netscape und war weit komplizierter. KHTML / WebKit war neuere und damit weniger Vermächtnis hatte. Es war auch saubere, schneller und besser dokumentiert. Eines der Ziele von Firefox 3 war die Codebasis zu bereinigen und vereinfacht es. Von dem, was ich gehört habe, tat sie dies tun, aber ich weiß nicht, wie es mit dem aktuellen Iterationen von WebKit vergleicht. Es war offenbar nicht genug für Google, wenn sie aus Chrom, und sie haben einen wesentlichen Anteil an Firefox. Siehe hier für weitere Details.
Andere Tipps
Ich bin voreingenommen, aber wenn Sie nichts dagegen haben, mit (LGPL-ed) Qt, was über die Verwendung von bezogene Beispiele .
Es hängt von Ihren Bedürfnissen. Auch kann Webkit zu viel des Guten, wenn Sie einfach nur alte HTML angezeigt werden soll. In einigen meiner Anwendungen verwende ich wxHTML statt. Es ist eine Komponente von wxWidgets-Bibliothek (nicht sicher, ob Sie es ohne wx verwenden können, obwohl). Es ist leicht, unterstützt nur einfache HTML-Sachen (einig CSS-Unterstützung könnte in der nächsten Version zur Verfügung steht), und hat eine wirklich schöne wxHtmlEasyPrinting Kontrolle, die sehr gut schöne Druckvorschau und auch Abzüge gibt. Wie für plattformübergreifende, arbeitet WxWidgets auf Windows, Linux, Mac und anderen Systemen, so dass sicherlich Ihre Anforderungen entspricht.
ich nicht empfehlen, die Gecko Straße hinunter. Es ist möglich, sie zu integrieren, aber es ist viel schwieriger zu tun, als KHTML / WebKit -., Nur weil Gecko nicht mit Einbettung im Verstand errichtet
Ich glaube, ich würde WebKit-Engine Safari / Chrome vorschlagen, die von KHTML, das Konqueror-Rendering-Engine abgeleitet wurden.
Versuchen Sie, für Webkit zu entscheiden, wie es von vielen verschiedenen Browsern (Konqueror, Safari und Google Chrome) verwendet wird. Dies macht Webkit vielseitiger und anpassungsfähiger an andere Bedürfnisse.
Die Entwicklung von Gecko ist sehr gebunden mit Firefox. Viele Modifikationen an Gecko sind getan, weil Firefox sie diktiert. So entschied Firefox 3, dass es würde alle selbstsignierte Zertifikate für Sicherheitszwecke zu blockieren. Die Umsetzung wurde in Gecko-Engine durchgeführt, was bedeutet, dass jede Anwendung, die Gecko hat diese Sicherheitsbeschränkung hinzugefügt, um sie einzubetten entscheidet.
Wenn Sie mit Webkit, wie es in erster Linie ein Rendering-Engine für HTML-Seiten bleiben. Das wurde mit der Absicht entwickelt, um zwischen den verschiedenen Web-Browser verwendet werden. Während Gecko ist in erster Linie das Rendering-Engine von einem einzigen Browser, der gerade geschieht, eine API zum Einbetten anbieten zu können.
Mein Verständnis ist Webkit ziemlich gut ist und kleiner als Gecko. Gecko soll eine Überarbeitung vor kurzem gehabt haben, die es ziemlich vergleichbar macht, though.