Adobe Flex is a lightweight cross-platform SDK, which enables the creation and deployment of rich-client applications. Flex is based on Adobe Flash, and with the addition of Flex Data Services, developers can integrate these rich clients with J2EE server side applications.
This document briefly outlines how Flex can offer a useful addition to the current enterprise application landscape.
Consider the following routine developer requirements:
- develop an enterprise/web application
- expose the power of back-end functionality
- provide a rich client that can deliver a ‘WOW’ factor
While these may be routine activities, the ongoing drive towards efficient and agile development means that there is a constant demand for better solutions.
If one takes a simple client-server architecture, a number of options are available.
A variety of technology combinations are available on the server-side, from a fully Open Source stack like Linux-Apache-MySQL-PHP to vendor-specific proprietary implementations using Websphere, WebLogic, DB2, Oracle, SQLServer, etc.
These back-end solutions often provide powerful business solutions, but to truly empower end users, developers must provide an accessible and intuitive user interface.
When implementing web application, frameworks such as Struts, JSF, Velocity or SpringMVC is handy.
AJAX gained a lot of popularity over time and it became the preferred way to provide rich user experience. In combination with above frameworks and asynchronous communication tactics, the way your web application responds was transformed; however, there are certain limitations of AJAX:
Availability of talent: Finding developers, integrators, maintainers, support persons who have exposure to blend of these technologies with-in your budget is really hard.
Managing and presenting data using HTML: Imagine business intelligence reporting applications which has to display tons of data, provide you interactivity to change criteria on reporting to get the right information to help you make a decision with lots of client side scripting is a tremendous task and comes with risks.
Few advantages of Adobe Flex:
Quick Prototyping: Without the pain of a complex content management, one can quickly build applications for a demo and get the audiences captivated.
Desktop or Web: Building the same application for desktop and web is an awesome power to target broad spectrum of users.
Security: Flex provides intense server-side security; protection from cross-domain and zone access; flash security on client side.
Agile: Easily change design, prototype and the processes.
With all these, seeking a tool like Delphi, Power Builder, or Visual Basic has presumably ended for developing web applications. There is competing ones like Flex/AIR, Java/JavaFX, and Microsoft Silverlight and may the best one prevail; and my current vote goes to Adobe Flex.
Check out few enterprise applications trying to push Adobe Flex to its limits:
Finally have a look at http://www.adobe.com/devnet/flex/articles/ten_misconceptions.html