Apple Webkit ?

J. Scott Elblein

Well-known member
Joined
Dec 14, 2006
Messages
166
Location
Chicago
Programming Experience
10+
After playing around with Google's new Chrome browser, and seeing that it uses the Apple Webkit as it's renderer, I was thinking it might be cool to try and use it's browsing engine in my app rather than the IE one we get stuck with. It seems pretty speedy.

Before I install all of the libraries and requirements just to see if it's possible, I was wondering if anyone has ever tried doing this already, or know much about it? If so, is it as easy to work with as our built-in webbrowser component?

It's pretty intriguing.
 
I tried to Google the .net wrapper for Webkit, but can't find it anywhere.

I've looked at the source files for WebKit (Branches->WWDC-2008-Branches->Webkit->win), but I don't know where to begin to wrap up WebKit in .net...
 
SwiftDotNet

I came across a project called SwiftDotNet. It uses an old WebKit version, but there is source code, it runs with VS 05/08 and it comes with a test application.

I downloaded it and played with the code for a bit, but there are some limitations, the biggest one (at least for me) is that it doesn't support jumping to named anchors.

You can download the source from this url: swiftdotnet - Google Code

Let me know if you have any success, I'm trying to do the same thing!

I'll keep you posted if I come across anything else.


I also forgot to mention that I downloaded the latest nightly build of Chromium and tried to compile it, but there were some build errors. Keep in mind that I use VS08. I took the advice of those in the Chromium Dev forums to remove inline statements, but that doesn't seem to help yet.

It would be a real boon if the boys at Google could release a BrowserControl for us so we don't have to reverse engineer their code.
 
Gecko Engine Option

Instead of using the WebKit rendering engine, I came across a .NET control using the Gecko (Firefox) engine.

You can view the project details here: geckofx - Google Code

I played with it and it's not too bad. Startup time is a little slow, but once loaded, it's reasonably fast. Much better than the IE control.
 
I will definitely try out the gecko engine, thanks for pointing that out :)

I'd love to see this thread get a lot of attention. IMO as vb dev's, we seem to get stuck with just the one IE component, and it'd be great to have multiple options.

If I had the .NET skill, I'd tackle making a wrapper myself, but I'm still coming up from VB6 and learning the ropes yet. Sounds like something JohnH has the talents to do though *hint hint* lol :D
 
Htmllite

I gave up on the Gecko rendering engine, the XULRunner dependency is a little too much for me to comfortably include in a setup package. I'm now looking into the HTMLLITE.DLL component that Microsoft embeds in the Visual Studio setup.

From what I can gather it has support for most HTML/CSS properties, is extremely lightweight (dll is 173Kb) and provides <just> enough functionality for basic to intermediate HTML/CSS rendering.

The DLL is completely undocumented, so it's slow going right now. If I make any strides with it, I'll let you know.
 
HtmlLite is worthless as an embedded browser

I managed to cobble together a sample application using HTMLLite. Using the w3c.org homepage as a sample yielded unsatisfactory results. The rendered output of w3c.org does not even remotely resemble what I would view using any moderately modern browser.

Unfortunately, it looks like HTMLLite IS NOT an option for an embedded rendering and layout engine.

Has anyone had any luck creating a control from the Google Chromium (not Chrome, Chromium is the open source C++ code behind Chrome) code base?
 
Yes, I have looked into the htmllite.dll in the past with the same conclusion. I agree about the xulrunner as well, 18 MB's is a bit chunky to have to include in a setup just for another web component option. It does seem nice though.
 
I might be on to something...

I found QHTM from GipsySoft. It is a native C++ component that uses WIN API calls to render HTML. It's a singular DLL and lightweight. It's rendering speed is pretty good (not great), but more importantly, it's resource utilization is a fraction of FireFox (Gecko) or IE (Trident).

I may be onto something through API declares and type marshaling. My biggest stumbling block with it right now is sending and receiving Windows Messages from the DLL.

So far this looks like it will be a good option for an embedded browser.
 
Back
Top