Hi, 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 cycles: repeat(repeat(fetch | layout) | render ; read user input) Very, very rough.
Riccardo