discuss-gnustep
[Top][All Lists]
Advanced

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

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


From: address@hidden
Subject: Re: GNUstep Web browser (was Re: WebKit Bounty)
Date: 4 Mar 2007 03:09:27 -0800
User-agent: G2/1.0

On 4 Mrz., 09:08, Richard Frith-Macdonald
<rich...@tiptree.demon.co.uk> wrote:
> On 3 Mar 2007, at 22:58, Riccardo wrote:
>
>
>
> > Hi,
>
> > On Friday, March 2, 2007, at 09:29 PM, h...@computer.org wrote:
>
> >> I think it is worth to mention SimpleWebKit here - a rough
> >> implementation of
> >> WebView, WebFrame, WebFrameView, WebDataSource etc. - completely
> >> written
> >> in Objective-C without any C++. The reason is that it must cross-
> >> compile
> >> on gcc 2.95.3 for some ARM processors.

Again, that was the motivation to start a new implementation and
forget about
porting full WebKit although it is much more powerful, better tested,
more complete, etc...

>
> > I think it is a pretty good idea. If done well it should end up in  
> > a cleaner implementation than apple's and also more manageable. Of  
> > course it will never reach the completeness of WebKit, since even  

Why never? It is just a matter of effort and how future develops.

Currently it includes:
* HTML raw parsing
* DOM Tree
* WebView, WebFrame etc.
* URL Loading

Missing is:
* Converting DOM into a View hierarchy (i.e. really showing
content...)
* CSS
* JavaScript

> > WebKit pales compared to Gecko. But it could end up being more  
> > portable, more efficient and what is good even a good option since  
> > you say ti is a reimplementation. As I read it, one browser could  
> > use one or the other without big effort.

The target is without *any* effort - just change which framework to
link to.

> > It could be used in a light-browser as well as in applications were  
> > an embedded HTML/XHTML engine is needed.

Every place where you use a WebView. For whichever purpose.

BTW: AttributedStrings can be initialized from a HTML file. This asks
a dynamically loaded WebView to do the dirty work and then extracts
the strings from the DOM. This is easily implemented in Obj-C.

> > Of course it should en handling real-world pages decently, but  
> > before worrying of that (links does it and even dillo improved a  
> > little) it should display correct pages correctly. The rest is  
> > added "burden" actually.
>
> > Would you consider signing FSF and making it LGPL available in  
> > gnustep?

I thought that it is already LGPL since it is part of the mySTEP
project - but I have found that it is nowhere mentioned explicitly the
individual header files.

I already have an FSF assignment for "changes to GNUstep" but I have
no idea if adding a new framework is a change to GNUstep or a new
project... That is something FSF has to decide.

>
> I think that would be good ... not because I'm saying that this  
> *should* be the approach taken, but because I think there is room for  
> more than one approach.  In my estimation a port of WebKit is likely  
> to yield a 'complete' (ie usable across a very wide range of web  
> pages) solution more quickly, but the re-implementation approach will  
> probably produce something which can be used for viewing  
> documentation and other automatically generated (relatively bug-free)  
> pages quickly.
>
> I guess the re-implementation approach won't meet the conditions of  
> the bounty, but on the other hand it's probably a lot more fun to code.

Exactly.

> Anyway, while I'm very much against duplication of effort generally,  
> that doesn't mean that we shouldn't try two approaches in parallel if  
> people are interested in doing both.  Free software is largely about  
> people have fun doing what they want to do.

What I did not understand was the comment of some guys in earlier
mails that they do not like reimplementation but want to port WebKit.
Then, they find that it not only needs ObjC++ but also Core
Foundation. Therfore, they invent a wrapper for Base to have the CF
API (Apple btw. does it the reversed way). So, this is no
reimplementation...

Finally there have been questions for a simple web browser skeleton -
here are some references:

The most simple browser is a single WebView in a NIB file.

http://www.quantum-step.com/download/sources/mySTEP/Test/SimpleWebKit/
- this is how I test SimpleWebKit
file:///Developer/Examples/WebKit/MiniBrowser (I think there is no
direct download)
file:///Developer/Examples/WebKit/DOMTreeView

The latter two compile and link now with SimpleWebKit but I have not
tested (since there are still a lot of changes needed to make DOM
working).

-- hns



reply via email to

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