List Info

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




SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
country flaguser name
Germany
2007-03-06 07:40:15
Although threre has been a lot of scepticism if the approach
of
reimplementing the WebKit API in pure Objective-C is
reasonable and a
lot of discussion where to start at all, I have rendered the
first
pages as you can see here:

http://www
.quantum-step.com/images/web.png

On the left side is the NSLog() of the DOM tree when I link
against
Apple Foundation and AppKit (which makes the development
cycle very
fast).

I will try to track the current status here:
http://www.quantum-step.com/wiki.php?page=SimpleWebKit


Currently implemented is:
* loading from the network by using NSURLConnection wrapped
into
WebDataSource
* HTML parsing (by using an extended NSXMLParser from
Foundation)
* HTML to DOM tree translation
* DOM tree to NSAttributedString translation
* display in an NSTextView
* WebFrame, WebFrameView
* WebView

Missing is
* CSS
* Embedding and displaying images, forms etc. in an
attributed string
* formatting of tables
* several formatting rules are missing
* JavaScript
* Plugins
* Anchors
* Frames
* Cookies

Fortunately, Riccardo Mottola will help to make it compile
and run
with GNUstep base and gui (which shouldn't be too
diffcult).

Nikolaus Schaller

_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustepgnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
country flaguser name
United States
2007-03-18 19:07:17
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 
web compatibility. HTML, XHTML, and CSS are not simple
specifications. 
Supporting them to a sufficient degree to have a usable web
browser is 
quite an ask. Add in the requirement for handling
technologies like 
JavaScript, the HTML and CSS DOMs, and browser plugins and
you 
significantly increase the complexity and man-hours
required.

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 
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.

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.

Kind regards,


Mark Rowe
WebKit developer
<http://bdash.net.nz/>



[1] <https://gna.o
rg/projects/gswebkit/>.
[2] <http://webkit.org/
contact.html> has a number of types of contact 
info, with IRC usually being one of the more active means.


On 03/07/07, "hnscomputer.org" <hnscomputer.org> said:

> Although threre has been a lot of scepticism if the
approach of
> reimplementing the WebKit API in pure Objective-C is
reasonable and a
> lot of discussion where to start at all, I have
rendered the first
> pages as you can see here:
> 
> http://www
.quantum-step.com/images/web.png
> 
> On the left side is the NSLog() of the DOM tree when I
link against
> Apple Foundation and AppKit (which makes the
development cycle very
> fast).
> 
> I will try to track the current status here:
> http://www.quantum-step.com/wiki.php?page=SimpleWebKit

> 
> Currently implemented is:
> * loading from the network by using NSURLConnection
wrapped into
> WebDataSource
> * HTML parsing (by using an extended NSXMLParser from
Foundation)
> * HTML to DOM tree translation
> * DOM tree to NSAttributedString translation
> * display in an NSTextView
> * WebFrame, WebFrameView
> * WebView
> 
> Missing is
> * CSS
> * Embedding and displaying images, forms etc. in an
attributed string
> * formatting of tables
> * several formatting rules are missing
> * JavaScript
> * Plugins
> * Anchors
> * Frames
> * Cookies
> 
> Fortunately, Riccardo Mottola will help to make it
compile and run
> with GNUstep base and gui (which shouldn't be too
diffcult).
> 
> Nikolaus Schaller





_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustepgnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
country flaguser name
Germany
2007-03-19 03:59:48
On 19 Mrz., 01:07, Mark Rowe <b...webkit.org> 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/publicati
ons/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/do
wnload/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

_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustepgnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
user name
2007-03-19 04:51:21
On 19 Mar 2007 01:59:48 -0700, hnscomputer.org <hnscomputer.org> wrote:
[...]
> I myself now start to wonder why WebKit was ever based
on Objective-C++
[...]

The fact that WebKit is based on KHTML may have had to do
with that decision.

