CefSharp – Embedded Chromium for .NET
github.com
github.com
We ended up ripping out Awesomium from our product and replaced it with CefSharp. Now we don't get held up by Awesomiums crappy support because we can just fix our problems ourselves. We couldn't be happier. That said, it would be nice if there was commercial support for CefSharp. We have a team of full time native developers who have to deal with CEF issues that would be nice to put on somebody else's plate. Anybody know if there is such a thing?
We currently do not offer premium, priority support plans for our commercial licensees. We will announce such plans if they become available in the future.
So Caveat emptor.
[0]: http://wiki.awesomium.com/licensing/licensing-overview.html
Sad to see you felt I had zero empathy to your plight, a full refund was approved just weeks after your license purchase.
Awesomium team, if you're reading; guys! Get your customer relations sorted out! Answer every damn forum post! Make people love you! Many developers are using the free version of your product, but these are the same developers who will recommend that their employer buy your product. Your failures in these departments have stopped me from coming back or recommending your product to others. I can't speak for others, but I wouldn't be surprised if others feels the same way.
Disclaimer: I say all this with no knowledge of how overworked or understaffed you are, what technical problems you're currently facing, how much time you would need to spend answering questions or why the time between updates to your product is so huge.
For what it's worth, we have made huge progress on R&D these past 20 months and will be announcing the fully redesigned 2.0 soon. (And you can be damned sure we will be onboarding more customer support in preparation for the next product cycle)
Also, be frank and honest about issues that you are aware of but don't have time to fix right now. If you don't have an answer because there's no time for it right now, tell people. They will appreciate the honesty, even if it doesn't solve their problem right now.
PS. for anyone reading, if you love UI and got a C++ or C# background, we're hiring! Email me at adam@awesomium.com
Pity that: means it won't even compile on other platforms. It's always better to make a pure extern "C" wrapper around the C++ library that you are using and P/Invoke that from the CLR.
Furthermore, I work on a roughly 1MLOC C++/CLI codebase daily. Their one is "small" and, trust me, they had better hope it stays that way. C++ is a great language, CLI is great runtime, mix the two and you're going to have something that approaches damn near zero maintainability.
If you are targeting Windows and don't need features that are specific to Chromium, I recommend the WebBrowser control above the others, because it will save you quite a bit of file size in your application, along with less memory usage.
Unfortunately, the WebBrowser control defaults to an IE7 compatibility mode, which is where it's gotten much of its bad reputation. However, you can force it into IE11 mode, assuming that the user's machine does have IE11 installed. (And if you are producing a Windows app, customers who have refused to update their systems to IE11 are probably customers not worth supporting.)
Oddly enough, there is no API to do this. You have to write a value to the registry listing your .exe filename and the IE version you want to use. But this value is in HKEY_CURRENT_USER, so you don't need administrator privileges or a UAC prompt to do this.
WebBrowser also sends an IE7 UserAgent string by default, but you can easily override that.
I posted the code for both of these tweaks in the MarkdownPad forum, where I was encouraging the author to use the WebBrowser control instead of Awesomium which the product currently uses:
http://forums.apricitysoftware.com/t/why-is-markdownpad-spaw...
(Friends at Awesomium, don't take offense! I just think WebBrowser is a better match for MarkdownPad, since it doesn't need Chromium features and IE11 compatibility would be plenty good for their needs. They actually used the WebBrowser originally but switched to Awesomium because the author didn't know how to force WebBrowser into IE11 mode!)
The problem I have with both Awesomium and Coherent UI, besides the large file size, is that they are both stuck on old versions of Chromium: IIRC Coherent is somewhere around Chromium 31 and Awesomium is in the upper 20's. (Sounds like there is a new version coming out though.) CEF keeps much more up to date on the Chromium versions; not sure about CefSharp.
Coherent has nice integrations for Unity and Unreal Engine, including hardware acceleration, which was a real problem when I tried to integrate CEF into Unity a year ago. (This has no doubt been resolved by now, but at the time Chromium was going through a restructuring of the hardware rendering pipeline and CEF just bailed out on it for a while.)
I did a fun little project with Awesomium (originally for the late great OnLive) that composited multiple WebViews transparently on top of each other so each one ran in its own thread. Kind of like stacking transparent iframes but without the single-thread limitation:
CefSharp is itself a wrapper (for .Net) around CEF I believe. Currently on Chromium 41.
It wasn't possible to do with IE.