discuss-gnustep
[Top][All Lists]
Advanced

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

GNUstep WebKit and WebCore


From: stefan
Subject: GNUstep WebKit and WebCore
Date: Thu, 8 Jul 2004 18:19:54 +0200 (CEST)
User-agent: SquirrelMail/1.4.3a-1

Hi Steppers,

I thought it would be interesting for the community to know what's going on
with GNUstep WebKit now and in the future. GNUstep WebKit is the framework
that sit's on top of the GNUstep WebCore Port. The framework is largely API
compatible with Apples WebKit.

Currently, GNUstep WebKit is not very usable because it lacks many features.
Another problem is the WebCore port which is buggy and also a bit outdated.
During the last days, I spend some time thinking about the future and here is
what came out of my mind:

1) Make GNUstep WebKit almost feature complete so that applications can use
this framework. This is my highest prio topic and i'm spending most of my
time for it (when working on WebKit)

2) When WebKit get's to a usable state, I will start bug-fixing the
current WebCore
port. I expect this to happen in about two months.

3) Continue developing the SimpleWWW application along with WebKit. SimpleWWW
will be a very minimalistic browser, mainly used to test WebKit and as an
example.

4) Create a homepage and documentation for GNUstep WebKit. I already
started working on this.

5) Based on the experiences I made with the current port of WebCore, I
would like
to redo the port with the newest available version of Apples WebCore and
JavaScriptCore. I will definitely use Objective-C++ for this, it's on the way
and i'm updating my gcc cvs every day see if it's usable :-) Using ObjC++
will
result in leaving most of the original code from Apple unchanged, updating to
new versions of WebCore/JavaScriptCore will become more easy (it's almost
impossible with the current port without completly re-writing it). Another
step in
this direction is to develop a CoreFoundation emulation library that provides
the functions of Apples CoreFoundation that are used by JavaScriptCore and
WebCore (it won't be a complete CoreFoundation implementation and it's not
intended to be such). I recently started work on this and i will spend some
work on it from time to time to be prepared when ObjC++ becomes usable.
WebKit won't be affected much from a new WebCore port, I expect only minor
code changes since the biggets parts of WebKit are de-coupled from WebCore.
So the work I've spend on WebKit (and that's the most important IMHO) won't
be lost. As a result from this, we get the following steps:
5.1) Develop a CoreFoundation emulation library that provides exactly the
functions required for WebKit to work (nothing more). This library should be
well tested using Unit-Tests.
5.2) As soon as Objective-C++ becomes available, start a new WebCore port
that uses the CoreFoundation emulation framework from 4.1 beside the
native GNUstep API. The parts of the port that are expected to cause the
hardest work (namly the QString implementation if I remeber correctly :-)
could
be taken over from the current port.

I think of the current WebCore port as a sort of 'tracer bullet'. It has
been shown
that it is possible to use WebCore on GNUstep and that it works. However, a
really stable and feature-complete version will result from the next port.
For
those of you who are interested, I will create a new directory 'xCore-ng' (ng
for next-generation :-) in the gswebkit cvs in the next days . This directory
will contain all stuff related to the new port (CF-Emulation, JavaScriptCore,
WebCore, ...).

Ok, that's the roadmap. Of course, i could need help, so everyone who want's
to volunteer is very welcome. I'm still very busy in real-life at the
moment so
the time I can spend on WebKit is limited. I will start a master-course in
september
and i'm not sure whether I will have more or less time than now.

thanks to all the folks that supported me and kept me motivated over the
time.

please let me know what you think of this 'roadmap'

Stefan

The home of GNUstep WebKit at gna.org:
https://gna.org/projects/gswebkit







reply via email to

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