7 |
•The LA
Fox Developer Newsletter
May
1995
Getting
RAD
With Application
Frameworks
By Kelly G. Conway, National Consulting Service
FoxPro has been a very successful product for
several years. Like any successful product, it has
spawned a healthy market for 3rd party tools.
Recently, I have reviewed several products in one
category of tools, Application Frameworks, and I
thought that I would share with you some of my
findings.
What is an application framework? By my definition,
an application framework is a well-defined library of
programs and “objects” that provides much of the
common functionality that most applications require.
Many application frameworks also provide tools that
may be used to speed development and/or mainte-
nance of applications. Most of the currently avail-
able application frameworks help you build general
data base applications. But some products are
designed to assist with you with a specific type of
application, such as accounting or manufacturing.
Examples of functions that application frameworks
can provide are generic entry screens, report
generators, database repair/re-indexing, system
security, user login, context-sensitive help,
modeless event handling, data validation and
referential integrity. Example development tools that
can be provided by application frameworks are data
dictionaries, data-entry screen generators, report
generators, application documenters and generic,
reusable routines such as table look-ups.
Armed with any of the application framework prod-
ucts on the market, you are ready to produce quick
prototypes that are robust and that virtually are
error-free. This is because the frameworks come
with pre-tested functionality that you merely plug
into your application. Sure, you’ll need to flesh out
the prototype and develop the procedures to imple-
ment functionality that is specific to each applica-
tion. But your initial effort can be much more pro-
ductive and can produce a prototype that is much
more impressive than you could accomplish by
coding from scratch. The completed application
also is easier to maintain because the framework
promotes consistency from one application to
another.
But why, you may be asking, should we consider
buying tools for use with FoxPro 2.x now with the
imminent release of Visual FoxPro? Won’t we be
wasting our money as well as the time that it takes to
learn to use the tools? Won’t Visual FoxPro make
development easier and/or provide the same function-
ality as these tools? These are good questions and,
obviously, ones that you will have to answer for your-
self. But here are some thoughts that may help you
make the decision.
Do you already have a standard development method-
ology, set of tools and library procedures for v2.X? If
you do, and if they cover at least most of the
functionality that your applications need, you may
not have a need for an application framework. But
you may want to take a look at some of the product
demos and see if you get any ideas for functions that
your applications currently are not providing.
If you don’t have a standard methodology or set of
tools, I suggest giving a long look at the available
framework products. Not only do they provide a strong
base from which your applications can be built, they
also are superior tools for learning FoxPro.
Do you anticipate supporting v2.X applications that
you currently are developing long after Visual Fox hits
the shelves? Once you get proficient with Visual Fox, it
will become more difficult to go back and maintain 2.X
applications. That difficulty would be eased by using a
specific methodology and set of tools for your 2.X
applications.
Do you anticipate converting some or all of your v2.X
applications to Visual Fox? Though Visual Fox will run
2.X applications unchanged, most people will want to
convert many of their applications to the new version.
Though Visual Fox provides tools to assist with that
conversion, no conversion ever is completely auto-
matic. The conversion process for multiple applications
would be eased if those applications all were based on
a specific methodology and set of tools.
Like anything else, there are disadvantages associ-
ated with using application frameworks too. For ex-
ample, some framework functions actually shield you
from what would be a complex FoxPro implementation
of a certain function. While this is an advantage where
(Con’t, page 8)
Page 7
|
7 |