its really just SOC on aanother level.
SOC? It can’t be System-on-a-chip… I’m going to
guess ‘separation-of-somethingorother’ from the
context…?
“bolted on to it?” you say that like its a bad thing
Okay. From now on, I’ll say ‘enhanced’
well, certainly it depends to what you writing, but i
would guesstimate
that 90%+ of all apps could be written this way. it
not like you don’t
have some idea about the gui from the get go, but the
core functionality
does not have to be, nay should not be dependent on
that.
I completely agree that the core functionality should
not be dependant on the GUI. But since the GUI is
likely to be larger, more difficult, and much more
influenced by OS/toolkit/user considerations than the
‘core’, it’s something to develop over the whole life
of the project rather than add as an enhancement.
Also, while the GUI and the core should not depend
on each other, in a GUI-oriented app they should still
influence each other very strongly, so that a
significant change in one will have to be reflected in
the other. This means that developing them in
parallel is much more useful than developing one and
then assuming nothing will change while you develop
the other. If the project’s complete requirements and
environment are known before starting, I guess you
could do the core first and the GUI later, if it’s
possible to test the core properly with only a
skeleton GUI.
i don’t follow you references to CodeWarrior,
PageMaker, etc. as
builders of heavy duty GUIs. ?
I meant them as examples of heavy-duty GUIs. After
some thought, I guess Internet Explorer would be an
excellent example. Imagine creating the object and
event model first, and THEN starting the renderer…
not a pretty sight (in practise, they did roughly the
opposite).
can you not see the utitlity of what i’ve described?
I can see its utility if you already have an
application that is not GUI-focused, but needs to be
enhanced with a small portable GUI. I can’t see it’s
utility for a GUI focused app like a stock trading
front end or a web browser. As I said, I think the
former case is well-served already.
perhaps you simply don’t code gui apps?
Alas, when pressed to claim expertise in something,
it’s in GUIs that I have to claim it Indeed, I
would say that the last two projects I were involved
with were about 60% GUI code, 20% comms/data access
code, and 20% logic (with 93% of the effort in the GUI
part). Which is why the idea of a GUI as something
you retrofit to an application strikes me as odd.
People with backgrounds in less GUI-focused
applications might react differently.
Dossy commented:
Yes. There’s a reason the Model-View-Controller
(MVC) pattern is so well-known.
Yes, I’d always use it except for really little apps.
x