Ever since the first release of Valence in 2008, the biggest issue for IBM i developers working with the framework has been learning how to manually code the user interface of an app with Ext JS (and later Sencha Touch for mobile apps). Over the years, as CNX released new and improved versions of the Valence Framework, simple tools to help developers with front-end app development were added.
First there was AutoCode, a wizard for auto-generating certain kinds of apps. This was followed by Nitro App Builder, introduced with Valence 3.1 and making it possible to create fully functional query and dashboard apps with no programming. But something significant had been happening in parallel over the last few years. A team of engineers at Sencha had been hard at work creating a full-fledged graphical development tool for Ext JS and Sencha Touch called Sencha Architect, setting a new precedent for HTML5 development. Sencha committed significant resources to this initiative, and with the recent release of Sencha Architect 3 the tool achieved the stability and robust feature set needed to enable CNX to begin including it with the Valence Framework. So over the past year we made it a high priority to integrate Sencha Architect 3 with Valence Framework 4.0 in a clean and elegant way.
Before embarking on the Sencha Architect integration with Valence, we first had to figure out what to do with Nitro App Builder. When it was first released as part of an update to Valence Framework 3.1 back in 2012, it was CNX's intention to ultimately evolve App Builder into a full fledged app development tool -- hence the name "App Builder." However, after deciding to integrate Sencha Architect as the primary development tool for Valence Framework 4.0, we decided to rename "Nitro App Builder" to "Nitro Query" to align better with what it is -- a visual query tool. Nitro Query will continue to be developed with new features in forthcoming Valence releases, but its new mission as a query and dashboard builder will dictate those features. True Valence "apps" are now intended to be developed with Sencha Architect 3.
With our attention focused on making Sencha Architect 3 work as seamlessly as possible with Valence Framework 4.0, we came up with an integration methodology that is really quite slick. Without getting too deep into the technical aspects here (you can read the Valence Guides for that), let's just say that developing new web apps on IBM i with Valence Framework 4.0 and Sencha Architect 3 is not only more intuitive, but also quite fun! Using Sencha Architect 3 on your Mac or Windows PC, you can now call out to your back-end Valence RPG programs and get responses without even being logged into the portal. The concept of the "devToken" was introduced in Valence Framework 4.0 to handle this.
We also added functionality to the "Test RPG Call" app to automatically generate portions of the Sencha Architect project for you based on the actual data that your RPG program returns. This integration has made it really enjoyable for us to create new apps, as the more tedious parts of development are eliminated. You can now effectively drag-and-drop your way to a truly beautify user interface! Check out the Valence Videos to see this new development methodology in action. Stay tuned for the forthcoming introduction of the next generation of Valence AutoCode, which like the earlier versions of AutoCode will automatically generate front-end and back-end code for your apps. But unlike the previous version, these new "wizard-generated" apps can be called up and tweaked in Sencha Architect! The new AutoCode will be rolled out in an update in May 2014.
Perhaps the most important impact of the Sencha Architect integration with Valence is the reduction in learning curve. With this graphical development tool in hand, it's now much more intuitive to lay out a user interface. More intuitive means easier-to-learn, and easier-to-learn means faster-to-learn. Of course, the time saved in the learning curve will vary with developer, but in all cases it's faster than the manual-development alternative.
Next, if you are a developer, mastering the app development process through Valence and Sencha Architect 3 significantly increases your personal value in the IT marketplace. Contemplate for a moment the value of learning the proprietary web development tools of one of our competitors. Say you spend years learning and using one of those tools. Later in your career you go to another employer with all this experience in that tool. That knowledge probably means very little to anyone who isn't closely associated with that tool in the IBM i community. Alternatively, contemplate that you present yourself as a Valence Framework developer with extensive experience using Sencha Architect, and by extension Ext JS and Sencha Touch. Which do you think will have more value? Consider the following statistics from www.sencha.com as of April 2014:
- 2 million+ Sencha developers worldwide
- 70+ worldwide meetup groups
- 5 million+ product downloads
- 25+ services partners worldwide (including CNX!)
Simply put, if you're looking to maximize your value and flexibility in the IT marketplace, it's important to consider carefully which skills you are learning as you develop and deploy web applications on IBM i. Skills required for a framework used in large numbers throughout the world will generally carry far more value than proprietary knowledge. Similarly, if you are an IT manager, wouldn't you be concerned if the tools your developers are using were so proprietary that replacement developers would be extremely difficult or impossible to find? Also, with larger development communities comes better learning and support resources. When developers have a development question they should be able to Google for an answer. Only large development communities have enough players to have answers readily available. Therefore it's better for your company, and IBM i as a whole, when developers can utilize common development tools that are used by millions of developers around the world.
Finally, developing apps with Sencha Architect and the Valence Framework "look" and "behave" better that what most of our competitors can achieve. In today's development environment, user interface is everything. How your apps look and behave is as important as what they do. This is because your apps are perceived as an extension of the company and you personally as a developer or manager. Of course, visual design skills of the developer come into play, but out of the box the apps generated with Sencha Architect and the Valence Framework in our opinion provide the most attractive and intuitive interfaces available on IBM i. The Valence Framework has enjoyed considerable success in the eight years it has been around, and integration with Sencha Architect 3 makes it an even more compelling choice for web and mobile app development on IBM i.