User interface is one of the key external visible faces for any application. Getting the user interface design right and picking up a rich user interface technology is the key for a successful project. Selecting a Rich user interface technology depends on various criteria. In my view, some of key criteria for selecting a Rich user interface technology include the following –
- Tooling and debug environment.
- Remote debugging support.
- Support for unit test and Integration test.
- Licenses, Road Map and support – Open source support (Active community, Jira fixes, resolutions)
- Customization and extensions. Turnaround time to introduce new changes after deployment.
- Skill set of available resources
Adobe Flex on the other hand has a different model – where you create Rich applications (using Action Script – which is similar to Java Script) based on Abode Flash platform using Flex Builder which provides Debugger and Profiler capability. The Flex applications runs on a browser which needs to have Flash plug-in installed. The Flash plug-in ensures cross browser compatibility on the browser, but then you have to move away from the browser native functionality and need to have Flex Skills in your organization. With the HTML 5 specification, some of the Rich internet application functionality would be uniformly supported and one needs to look at trade of using Flex in future for features which are not supported by HTML.Personally I see Flash going away with HTML 5 and with mobile adoption.
With respect to code maintenance and debugging applications, if you have large scale web projects, writing and organizing Java scripts code is difficult as compared to other technology like GWT.
In my view, based on your requirements you carefully need pick up a user interface technology and look the roadmap support for that technology. Hopefully this blog gave you some of the insights on how to select a rich interface technology.