(Updated: 2007.06.28 11:13:29 AM)
| |
See: (
Designing For Flexibility and
Anticipatory Design)
Frameworks are like good wine. What is excellent for one person is vinegar to another. The only way to evaluate a
Frame Work is to build an app using it. Anything less than that is not terribly useful. The experiences of others, while having some benefit, are not a good way to evaluate a
Frame Work as others have different requirements than you do.
The point here being that one can only evaluate a
Frame Work within the context of the environment in which it will be used.

And if the framework vendor doesn't provide an evaluation version how do we do that? Fork out $600 on testing each one?
A good article by Beth Massi here:
Frameworks Love Em Or Leave Em
A Guide to Evaluating a Programming Framework
Above article is no longer accessible. Anybody knows another link? I also had somewhere a backup of this aticle (do not know if it still exists, but I can search if needed). -- Vlad Grynchyshyn
Fixed.
Steven Black
Although evaluating a framework's relevence to my requirements through other's experiences may not be productive, the experiences of others can be helpful. From the brochures, you get a very limited idea. So how do you decide which to buy, which to try? Does one vendor never return phone calls, one
Frame Work give more people trouble with bugs, one limit you too much, etc?
Besides evaluating the list of features, it is good to hear users' comments.
Each
Visual FoxPro Frame Work has its own style.
Visual Pro Matrix is very structured in its programming style (less OO).
CodeBook is very OO and can be difficult if one is not up to speed with the OO stuff.
Mere Mortals is easier to get going with than codebook and offers most of the functionality of codebook and more,
Visual FoxExpress is a well designed OO Frame Work and it includes a number of developer tools that make building apps with it easier,
Visual Maxframe Professional is a hybrid of structured and OO programming styles and offers a very large feature set.
COM Codebook is Flash's n-Tier re-write of CodeBook. This is designed to allow the business tier to be optoinally deployed on a remote MTS/COM+ computer supporting VFP, SQL and Oracle databases.
The selection of which one is best fitted to your needs is a function of your programming style. The Frame Work best for you is the one which best meets your style of working--someone else may well reach a very different conclusion. The real point here is that the cost of any one of them will be returned on the first project you build with it. So, if after building a project you decide to change frameworks you have lost nothing.
As to the vendors, most of them are people who are interested in delivering a good product on time. They sometimes run into problems that cause shipping dates to slip. Some of those problems are with their code and some are problems in the product (VFP). None of them would intentially cause a delay without good reason.
Some things to consider when evaluating a framework
Do you want to use it for Client Server development?
Do you want to access your business rules via automation?
Do you want a rich UI or more interested in rules and data integrity?
Do you want a data dictionary?
Do you want a standard or proprietary data dictionary?
Do you want to run the ap as an active doc and have menus co-oberate?
Do you want a popular Frame Work that many developers might know or perhaps a less popular one that meets your need, but you can't find any programmers that know it.
You could probably build a project with any Frame Work, but you do want to select the Frame Work that best fits your project.
-- Bob Archer
Don't believe a vendor is going to ship a feature or function until it is shipped!
I don't know if it is any more relevant to frameworks than it is to software in general. The best advice in planning projects is to make plans based on what's available today. I don't know of a single software company that has a good success rate of delivering the technology they promise in the timeframe they promise, the VFP Frame Work vendors are not excluded.
Twice I've been in the situation where as a corporate developer I had to evaluate commercial frameworks and decide or recommend which one was most suitable for an upcoming project. In my experience, the only way to really evaluate a Frame Work is to build an app with it is one of those golden nuggets of advice that should go down in a hall of fame somewhere. But this puts many developers into the cliche of which comes first, the chicken or the egg
When forced to evaluate a Frame Work for a specific project based on preliminary review and comparison, here's how I've gone about it with satisfactory results:
1st - identify the primary players or pieces in my app that equate to reuse. (i.e. application object, business objects, event or process objects).
2nd - assign a priority to those primary players as far as the amount of coding involved if I were to roll my own. (i.e. if your app will do substantial data entry and validation then a good abstract business object that is easily extended with your own functionality is a major priority)
3rd - identify major implementation requirements (i.e. will this project be 2-tier, 3-tier, client server, local or remote data, ect.)
From those 3 areas, you can rough out a checklist of sorts, which should identify which features in a commercial Frame Work are most important to you. Then use your checklist to eliminate all the frameworks that don't fit your requirements.
Once I eliminate my choices, then I look at cost from the standpoint of which product gives me the most extras or goodies for my money. In other words, I don't look for the cheapest product that fits the bill. Instead I look for the one that will offer me the most after my initial project is complete and the next job comes along. From this consideration, I've been able to narrow the field down to one or two vendors. Now it's time to evaluate.
If time permits, by all means try and build as much of your app as possible during your evaluation time period. If time constraints weigh heavily, at least build the primary players with the highest priority. If you still haven't identified one product most suited to your current needs, then look at developer preference considerations such as:
Do I prefer to play code jockey or let an application generator do my work for me?
Will this Frame Work play nicely in multiple developer environments if necessary?
Do I have lots of stuff in my own bag of tricks that I plan on using? If so, how easily can they be pieced in with this framework?
Do I have strong emotional attachments to certain Standards and Conventions? If so, does this product follow those conventions? Roxanne Seibert
I would add to the above that traditional concerns for choosing any software package such as support, availability of training, longevity, etc. should be given consideration as well. Mike Feltman
Perhaps we should also differentiate between a Framework and a RapidApplicationDevelopmentTool. While technically Visual Promatrix is both, the product is marketed as a RAD tool (and looks, smells and feels like one). While all Frameworks adopt a certain methodology, the focus of a RAD is a tad different. Hence the structured nature of Visual Promatrix. It's one of those products where its strength is its greatest weakness. When I line up CodeBook to Visual Promatrix, I feel like I'm comparing apples to oranges. Mikel Moore
The fact that a RAD tool is available for the Frame Work should have nothing to do with the content of the framework. Wizards and builders can be created for any class. When comparing Codebook to VPM the comparison should be based only on the quality and content of the Frame Work and then, all things in the Frame Work being equal, the RAD tool should be looked at. The existence of a RAD tool is no excuse for deficiencies in a framework. One of the dangers of RAD tools is they'll let the unknowing developer get further down the wrong path more quickly. -- Mike Feltman
I'm not disagreeing with either the comparison of frameworks based on quality and content or a RAD tool letting a developer quickly get Lost In Space, but rather the focus of a product like VPM as compared to a straightforward Frame Work like Codebook. If you use VPM as its designers intended, it runs as an application in VFP and controls the entire development experience. It is not just a couple of wizards and builders added to the framework. In fact, until VPM6.0a a developer couldn't access the command window without dropping out of VPM's development environment. (It has had some other strange quirks in the past, like early versions of PM mapping CTRL+Z as quit!)-- Mikel Moore
Take a look at Fox Talk October 1999. There is an article called "Evaluating Application Frameworks" by Kelly Conway where he and his colleagues shared their ideas on How to evaluate different frameworks.
Several framework evaluations will follow the mentioned article and they will be published in Fox Talk as well. -- Hector Correa
You may purchase the above article from their web site for $5. Probably the best $5 investment I've ever made as I'm beginning with VFP and have no clue on how to decide which framework to go with. -- Alex Wieder
Category Frameworks
See Also: Framework Feature Chart