7 |
•The LA
Fox Developer Newsletter
|
May
1995
|
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 maintenance of applications. Most of the currently available 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 products 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 implement functionality that is specific to each application. But your initial effort can be much more productive 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 functionality as these tools? These are good questions and, obviously, ones that you will have to answer for yourself. But here are some thoughts that may help you make the decision.
Do you already have a standard development methodology, 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 automatic. 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 associated with using application frameworks too. For example, some framework functions actually shield you from what would be a complex FoxPro implementation of a certain function. While this is an advantage where
|
Page 7
|
7 |