[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Attempting to Create Obj-C Gecko Framework

From: Brian Powell
Subject: Attempting to Create Obj-C Gecko Framework
Date: Mon, 9 Apr 2001 10:19:58 -0600


My name is Brian Powell, and I am a member of the Q.Bati project over on SourceForge. Our goal is to create a native Obj-C (Cocoa based) browser based on Gecko (or NGLayout) for Mac OS X. Just as a background, Gecko is the rendering, parsing, etc. engine that is used in Mozilla. It is a fast, fairly small, standards compliant HTML/XML engine.

Most of the crew is currently working on porting Gecko to Mac OS X; however, I am focused upon creating a framework based around Gecko so that any Obj-C application based upon Cocoa or GnuStep can have HTML rendering capabilities. I believe that this could be an extremely valuable tool to each community whether it is Mac OS X or the amazing GnuStep.

Right now, because Gecko does not compile natively on Mac OS X, I am beginning my work on Linux with GnuStep.

I am writing to ask several questions as well as to attempt to enlist the support of the GnuStep community. First of all, the GnuStep group is (in my opinion) the community with the most Obj-C skills and domain knowledge. I have been working in C/C++/Perl/Java on Unix for over 10 years. I did Macintosh development in the early '90's, and am now going back because of Cocoa. I am learning Obj-C and am a novice at it.

So, questions:

1) Gecko is a C++ set of classes that do the parsing, rendering, etc. of HTML pages. It abstracts the user interface (because of its cross-platform nature); however, it is definitely geared around the Windows API. Therefore, when it needs a submit button, it calls a C++ method which, in turn, is supposed to create a button native to the platform. Herein lies the first problem. As far as I can find, I understand that C++ and Obj-C are not exactly friendly. Additionally, the M-V-C paradigm is not really followed in the Gecko way; however, here is how I see both of those problems being overcome: We create an additional C library which is called from the C++ classes. This C library, in turn, would call the Gecko frameworks controller (let's call it NGLController). The NGLController is written in Obj-C, and, correspondingly creates the button and handles the buttons messages, passing them back to the interfacing C library unto the Gecko C++ classes. Is this feasible? Do you see a better way?

2) Support? Is there support in the GnuStep community to build an Obj-C wrapped Gecko framework which build NSButton(s), etc.? I believe that this project (because it could be used by either Mac OS X or the GnuStep community) could be very valuable. I am not focusing upon the actual application, but, the framework. Once we have a nice framework that could be plugged into any GnuStep or Mac OS X application, it could be very valuable to all of the application writers out there. I would like to see 10 different browsers spring out of it. Competition of browser interface would bring some great innovations.

Please, feel free to write me directly if you are interested in contributing to building a Gecko framework, and also please discuss it on this mailing list. I would love to see the best solution come to fruition.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]