Posted by Mattias Sandström on August 21, 2010
Wow - 18 months ago we decided to move to Flash for the VirtualTester User Pages and here we are now, phasing out the last of Flash content with the release of VirtualTester 7.0! I’d just want to take a minute explaining why we took this step.
18 months ago, the long-term plan was to port the entire system into Flash and have Zend Framework and AMF for communication between the server and the client application. This proved to be harder that initially expected. The administration back-end of VirtualTester contains hundreds of pages and functions that all are implemented as web-pages. Doing the migration of the administration pages in a fork-lift upgrade would require tons of work and hard to maintain intermediate versions during a long time while new functionality was to be retrofitted into the old web-pages etc. In version prior to 7.0 some Flash pages were actually implemented, especially those requiring complex edition functionality. The lack of a good data grid sort of put this migration on back-burner and instead a new track using Dojo and jQuery UI was opened.
Dojo and jQuery UI provided a better approach of slow migration of VirtualTester as JavaScript components are easier to introduce on existing web-pages and does not require major rewrites of the back-end functions as JSON is easier to implement than AMF. AMF is cool with the transparency between functions in the client and the server (as AMF encapsulation between Flex and PHP classes is handled automatically) but is inherently more complex than JSON and harder to debug.

So in May 2010 we ended up with a sprawling mess of HTML, Flash, jQuery UI and Dojo in the admin back-end. Neither of these JavaScript libraries gave us the wanted component of a sortable data grid with paging functionality that could handle the information in the system. We started to look for another JavaScript library and found Sencha (formerly known as Ext JS) and got very impressed with the components available and the compatibility with browsers, an active community and excellent documentation and examples.
Deciding on a commercial license was a no-brainer and development started by first replacing the Flash components with Sencha-based web-pages and moving the back-end logic for those pages from AMF to JSON. The result was so good and progress so fast that we soon continued phasing out the jQuery UI and Dojo libraries that were used in the system and all back-end logic was ported to generate JSON replies.
Sencha looks so far very promising and the plan is now to port the admin interface of VirtualTester into a full JavaScript application, possibly with version 7.5. The speed improvements and responsiveness have encouraged us that we are indeed moving in the right direction. The Sencha Touch project (in beta as of this writing) looks extremely promising and would allow us to start supporting other platforms as well.
Sencha’s move from LGPL to quid-pro-quo commercial licensing has generated lots of complaints from the OSS community and there are lots of forum posts expressing anger over this move. As commercial users we enjoy the support, documentation and road-map that a commercial business is able to provide and sustain. Sencha is available under GPL licensing for open-source project and continues to publish new major releases under GPL license. To commercial developers access to bug-fixes on a monthly basis available. The quality of these monthly releases is somewhat shaky and more often than not introduce more problems than they are worth, but the active forums or paid support are able to handle this very quickly.
--Mattias Sandström
Copyright © 2005-2012 Tangix Design & Development. All rights reserved