[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: breaking down the browser (was Re: Web browser: stuck with Opera-9.62)
On 02/23/12 18:23, David Young wrote:
You "simplify" a bit too much sadly. However the concept of "reusing"
what's there is important. SWK tries to reuse what's already in the
foundation and appkit frameworks of GNUstep to the maximum. If you have
already connection stuff, if you already have controls which respond to
user interaction, you have frames, you have fonts, layouting... Browsers
have the tendency to replicate this for a number of reasons. For a long
time WebKit on windows was doing its own font rendering and you could
spot that easily.
SWK tries to leverage everything, although not with separate
applications but by using frameworks and OOP.
It is not that easy of course. It is for that reason that it doesn't
support tables. But if it displays a simple text, it is as fast as
"native" text would be displayed, including font support, relayouting on
window change, redraw, etc etc.
You could produce a browser for UNIX by composing simple programs, but
you'd have to set out from the beginning with a lot of discipline.
You could begin by decomposing a browser into cycles. The cycles
decompose further into 1) a supervisory program or script, 2) some
cycle state (resources to fetch, session state), and 3) a pipeline
of transformations. E.g., here's a very rough decomposition into two
repeat(repeat(fetch | layout) | render ; read user input)
Very, very rough.
Main Index |
Thread Index |