Robert, 

I'm currently trying to build a shell (mostly complete) and so I thought I
would share some of my thoughts.  I have looked at several shells like many
other have and bought a couple.  The first I used if I recall correctly was
called Skeleton (I've probably just dated myself).  

I've not really been able to take much advantage for a couple reasons.  Many
of the shells I've tried really try to automate everything to the point that
you just build your tables and check some options in a form and you have a
usable database.  They, however, are often difficult for me to modify to my
needs.  I'm more of a 4D hobbyist than a developer and much of the code is
over my head.  Another issue is that these shells can break with major
changes to 4D or they are slow to implement newer 4D features.

I mostly build 4D databases for my own use and have used pretty piss poor
coding techniques .  I've had a desire to cleanup the main app that I use
and I've recently tried to help others in my office with some of their
database needs so I came to the conclusion that I needed to put together a
cleanly designed shell and move my main app and build other databases using
the shell.  Rather than copy portions of code I've tried to build the all
the basic functionality for use with example input and output forms for the
main tables in a database template.  The input and output forms will need to
be manually created and customized for each table rather than be built
automatically but it provides me with the easier modification I need. I have
also been trying to make the code as simple as I can with only limited
success. Coding it myself also makes it much easier for me to make changes
(although not always, I can generally understand my own code).

There is a recent topic discussion (Shell and utility methods [WAS: Show
form on startup]) regarding an open source shell (data browser) written by
Flurry Oliver.  He built a component that is intended to provide a lot of
the old user environment features.  It seems to me that components encroach
into some of the functionality that shells have historically provided. The
databrowser is somewhat like other shells that let you create a group of
tables and check off options in a list and your in business.  He provides a
short discussion about how he is able to use his component with legacy
databases written by other developers.  I hadn't thought of this use until
he mentioned it but it seems like an excellent use for a component/shell. 
He provides an example database with the two components that make up the
databrowser component.  One of the components handles the interface for the
user environment.  The other component is a package of utility methods. I'm
attempting to building a similar package of utility methods and it's hard
for me to see how anyone serious about building 4D databases wouldn't
benefit from having a similar set of utility routines. In my opinion the
databrowser component provides a couple of examples of how components/shells
remain beneficial.





--
View this message in context: 
http://4d.1045681.n5.nabble.com/4D-Shell-or-not-so-much-tp5747143p5747175.html
Sent from the 4D Tech mailing list archive at Nabble.com.
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[email protected]
**********************************************************************

Reply via email to