Programmers and designers are expensive. Hardware is cheap. formVista optimizes for rapid development by:
separating the roles of programming and graphic design. Designers can re-use programmatic elements as easily as programmers can re-use design elements. Each role can develop to a large degree independently of the other.
making it extremely easy to copy completed components into new projects. The demoshell user administration components are an excellent example. They were built only once and have been re-used in many projects.
designing the idea of “copy and paste” right into the FVML language. Aside from using entire components, often times one can copy entire sections of one component into another.
simultaneously forcing new features to be implemented as new tags in the FVML language and making the process as easy as possible. This instantly providing a mechanism for re-use of code.
including extensive debugging and error logging support.
including a Configuration system for managing both installs and upgrades freeing the developer from having to worry about it.
handling all of the tedious aspects of web application development for you and providing pre-built components and widgets for a large subset of the common patterns seen in form and view oriented business applications.
including a demoshell applications that forms a “shell” of a complete formVista application including user, group, grant management, password protection, configuration, etc. This demoshell provides a running starting point for any new project.
The ease of development does come at the expense of alot of processing, memory and I/O. In comparison to our blazingly fast previous efforts, formVista is a relatively heavy framework and the nature of PHP with it's lack of persistence adds to the load.
With this in mind, there has been a tremendous amount of optimization work done. We've been impressed at the wide number of applications and user loads this framework has worked well under. When it was initially designed, we didn't believe it could be used for anything other than admin screens and backend functionality for just a few users. Eventually, with MOBIE, we realized we could do alot more than we ever thought on alot less hardware. The lure of easy development has changed our priorities. We used to be execution performance junkies but now focus squarely on how quickly can we deliver quality maintainable code that does the job asked of it.