At 21:41 Uhr +0100 07.03.2005, Stefan Urbanek wrote:
How it should be? Instead of creating an application, create a
framework. Self-sufficient application should be considered a prototype
and proof of concept for given functionality. Application should be only
an user interface for a framework. The application should be as thin as
possible.
(...)
Moreover, the framework should be split into two: UI and non-UI part.
(...)
Thoughts?
1) Installation hassles: This would mean one would have to install
three parts, in three different locations, and uninstall them to get
rid of the app: Framework, App and Tool.
IMHO, it shouldn't be too hard to code apps so they can be used as
tools as well. Just call path/to/MyApp.app/MyApp --param --param2 and
you can use it as a command line tool. This would reduce the entire
thing to one self-contained app, which is easily installed and
uninstalled. If you find yourself using an app as a tool often, you'd
symlink it into your PATH.
Is it possible on all platforms to embed a framework in an app? Could
we maybe embed that framework in the app bundle and then just symlink
it into /Library/Frameworks/ or so for other apps to link to?
2) UI and non-UI split: That's what Model-View-Controller is all
about. So yeah, fully agree.
At 21:41 Uhr +0100 07.03.2005, Stefan Urbanek wrote:
The talk about document oriented environment reminded me something ...
what we are missing is cooperation between tools and applications. They
simply can not talk to each other! Why? Because developers are selfish
and are not creating any interfaces to their codes. Ok, except library
developers.
Actually, developers aren't selfish, they're lazy ;-). Instead of
trying to implement best practices that require developers to rewrite
the apps they worked so hard on, maybe a better idea would be to try
and find an approach that requires as few changes as possible to
existing apps, or brings them significant benefits *now* while making
it easy to later adapt 'components'.
If you can manage to base it on existing technologies and working
infrastructure most OpenStep apps have (which is what LinkBack does),
developers will find it easy to adopt. One additional "register"
call, an additional data structure to write to disk without having to
know what it actually contains, and the display code is the one they
already have.
But even if you make it easy, most developers will still not come
until they actually need the feature you're providing.
--
Cheers,
M. Uli Kusterer
------------------------------------------------------------
"The Witnesses of TeachText are everywhere..."
http://www.zathras.de