Microsoft Visual FoxPro as a Development Tool

 

(based on an original by Randy Pearson - reprinted by permission)

 

Summary

This paper presents an analysis of using Microsoft® Visual FoxPro as a development tool for current and future Desktop and Web-Oriented enterprise applications. Visual FoxPro is an excellent tool for such development based on the following reasons:

  • Visual FoxPro uses modern object-oriented technology with a robust environment for development. VFP 7.0 offers both Interfase and Implementation Inheritance allowing you to create robust OOP applications and world-class COM Servers.
  • Visual FoxPro applications can be designed to utilize: (1) local databases using its own database engine; (2) any back-end ODBC or OleDB data source (i.e.,Microsoft SQL Server™); or (3) a combination of the two.
  • It has native XML functions, so it can produce and read XML (to/from tables), including XM UpdateGrams to interact with SQL-Server 2000™.
  • It has the ability to interact with other products, both as a client (by hosting ActiveX and COM components), and as a server. Therefore, it can obtain an object reference to products like Microsoft Office© and has access to all of their feature set through Automation.
  • Although it is not part of VS.Net, Microsoft Visual FoxPro 7 can interact with .NET applications, and can create and consume Web Services.
  • Many features of the product combine to support rapid application development (RAD) techniques.
  • Microsoft is committed to the future of Visual FoxPro, as evidenced by its release of version 7.0 in 2001, and its inclusion in the MCSD certification track. Microsoft is also hard at work in the next version of Visual FoxPro, codename "Toledo". This is what Steve Ballmer, CEO and President of Microsoft has to say about Visual FoxPro.
  • Limitations of the product that could affect the suitability of Visual FoxPro for some file-server applications do not affect its suitability for Web-based applications.
Visual FoxPro Capabilities and Limitations

The important features of Microsoft Visual FoxPro for Web-based application development include:

  • Visual FoxPro has a robust object-oriented development environment that includes visual tools, a data-centric, object-oriented programming language and an integrated debugger. The language supports full object inheritance, thus allowing for maximum code re-use and development of complex application frameworks. Many commercial frameworks are also available.
  • Visual FoxPro has a local database engine that allows for rapid application development (RAD) without the need for developers to have constant access to expensive back-end database servers. Applications can be developed using local data and later upsized to a different database. Local databases can be substantial in size without upsizing, (255 fields per record, 1 billion records per table, 2GB maximum file size per table).
  • Visual FoxPro applications can connect to any back-end ODBC data source (e.g.,Oracle®, Microsoft SQL Server™, Informix™) or through the use of OleDB.
  • Visual FoxPro can interact with other products and components both as a client and a server using component object model (COM) technology. ActiveX™ controls and COM/DCOM servers can be hosted and used directly from Visual FoxPro. ActiveX controls developed in other languages, such as Visual Basic or Visual C++, can even be sub-classed in Visual FoxPro for further customization.
  • Visual FoxPro applications can be compiled as COM+/DCOM servers that use apartment model threading. This allows them to be used as scalable middle-tier components in a 3-tier architecture. Due to their threading, they can be managed as components of a transaction by Microsoft Transaction Server (MTS).
  • The Visual FoxPro language allows for easily connecting to other databases using ODBC or OleDB. Databases can be queried by either using visual query design tools or by direct SQL pass-through commands. The latter allow for applications to take advantage of specific features of a database server beyond standard ODBC syntax. Visual FoxPro can also use ADO to connect to outside databases and XML as a means of transferring information to/from dissimilar systems.
  • VFP can create and understand XML natively and can even create XMLUpdateGrams to send updates to SQL-Server™ databases from COM components.
  • Its Intellisense® open architecture is unrivaled even by other Microsoft languages as it is table-based and totally customizable. Its tips can be modified, enhanced, and even translated. Its code-completion syntax can be augmented to process scripts which can be complex programs written in the FoxPro language to write tedious portions of repetitive code more efficiently.

 

Visual FoxPro™ and Microsoft™ are registered trademarks of Microsoft Corporation™