-- 
Chris


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustepgnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
user name
2007-03-19 05:01:55
On 3/19/07, Chris B. Vetter <chris.vettergmail.com> wrote:
> On 19 Mar 2007 01:59:48 -0700, hnscomputer.org <hnscomputer.org> wrote:
> [...]
> > I myself now start to wonder why WebKit was ever
based on Objective-C++
> [...]
>
> The fact that WebKit is based on KHTML may have had to
do with that decision.
>

Maybe apple thought that an objective-c only solution is not
worth it?
Apple obviously believes that being able to talk directly to
all the
c++ code out their is worth it.

-- 
the thing i like with my linux pc is that i can sum up my
complaints in 5 items


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustepgnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
country flaguser name
Australia
2007-03-20 02:02:38
Hi there,

I'm not interested in getting into a debate about which
direction 
GNUstep should take for developing a web rendering engine. 
As a 
complete outsider to the community anything I say has little
influence, 
and I have no place in trying to exert any.  I am merely
trying to 
share some of the knowledge and experience that I have
acquired over 
the few years that I have been involved with WebKit.  If the
GNUstep 
community decides to move towards a different solution,
whether it be 
SimpleWebKit or some other appropach, I wish you the best of
luck.

I'll only address the points relevant to WebKit below:


On 03/20/07, Riccardo <multixngi.it> said:

> Although people will say Obj-C++ was needed because of
the usage of
> KHTML, I think that Apple underestimated the task of
getting KHTML to
> work cleanly and if those resources were put in better
use a cleaner
> and better WebKit woul dhave existed. And no need of
ugly languages,
> less crashes, better memory managment. And about speed
- I don't know.

Speed and memory footprint are *huge* factors in the choice
of language 
in a situation such as this. WebKit in Safari 2.0.4, the
version 
currently shipping with Mac OS X 10.4, is one of the fastest
browsers 
available on any platform.  The current development version
has had 
substantial performance improvements in many areas.  This is
achieved 
through a combination of smart algorithms and a programming
language 
that can take advantage of the computing resources
available.  While 
Objective-C is a lovely language to develop in, it's dynamic
nature 
severly limits the possibility for performance optimisations
by the 
compiler.

If you believe Objective-C is the One True Programming
Language then by 
all means use it to develop a web platform.  WebKit is in
many ways 
about using the right tool for the job.  The
performance-criticial 
portions in WebCore and JavaScriptCore are written in C++. 
The 
easy-to-use API that most developers see on a day-to-day
basis is 
Objective-C in the WebKit layer.   Objective-C++ allows high

performance without sacrificing a developer-friendly API.


> [...]  porting WebKit will be a great task too, will
probably need 
> latest compilers
> and will bind us at Apple.
> What if in the future WebKit will need Obj-C 2.0
features - let us be
> saved. Or it will ocnstantly need some ugly Core*
stuff? Or some other
> decisions whcih might hurt us or which we don't want to
share?

The core functionality in WebKit is in cross-platform C++
code.  Both 
JavaScriptCore and WebCore are buildable without any
dependencies on 
Apple-specific technologies, even on Mac OS X.  The
implementation of 
the WebKit API layer, and it's hooks into JavaScript via 
WebScriptObject etc, currently has some dependencies on
either 
CoreFoundation, Mac OS X private APIs, or Cocoa
implementation details. 
 A port to GNUstep would involve factoring these
platform-specifics out 
of the main code.

WebKit currently makes use of Objective-C 2.0 features if
you're 
building it on a prerelease version of Mac OS X 10.5.  This
is purely 
an API nicety, it is no way used in the implementation of
WebKit 
itself.  As far as I know there a no plans to use any
Objective-C 2.0 
language features in WebKit in the near future.  If GNUstep
developers 
are involved with WebKit there would be a good incentive to
keep the 
current state of play.

Kind regards,

Mark Rowe
<http://bdash.net.nz/>





_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustepgnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

GNUStepWeb
country flaguser name
United Kingdom
2007-03-21 12:22:55
Hi folks,

What can GNUStepWeb be used to do? Are there any web
application  
examples I could have a look at online? Are there any
tutorial on how  
to get started?

Cheers,

