Embedding Mozilla in Mac OS X Cocoa Apps
JimCricket writes "Art & Logic has published a new article: Embedding Mozilla in Mac OS X Cocoa Apps . The author presents a detailed step-by-step guide for Mac OS X developers that want to use Mozilla within their applications."
Why would you embed Mozilla, which is acknowledged to be bloated even by its supporters, instead of Apple's WebKit (based on KHTML, used in Safari)?
WebKit Docs
I don't even wanna know why you'd want to embed the whole frickin' browser in anything, rather than just the renderer. And if you're going to embed the renderer, then just use the system one in WebCore, based on the KHTML renderer.
the answer to your "question" is in the FIRST SENTANCE of the article.
most of the "kruft" that has "bloated" gecko is in fact the kind of support code that's slowly being added by apple to kthml to get it to support the *REAL* web.
Huh? No, Gecko is over 1 million lines of code, more than 10 times the size of KHTML. Most of that is stuff like their own string and basic container classes. (Why do people feel compelled to write THEIR OWN fundamental library classes? It boggles.)
but just around the corner there are *hundreds* of other sites, already workin in gecko mind you, that kthml is going to have to hack around
Hundreds? Doubtful.
its horribly naive to think that in 1 years time when khtml comes close to approaching where gecko is *now* (not to mention where gecko will be in 12 months) that khtml will still be as light and clean as it is now
Except that KHTML is already superior to Gecko NOW. You seem to have missed that little tidbit.
For most programmers, we are just looking for a way to embed a small HTML rendering system so that we can display documentation, help, or someother hyperlinked document. Quickly too, so that we can easily get back to making a quality application. Gecko is a huge project and if you want to use it as the basis for an application more power to ya.
However, Apple has the edge here with WebCore, you can now make a generic web browser without a single line of C/C++/ObjC code. Using only project builder, Interface Builder and WebCore, you can create a custom browser. It won't have many options, but it's quick and easy. Takes like 10 minutes to get working if you have all the tools installed.
You seem to be forgetting the VITAL point that Apple REFUSES to release a new version of Safari, and therefore the WebKit, if it is at ALL slower that the previous version. This is a definate fact that Apple hangs on to dearly and could be why there are still a few places that they need touching. As per WWDC, sometimes coders kind of cheat by optimising another part of the code so that their new code does not slow down the browser but as long as the end result is that the new build runs at least as fast as the previous build, Apple will release it. If it is at all slower than the previous build, Apple refuses to let it out of the closet.
Safari ain't the bee's knees as far as I'm concerned, although I'm using it right now. It's got lots of advantages, sure, but it's still not handling as many pages as Mozilla for OSX. Mozilla 1.4 is fast and stable, and runs on almost everything. Safari is fast and stable and you need to be running OSX to use it.
Explorer is the world-wide de facto standard right now; it's a bad browser with a lot of propritary drek in it, and much more coming down the line, including possibly a subscription service. Why not embed Mozilla in everything? Since it's cross-platform, open source, and pretty good?
How would you rather do your online banking five years from now?
A) With Windows, which charges you $1,000 a month just for the right to use Explorer?
B) With Safari, which comes with a $25,000 entry-level iMac?
C) With Mozilla, which is free, and which will run on almost anything?
Mozilla isn't the be all and end all of browsers, but it's cross-platform, open-source, and runs all right. Nothing to sneeze at.
I noticed recently that there's work going on to embed SDL in Cocoa Apps, here's a link to some sample code:
5 54 35.html
"Mac OS X Cocoa Integration Patch and Sample Code"
http://www.libsdl.org/pipermail/sdl/2003-July/0
In theory, with this in place I believe it should also be possible to embed SDL in Mac OS X wxWindows apps, once the 'GetHandle' functionality is implemented there.
That's kind of the whole point of the Camino Project. Why reinvent the wheel?
mbbac