formVista(tm) Developers Guide and Reference
 

3.4. Support Low Cost Commodity Hosting Environments

In many contexts, the developer of a web application rarely has much control over the target installation environment. More often than not it's a case of “what's there is all that you get”.

formVista accomodates this “lesser” environment by:

One of the most difficult decisions made during the development of formVista was the choice of PHP as the initial implementation language. This has been a subject of some debate over the years. It has often been thought that maybe we should have used Java in an application server environment or possibly continue with our own custom environment implemented in C++ instead.

PHP has a number of characteristics that make it a less than ideal choice including:

  1. lack of persistance. Pages are constructed and destructed on each request.

  2. the language is constantly changing with each major release.

  3. the behavior of the language changes depending on configuration file settings.

  4. high overhead. PHP makes very inefficient use of memory and does not have a good compilation option.

However, compared to a Java application server system, the advantages that PHP provides vastly outweigh it's down sides for our target context.

PHP has turned out to be the most popular web applications language for shared server environments. Monthly hosting with Mysql access can be easily had for less than $20usd/month. For the vast majority of low to medium scale applications, PHP is “good enough” and it is steadily gaining ground. As long as external dependencies are limited, PHP provides a relatively stable installation target. Most PHP hosting companies include support for Mysql, GD and XML. PHP applications, as long as they are correctly designed, can be installed without the need for root access.

By choosing PHP and limiting external dependencies, we have a vastly wider pool of commodity installation environments where our applications can run.