Dan.


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustepgnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
country flaguser name
Australia
2007-03-23 09:31:54
On 03/23/07, "hnscomputer.org" <hnscomputer.org> said:

> And: where would Linux or GNUstep or Gecko or IE or
WebKit be now if
> they had followed your recommendations? We would still
all use BSD and
> Netscape 1.0. Period.

Gecko, IE, and WebKit all have commercial backing.  KHTML,
prior to 
Apple's involvement, had a very insubstantial market share
and suffered 
from one of the problems I alluded to earlier: great
standards support, 
but poor real-world compatibility.  This is still true to a
small 
extent with Webkit and has been a big area of focus. 
GNUstep is still 
an incredibly niche platform, and it could be argued that
Linux has 
only headed in the direction of the mainstream when
commercial backing 
became common.

> How do you know before you have done it? Can you
predict the future?
> And has the pure number of developers ever been an
indicator for
> project success?

You don't know, but the web isn't going to sit still for the
next two 
or three years while a fledgling browser catches up.  The
Internet is 
becoming a central part of the computer experience, and many
new 
technologies are being introduced to meet needs as the
arise.  Keeping 
up with the start of the art takes work.

- Mark




_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustepgnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
user name
2007-03-23 10:39:44
I haven't chimed in this conversation so far just because I really don't know anything.&nbsp; But what I would like to think is that the goals of SimpleWebKit are not the same as that of WebKit.&nbsp; Since it's announcement of this list, I got the impression that SimpleWebKit was to serve as a WebKit for browsers in applications where resources are scarce, after all it did come from the myStep project, which is a GNUstep fork with PDAs in mind. ; In my mind, SimpleWebKit is not being developed to compete with Gecko/WebKit/IE, but to serve as an embeddable framework where WebKit is simply overkill, and there are many applications that need such properties.
&nbsp;
If what you are saying is true, that means there would really be no market for browsers such as Links, Lynx, Dillo, etc yet these browsers are fairly popular for the market they serve.&nbsp; I've used all 3 of the ones I listed at one point or another, and I understand that for what I wanted to do at the time, anything else would be too much.
 
Stefan
Re: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
country flaguser name
Germany
2007-03-23 10:40:21
On Mar 23, 2007, at 15:31, Mark Rowe wrote:
> Gecko, IE, and WebKit all have commercial backing. 
KHTML, prior to  
> Apple's involvement, had a very insubstantial market
share and  
> suffered from one of the problems I alluded to earlier:
great  
> standards support, but poor real-world compatibility.

I suppose nobody questions that, its just that the goals are
 
different. Apparently Nikolaus just wants to build a browser
with  
great standards support (maybe thats why its named *Simple*
WebKit?).  
So why bother him? 

The only thing I'm a bit concerned about is how the two  
implementations would live side by side if SimpleWebKit
directly  
implements WebKit classes instead of using a separate class
hierarchy  
which is then somehow mapped to the WebKit classes.
To bad we don't have namespaces in ObjC 


>> How do you know before you have done it? Can you
predict the future?
>> And has the pure number of developers ever been an
indicator for
>> project success?
> You don't know, but the web isn't going to sit still
for the next  
> two or three years while a fledgling browser catches
up.  The  
> Internet is becoming a central part of the computer
experience, and  
> many new technologies are being introduced to meet
needs as the  
> arise.  Keeping up with the start of the art takes
work.

As a matter of fact a cleanroom implementation of those
"many new  
technologies" is quite often much faster to implement
than tweaking  
10..15 year old, aging C++ code which needs to be
super-cautions wrt  
changes.

Well, thats a rather stupid discussion, no? Why not stop it?
 I'm
 
quite interested in what Nikolaus comes up with, though I
also doubt  
it will be useful for *me* personally.
Well, even if just a small JavaScript ObjC interpreter comes
out of  
this, it would be a very cool and useful thing! 

Greets,
   Helge
-- 
Helge Hess
http://www.helgehess.eu/





_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustepgnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

[1-10] [11-15]

about | contact  Other archives ( Real Estate discussion Medical topics )