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