NetBSD-Users archive

[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)



Hi,

On 02/23/12 18:23, David Young wrote:
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
cycles:

repeat(repeat(fetch | layout) | render ; read user input)

Very, very rough.

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.

Riccardo


Home | Main Index | Thread Index | Old Index