Generating Applications

January 21, 2012

A SIMPL Test Application

A SIMPL Test Application

The image above shows a very basic application generated by SIMPL.

The most complex application generated to date is the SIMPL development environment itself. It is now almost completely generated using SIMPL. And this means that it becomes increasingly easy to extend the development environment — more tools make it easier to build ever better tools.

But the main purpose of SIMPL/PHP is to create end-user web applications. Mostly these applications will run in a PHP/Python/Ruby environment with either a MySQL or Postgres database. My preferred user interface is ExtJs 4.x, but there is sometimes a requirement for either a lightweight library (Ext-Core,jQuery) or just HTML/CSS without JavaScript.

SIMPL/PHP is a “Smalltalk-like” environment in the sense that development is interactive, immediate, and has rich tools and class libraries. And this makes me much more productive than traditional web development practices.

At the end of the development process, SIMPL/PHP uses code generators to output code in the target languages required for a project. These will usually include code for (PHP, Python, or Ruby), SQL, HTML, and CSS.

In other words, SIMPL/PHP can produce the same output as I would produce manually – except that it is much faster and more accurate.

This becomes very important for large projects. For example, when applications have dozens or hundreds of tables and the client wants numerous highly customized ways of viewing or editing them.

In the ClassBrowser, there are now some “factory” classes for code generation:

Also, there are the classes for creating a small demo app:

“Demo2” is generated in PHP for the CodeIgniter framework.

Time to generate all of the code (PHP,HTML,CSS) once I “export” the application is only a few seconds. And the application is immediately available since the code is written directly to the app directory on the server.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: