Grund zu bevorzugen CefSharp über CefGlue (oder Umgekehrt)?
In das Reich der Bereitstellung einer anständigen Umsetzung des Chromium Embedded Framework (CEF) für .Net, die beiden führenden Optionen angezeigt werden CefSharp und CefGlue. Sie unterscheiden sich in Ansatz (CefGlue verwendet P/Invoke aufrufen, in das CEF nicht verwaltetem code, CefSharp verwendet eine mixed-mode C++/CLI wrapper um die CEF-Bibliotheken).
Gibt es irgendein Grund, dass ein mixed-mode-Montage ist besser als P/Invoke-Aufrufe? Alle anderen Dinge gleich sind, wie es scheint, CefGlue (P/Invoke-lib) bietet ein "dünner" wrapper um die CEF-Projekt, das heißt, es wäre wahrscheinlich schneller zu reagieren und die updates in den upstream-Bibliothek.
Gibt es jemanden da draußen mit Erfahrung mit beiden Bibliotheken, die teilen können, was die Unterscheidung der Faktoren wäre?
- CefSharp Betreuer hier. Nicht sicher, warum dieses geschlossen wurde. CefGlue hat den Vorteil, dass Sie in der Lage zu laufen in Mono, zum Beispiel. CefSharp bietet WinForms-und WPF-Steuerelementen. Beide reagieren auf die updates, die in der vorgeschalteten Bibliothek Recht schnell. Ich bin in Kontakt mit dem Betreuer des CefGlue, er ist ein guter Kerl. Verwenden Sie einfach, was sich richtig anfühlt. Es gibt google groups einrichten, die sowohl für die CefSharp und CefGlue Projekte, fühlen Sie sich frei, zu Fragen, andere Fragen, die Sie vielleicht dort haben.
- Ich bin mir nicht sicher, entweder, vielleicht durch die (generische) Verdienste von P/Invoke vs C++/CLI-Wrapper diskutiert wurden auf dieser Seite schon an anderer Stelle. Für was es Wert ist, ich mich eingelebt habe auf CefSharp (wie Sie vielleicht schon erraten haben, die aus meinen letzten pull-request). Ich werde Sie weiter verfolgen beide Projekte, obwohl...
- warum zur Hölle wurde dieses geschlossen?
- Nach 2 intensiven Tagen mit CefSharp, ich habe das Gefühl, dass die meisten von der "tiefere Sachen" nicht (absichtlich?) umgesetzt in CefSharp aber nur in CefGlue. E. g. Zugriff auf das DOM, bestimmte Ereignisse, etc. Wahrscheinlich haben zu wechseln CefGlue oder dazu beitragen CefSharp (wenn ich endlich verstehen, dass Github Zeug).
Du musst angemeldet sein, um einen Kommentar abzugeben.
In gewissem Sinne sind Sie etwa die gleiche und je nachdem, was würden Sie wählen, sollten Sie in der Lage sein, um Weg mit in 2014. Wir hatten diese Frage vor einiger Zeit-und hier, was wir haben comeup mit:
CefSharp
Pluspunkte:
Nachteile:
CefGlue
Pluspunkte:
Nachteile:
Es ist 2018. Das Projekt Geschicke haben sich ziemlich geändert. CefSharp ist lebendig und gut, mit fast täglichen updates in das github Depot. Probleme werden immer gelöst, derzeit nur 57 offene Fragen und 1787 geschlossen. CefGlue scheint nicht gut zu tun. Die mailing-Listen sind in Vergessenheit Gerät, gibt es nicht seit den letzten updates. Es gibt zwei forks auf github, die gelöst-Fragen über die zuletzt veröffentlicht CefGlue version.
Die Grundlagen haben sich sonst nicht geändert. CefSharp nimmt eine Abhängigkeit von C++/CLI-code, ursprünglich eine einfache Möglichkeit, um die .NETZ-zu-C++ - interop gehen. Aber das funktioniert nur auf einem Windows-Rechner und in einem Projekt, die Ziele, die die volle desktop-version von der .NET Framework.
Aber nicht Mono, nicht .NETCore (relevant für Xamarin und UWP-apps) oder einer beliebigen Bibliothek oder ein Projekt, das gedacht, um tragbar sein, um zu einem anderen OS. C++/CLI ist nicht eine option in einem solchen Szenario und pinvoke muss das fallback. So CefGlue.
Ist es jetzt zu spät 2018 und es ist düster aussah ehrlich.
CefSharp, während in der aktiven Entwicklung und einigermaßen gute Dokumentation, noch nicht unterstützt .Net-Core-oder Mono -, wodurch es unbrauchbar für alles .Net Core .Net Standard-oder Mono-bezogene (wir verwenden ausschließlich Linux-Server, die für die Produktion, so ist dies ein schwer nicht traurig).
CefGlue, im Vergleich dazu offensichtlich keine Unterstützung .Net Core/Mono nach dem anderen Poster. Jedoch, und das ist wichtig, das Projekt bewegt, um Gitlab und die keine Lizenz verknüpft. Die Website ist auch nicht erreichbar (zumindest die, die ich gefunden) und die Dokumentation ist nicht vorhandenen.
Es ist ein fork hier die scheint inaktiv zu sein aber wieder. Es gibt auch einen inoffiziellen port auf .Net Core hier, aber das scheint eine harte Abhängigkeit auf Avalonia.
Allerdings gibt es Chromely, das scheint zu unterstützen, die cross-Plattform und basiert auf CefSharp und CefGlue (und inoffizielle ports von denen). Wie es scheint, ist eine voll flegded browser, obwohl, und nicht eine Bibliothek für die Einbettung von etwas in Ihrer Anwendung.
Da war ich zunächst auf der Suche nach eine einfache Möglichkeit zum einbetten von einer headless-browser in meiner Bewerbung für das Crawlen Zweck (die Beseitigung der Notwendigkeit, installieren Sie Chrome) habe ich auch einen Blick auf Awesomium, aber Sie scheint umgezogen zu einem neuen Projekt namens "Ultralight", der keine Unterstützung für C# und hat keine Bindungen für es im moment.
Als ein letzter Versuch es scheint Optimus, scheint das zu unterstützen .Net Standard und ist eine vollständige Umsetzung der WebBrowser im .Netto, minus GUI. Ich werde versuchen das hin, und vielleicht Bearbeiten Sie diese Antwort, wenn es funktioniert (oder nicht).
Abgeschlossen Artem Antwort, CefSharp bietet nur grundlegende javascript-integration mit C# in der Erwägung, dass CefGlue bietet eine sehr vollständige integration der Lösung, indem Sie alle javascript-Bindungen angeboten von CEF.
Bezüglich Nugets Paket, das ich erstellt habe CEFGlue nuget-Pakete für .Net 4.5 targeting 3.2272.2035 CEF-version : Inoffizielle.CefGlue.WPF und Inoffizielle.CefGlue.WindowsForm.