SIMPL GUI Designer – 1

February 7, 2012

SIMPL GUI Designer

SIMPL GUI Designer

Above is an image of the first build of a web-based GUI designer for SIMPL.

Sencha Designer 2.0

Sencha Designer 2.0

And here is an image of the Sencha Designer 2.0 that I am using to build the web-based version. The web-based version will use the same general layout, but may have different drag-n-drop capabilities.

GUI design is one of the most complex tasks in building many Internet applications. Hopefully, the SIMPL GUI Designer will make this a lot less painful, at least for applications of moderate complexity.

Windows 3.x started to become popular in the early 1990’s and the only way to build Windows applications at first was to use the “C” language. And Windows 3.x was based upon a hybrid 16/24/32 bit model which required programmers to specify “NEAR” and “FAR” pointer types for most function calls. Programming Windows in the early days was *very* hard.

Digitalk released versions of Smalltalk/V for Windows in 1991/1992 which made the complexity disappear – you simply sent a message to a “Window” object and it performed the requested actions (“open”, “close”, “move”, “resize”, etc). There were no “pointers” in Smalltalk. A company called “ObjectShare” (IIRC) released a product named “WindowBuilder” which made building GUI’s even easier with layout being accomplished by “dragging” and “dropping” components into place.

Microsoft, of course, realized that the difficult nature of building Window’s applications was costing them sales. They released the first version of Visual Basic in 1991. VB was very easy to program, (although much less flexible than “C”) and this led to an explosion of VB applications and probably was a major factor in Windows becoming ubiquitous.

I think that RIA (Rich Internet Application) GUI’s are at a similar situation to Windows 3.0/3.1 in the earlier 1990’s.

The technology obviously works and Sencha has done an outstanding job in engineering and documenting ExtJs 4.x.

But building ExtJs applications can still be challenging (although not nearly as difficult as building the early Windows apps). Sencha Designer 2.0 is a big step in the right direction although, at $399, it is likely to appeal mostly to professional programmers.

A more accessible web-based tool, like SIMPL GUI Designer, might provide a way for web designers and part-time developers to use the ExtJs library as well.

ExtJs 4.x Class Hierarchy Browser

ExtJs 4.x Class Hierarchy Browser

This is a web-based browser for the ExtJs 4.x class hierarchy. It is modeled after some of Smalltalk’s browser tools.

Some of my previous posts discussed tools for SIMPL on the server – SIMPL is an object-oriented scripting language integrated into a PHP environment.

And now, I am adding some client-focused tools for examining the browser environment. This tool displays the loaded JavaScript libraries – there will be other tools for building/examining widget layouts and CSS styling.

The goal is an integrated set of online tools for developing and maintaining all aspects of an application from database tables to GUI design.

Code Refactoring

January 25, 2012

SIMPL/PHP Class Browser

SIMPL/PHP Class Browser

There are now eighty-six classes in the SIMPL class hierarchy.

And this number will increase substantially over the next few weeks as more ExtJs widgets, Css styles, and code generators are added. The system will probably have about five hundred core classes when it is complete.

Smalltalk maintains its class libraries through the use of sophisticated refactoring tools.

I have now added some of these capablities to the SIMPL class browser.

You can now:
— rename classes
— move subclasses to different parents

SIMPL/PHP already is capable of writing serialized classes to the database (see the “DbBrowser” tool) and I do a complete “rebuild” cycle at least once a day as a system integrity check.

The tools will continue to get more advanced as the class library grows.

Development is starting to resemble that of Smalltalk environments.

— Peter