Design Considerations
Some of the design decisions you make will impact how you create elements of the application. Who will be using the application? What is the center of user activity? How large a data set will you conceivably be working with? Will back-end data servers be used or will the data be exclusively local to a single user or multiple users over a network? Consider these factors before getting too far into the project.
Common User Activities
Even if your end users are working with customers, orders, and parts, how they are working with this information will determine how your application should deal with the data. An order entry form might be necessary for some applications, but would not be a good tool for managing inventory or tracking sales, for example.
Database Size
You'll want to think more about performance if you are dealing with large sets of data. Optimizing Applications explains methods of optimizing performance. You may also want to adjust the way you allow users to move through the data. If you have twenty or thirty records in a table, it's okay to let users move the record pointer in a table one record at a time. If you have twenty or thirty thousand records, you'll have to provide other ways of getting to the desired data: adding search lists or dialogs, filters, custom queries, and so on. Using Controls, explains how to use a list to select specific table records. Creating Views, discusses creating parameterized queries.
Single User vs. Multiple Users
It's a good idea to create your application with the assumption that multiple users will be accessing the database at the same time. Visual FoxPro makes it easy to program for shared access. Programming for Shared Access describes techniques for allowing multiple users to simultaneously access your database.
International Considerations
If you know your application will be used only in a single-language environment, you don't have to worry about internationalization. If, on the other hand, you want to expand your market, or if your users could be dealing with international data or environment settings, you'll want to take these factors into account as you create the application. Developing International Applications discusses the issues you'll need to deal with as you develop applications for international use.
Local vs. Remote Data
If your application deals with remote data, you'll manage it differently than you would manage native Visual FoxPro data. Creating Views explains how to create views to local or remote data.
Backing up Your Source Code
In all application development, it's a good practice to make complete backup copies of your original program files before you build an application. Store the backup copies separately from your compiled applications.
Note Be sure to maintain separate copies of your original source programs for future use. You cannot re-create your source programs from their compiled code.
See Also
Developing International Applications | Programming for Shared Access | Optimizing Applications