Le 1 nov. 06 à 21:01, Yen-Ju Chen a écrit :

I propose to move some of the frameworks into EtoileFoundation and EtoileUI
if there is no extra dependencies and the license is fine (LGPL,
modified BSD, Apache, etc).
The simple reason is that when we start to reuse some of these classes,
the dependencies become too many.
For example, Grr now depends on RSSKit, BookmarKit, CollectionKit.
It will depend on PaneKit for preference.
I have a copy of gktmozembed which can become GeckoKit
in the future if I can work it out.
And Grr will also depend on it to display HTML.
The dependencies are just too many for people who want to use it.
And I believe it will happen for other applications
when we start to share the code.

Currently, I think only BookmarKit, CollectionKit,
XWindowServerKit and PreferencesKit are qualified.
I can move them into EtoileFoundation and EtoileUI.

I'm in favor of making Étoilé development easier but I don't really like the idea of merging all these frameworks together. My main concern about frameworks is to keep them small and focused. Most of time, they are too big in my opinion (I mean in general, not speaking about Étoilé frameworks). Having frameworks with too many classes make understanding the purpose of the frameworks and the class relationships harder. In my opinion, browsing class documentation is also more pleasant when the number of classes doesn't exceed 10 or 15.

Merging all these frameworks would also complicate reusability outside of Étoilé. For example, I currently use PreferencesKit in a personal Cocoa project and I wouldn't like to embed the whole EtoileUI and EtoileFoundation into it. Well I could copy the classes I'm interested in and just bypass the framework, but this defeats framework/library purpose.

I think the solution is either to add an umbrella framework like Cocoa on Mac OS X. Or to add an umbrella header in the project you maintain, then you just got to two files to modify : GNUmakefile for the frameworks to be linked and the umbrella header for the frameworks import.

Example of an umbrella header named: Etoile.h

#import <Foundation/Foudation.h>
#import <AppKit/AppKit.h>
#import <EtoileFoundation/EtoileFoudation.h>
#import <EtoileUI/EtoileUI.h>
#import <PaneKit/PaneKit.h>
#import <RSSKit/RSSKit.h>
#import <CollectionKit/CollectionKit.h>
#import <BookmarkKit/BookmarkKit.h>

then you just have one import statement in the headers of your project : #import "Etoile.h"

For the umbrella framework idea, just create dummy library which links Étoilé frameworks that make sense to provide by default. And package this library with the previous umbrella header example.


And I think we should use other prefix than UK for EtoileFoudation and
EtoileUI because it doesn't match.
Something like ET, EL, or just E would be fine.
Any comment ?

Even if UK doesn't match, it's not a really a problem in my opinion. NS doesn't match either with GNUstep or Cocoa ;-) If many people really think we should move to ET or something like that, we may consider the move though. Aside of that, we could try to reduce the number of framework prefixes a bit. Moving from PK to UK to take an example. But to take an another example, I think trouble will arise if any CollectionKit based frameworks adopt CK prefix (thinking of conflicts between BookmarkKit and CollectionKit).

The UnitKit can also be in EtoileFoundation.
Actually, the unitkit.org is dead.
We are the maintainer now.
But it comes with ukrun.
I have no idea how to fit it into EtoileFoundation ?
Just create a subproject for tools ?

I'm not sure it's really interesting to fit it in EtoileFoundation, it makes sense as a standalone framework.

By the way, the EtoileExtensionKit is still in SVN.
Should we remove them ?

There are some projects depending on it like DistributedViewExample, we need to find and update them before removing it.

Cheers,
Quentin.

--
Quentin Mathé
[EMAIL PROTECTED]


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

Reply via email to