In Search of the Perfect UI

Web Languages
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Experts wrestle over the best way for RPG programmers to build Web apps as one uncovers a nifty new JavaScript tool.


The enthusiasm that PHP has elicited in the IBM i community among those who have embraced a new language for Web development warms the heart, but not everyone is convinced that PHP is enterprise-ready.


PHP in the IBM community is being supported strongly by Zend Technologies and Business Computer Design (BCD) and, to some extent, IBM, though Big Blue seems to favor EGL as a more suitable language for business applications. RPG programmers who thought they could easily learn Java and start developing for the Web a few years back were in large measure frustrated by the inherent challenges.


The apparent ease with which a beginner can start programming in PHP combined with the support that IBM has lent to Zend by facilitating PHP running on IBM i through bundling Zend Core with new machines is a veritable Pied Piper when it comes to leading RPG programmers to a new land. But how far can one go with PHP, and is it really "enterprise-ready" as Zend would have us believe?


Author Joe Pluta dissects the issues facing business application developers who want to create Web apps in his article in last Wednesday's MC iApplication Designer, "Scripting Languages on i: The Good, the Bad, the Ugly." Pluta addresses the problem of creating dynamic Web pages and weighs the various approaches one can take. He concludes that learning one language such as PHP isn't going to cut it. Nothing short of learning both PHP (or another scripting language) and JavaScript will get you where you want to go. The notable exception? If you have time to learn only one language, learn EGL. Says Pluta: "With EGL, you learn a single syntax and the EGL tool generates the appropriate code, be it HTML for the thin-client pages or Java for the server-side code or JavaScript for the client-side."


There you go. So why is PHP so much more popular today than EGL? One might ask, why is today's hot new restaurant tomorrow's shuttered storefront? People are lemmings, and we all move together in a group. Didn't you know? It's safer.


I was amused recently by RPG/Java developer Aaron Bartell's ( challenging Mike Pavlak, Solutions Consultant at Zend Technologies, in a post in IBM Systems Magazine. Bartell, whose mind is a churning volcano of inquisitive thought, politely asks Craig Johnson, the product manager for IBM i, if he could provide the research supporting Zend's claim that PHP is "enterprise ready." Pavlak steps in to answer the post by saying, "Of course PHP is enterprise ready!" but then explains that developers must use the right tool for the right job, and nothing could replace our "beloved" RPG as an enterprise-class language for its "efficiency and scalability." Pavlak also makes the point that there are PHP developers and then there are PHP developers (something we have found to be true at MC Press Online, by the way, since our site is based on Joomla components written in PHP). "The hobbyist PHP developer does not an enterprise developer make," notes Pavlak. There are many "best practices wrapped up in frameworks, templating systems and bound parameters" that may need to be employed when undertaking an enterprise-level project done in PHP. Still unconvinced, Bartell acknowledges he hasn't yet arrived at that level with PHP but vows to keep an open mind.


It's clear that RPG programmers are today looking for the way to the Promised Land that seems to have passed them by with the explosion in Web-based content and applications. I think of thought-leaders like Bartell, Pluta, and Pavlak as veritable Charlton Hestons, the Ten Commandments in one hand, a wooden staff in the other. "Follow me. We'll find a way out of this wilderness eventually!" (Let's just hope it doesn't take 40 years!)


The point of this article, though, is to give credit where credit is due and to highlight a possible gem that Bartell has uncovered in the form of Ext JS. Last month, Bartell wrote the following in a December IBM Systems Magazine article, "Exploring RPG and Ext JS": "I've long been in search of the next solid UI that RPG programmers can safely adopt and count on to serve us for the next 10 to 15 years. The IT industry as a whole seems to be suffering from a UI identity crisis—nobody can find the right approach that works well in many situations."


What he has come up with as a result of his search is a set of out-of-the box UI components that can be used to create rich Internet applications. He notes that components include input boxes, buttons, grids of data, tabbed panes etc. Begun in 2006 by Jack Slocum as a set of extension utilities for the Yahoo User Interface (YUI), Ext is a client-side JavaScript framework for building Web applications. Slocum and colleagues formed a company in 2007, and Ext is now dual licensed under GPL and commercial license. The Ext JS products page shows the many UI components that Ext JS supports.


A trial version of Ext JS can be downloaded free from Ext JS is a supporter of open-source software, and its open-source version of Ext JS is an appropriate option if you are creating an open-source application with a license compatible with the GNU GPL license v3. Commercial license fees of as little as $329 per year for a single developer are available, and enterprise licenses range up to $27,239.