Hi Quentin and list!

I recently came across the "Components"-related pages on the Etoile wiki:

http://www.etoile-project.org/etoile/mediawiki/index.php? title=Components http://www.etoile-project.org/etoile/mediawiki/index.php? title=ComponentKit

I'm not sure if I get the point of those pages. How are components supposed to integrate nicely with the existing applications? How is the API going to look like? Will applications provide the streams and pipes mentioned on the 'ComponentKit' page just like they include GNUstep Services now?

On the same page, there's this overview from the developer perspective:

--- Start quote

Components architecture uses three layers which are streams, components and pipes. The layers details are:

1 Stream
        Input (not defined)
        Output (not defined)
2 Component
        Behavioral (basically custom logic implementation)
        Structural (NSArray, NSDictionary, TKTracker derived)
        Visual (NSView derived)
3 Pipe
We use them to build process chain like in order to take an example:

stream input --> pipe --> structural component packaging a behavioral component --> stream output
A such process chain is a component too by itself.

--- End quote

This all sounds like it's similar to the automator workflow components in Apple's Tiger. If it really is similar to that, I doubt that people will actually be using it in their daily work. This is basically the idea of transferring the UNIX shell (many combinable tools pluggable via pipes) ideas into a graphical environment. We wouldn't be the first to try it, and as far as I know no one really made a successful product from that idea. It's just too complicated to plug complex workflows in a graphical way.

I think it's dangerous to divide components into behavioural, structural and data representation components. Isn't this a step back to non-object-oriented programming on the component level? You're separating functions ("behavioural components") and data ("structural components") on that page. In addition, I don't see what code, data and GUIs have in common, so that it makes sense to say they're all components.

Knowing that you're trying to re-think a lot of conventional operating environments, I'm sure you thought a lot about these components. Reading the wiki, I just couldn't figure out what your big picture of Etoile development is, and especially the role which components play here. It would be great if you could clear things up for me and the list. :-)

-Günther


_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à