It used to be that if you needed a quick business app you could fire up FoxPro or Microsoft Access, bang away for a day or two and end up with a solution to a problem that could actually be used. With FoxPro already phased out and the future of Microsoft Access in question, software application frameworks are filling the void.
In the Microsoft development sphere, .Net development using C# or Vb.net is the most common answer given to replace the front-end client development features of Access and FoxPro. However, when a developer starts up Visual Studio and creates a new project, they are a long way from a useable application. Yes, all the pieces are there in the .Net Framework to build applications... good applications..., but application infrastructure is still needed as well and though you can go quite far with data binding and point-and-click wizards within Visual Studio, creating usable applications quickly will still require considerably more time and knowledge than past rapid application development platforms. You can jump-start application development significantly by choosing and adopting an application framework product such as Component-based, Scalable Logical Architecture (CSLA) or StrataFrame.
Advantages of Choosing a Software Framework
There are many advantages to using an existing framework. These include:
- Rapidly Create Applications (After the initial learning curve)
- Consistency of development practices across your applications
- The infrastructure code is proven and you enjoy the benefits of more widespread usage and the mature code that arrives from such usage
- Re-use of extensions you create for your specific application environments
- A community of developers using the same technology to interact with and share thoughts and work
Building your own framework can provide a few of these advantages as well, but not all. Whether you build your own or choose an existing framework, a framework will get you to writing code that actually addresses your application requirements faster. For developers and consultants that work on many different projects, the pace at which usable applications can be developed is often what judges your worth, and affects your income. Investing the time to analyze and learn the use of an existing application framework will provide an excellent return on your investment.