|
List Info
Thread: SimpleWebKit (was GNUstep Web browser (was Re: WebKit Bounty))
|
|
| SimpleWebKit (was GNUstep Web browser
(was Re: WebKit Bounty)) |
  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-gnustep gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
|
|
| Re: SimpleWebKit (was GNUstep Web
browser (was Re: WebKit Bounty)) |
  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, "hns computer.org" <hns computer.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-gnustep gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
|
|
| Re: SimpleWebKit (was GNUstep Web
browser (was Re: WebKit Bounty)) |
  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-gnustep gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
|
|
| Re: SimpleWebKit (was GNUstep Web
browser (was Re: WebKit Bounty)) |

|
2007-03-19 04:51:21 |
On 19 Mar 2007 01:59:48 -0700, hns computer.org <hns computer.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-gnustep gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
|
|
| Re: SimpleWebKit (was GNUstep Web
browser (was Re: WebKit Bounty)) |

|
2007-03-19 05:01:55 |
On 3/19/07, Chris B. Vetter <chris.vetter gmail.com> wrote:
> On 19 Mar 2007 01:59:48 -0700, hns computer.org <hns computer.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-gnustep gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
|
|
| Re: SimpleWebKit (was GNUstep Web
browser (was Re: WebKit Bounty)) |
  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 <multix ngi.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-gnustep gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
|
|
| GNUStepWeb |
  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-gnustep gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
|
|
| Re: SimpleWebKit (was GNUstep Web
browser (was Re: WebKit Bounty)) |
  Australia |
2007-03-23 09:31:54 |
On 03/23/07, "hns computer.org" <hns computer.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-gnustep gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
|
|
| Re: SimpleWebKit (was GNUstep Web
browser (was Re: WebKit Bounty)) |

|
2007-03-23 10:39:44 |
|
I haven't chimed in this conversation so far just because I really don't know anything. But what I would like to think is that the goals of SimpleWebKit are not the same as that of WebKit. 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.
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. 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)) |
  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-gnustep gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep
|
|
|
|