discuss-gnustep
[Top][All Lists]
Advanced

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

Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))


From: address@hidden
Subject: Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
Date: 19 Mar 2007 01:59:48 -0700
User-agent: G2/1.0

On 19 Mrz., 01:07, Mark Rowe <address@hidden> wrote:
> Hi there,
>
> I feel compelled to mention the incredibly large amount of work that
> will be required to bring SimpleWebKit up to a reasonable standard of

originally I wasn't either.

But doing it has shown that it is not at all that complicated as
everybody initially thinks.

Especially emphasizing the main benefits of Objective-C,
implementations are achieved very fast, with lower effort than
anything in C++.

I myself now start to wonder why WebKit was ever based on Objective-C+
+. This meant a lot of additional complexity for the Apple gcc
compiler tream by mangling two languages that are not easily
compatible. Take this effort into account, and the picture looks quite
different.

And the main reason for me why I simple can't use WebKit is that I am
tied for historical reasons on some systems of gcc-2.95.3 which does
NEVER support Objective-C++.

> web compatibility. HTML, XHTML, and CSS are not simple specifications.

No, they aren't. But Objective-C-only makes them still simple to
implement.

> Supporting them to a sufficient degree to have a usable web browser is
> quite an task. Add in the requirement for handling technologies like
> JavaScript, the HTML and CSS DOMs, and browser plugins and you

I have worked the last days on JavaScript and fortunately it is fully
specified here including all the semantics:
http://www.ecma-international.org/publications/standards/Ecma-262.htm

It is quite trivial to follow these specifications and code them into
Objective-C. E.g. if it says "Evaluate expression", you write [expr
_evaluate]. So, I already have implemented the expression parsing and
evaluation stuff. Missing is the statement stuff, but that is pure
typing work - having the spec in one window and the code in the other.

> significantly increase the complexity and man-hours required.

Approx. 20-30 man hours so far for the JavaScript engine. Here is some
snapshot code to look at:

http://www.quantum-step.com/download/sources/mySTEP/SimpleWebKit/WebScriptObject.m

Well, coding is one side of the coin and debugging the other.
Experience shows that this takes approx. 5 times as much...

> A common misunderstanding is that the only complex part in creating a
> web browser is supporting "broken" web pages.  It is true that this can

I agree, that is not really complex compared to other aspects.

> complicate matters, but the fact that no major web browsers have
> *complete* support for the majority of web standards should give some
> idea as to how much work is involved in implementing them.  Internet
> Explorer and Mozilla have been developed over the last 10 years,
> primarily by full-time software engineers.
>
> When the original GNUstep port[1] of WebKit was attempted the codebase
> wasn't structured in a fashion conducive to ports.  There was no easily
> usable platform abstractions. Many portions of the code were in the
> Objective-C WebKit layer and were dependent on AppKit implementation
> details.  We have remedied many of these issues, and now have one very
> active port to the Qt toolkit, with further semi-active ports to Gdk
> and Windows. Adobe has also ported WebKit to their Flash-based
> rendering system. A lot of work has been put in to assisting porting
> efforts with the aim of increasing portability and helping WebKit work
> on as many platforms as is practical. I would strongly encourage any
> interested developers to consider porting WebKit directly rather than
> wasting a large amount of time in reimplementation.

Well, that is a completely different project goal.

The target of the SimpleWebKit re-implementation is *not* to work on
as many platforms as possible, just to work with GNUstep-GUI (mySTEP-
GUI and Apple AppKit for debugging) and nothing else. This keeps the
project much more concise. And, before porting to other GUI systems
like Qt, it is IMHO better to port full GNUstep to other platforms
since that is what it is designed for: a platform independent OpenSTEP
implementation.

So, SimpleWebKit is kept simple by *not* even trying to satisfy
everybody and to be portable to completely different GUI toolkits.

> Please get in touch[2] with us if anyone is interested in getting
> involved with porting WebKit to GNUstep.  It will almost certainly be a
> quicker means of having a fully-featured web browser on GNUstep than
> attempting to start from scratch.

Given the quite different goals of the projects, I see enough space
and need for both of them.

Please get in touch with the SimpleWebKit project if you favour the
direct, Objective-C-only approach and just want to have a browser for
GNUstep-GUI.

Kind regards,
Nikolaus Schaller



reply via email to

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