Top 10 Adobe Flex misconceptions
By James Ward, Adobe
Note: This content was first published on InfoQ.com.
Users need to install something new to run Flex applications.
Users need to install something new to run Flex applications.
Flash Player 9 is required for Flex 2 and Flex 3. The Flash Player 9 runtime is currently installed on 94% of the world's computers. Flex 2 and Flex 3 applications execute in the Flash Player 9. Flex applications are built on top of the native Flash Player APIs like vector graphics, bitmap manipulation, and networking (which are based on the browser networking stack). The Flex framework adds reusable components like date pickers, data grids, charts, etc. Compiling a Flex application results in a SWF file which is the binary byte code format for the Flash Player. Contained in the SWF file is the byte code for the Flex framework code and a project's custom code. The Flex compiler optimizes the byte code so that only classes which are used go into the SWF file.

For desktop applications, Adobe is aiming to make their new desktop runtime, dubbed Adobe AIR, as ubiquitous as the web runtime. The 1.0 release of Adobe AIR will be available in the beginning of 2008. Currently, Adobe AIR is in beta release from labs.adobe.com. Many companies are already building production applications on Adobe AIR. One example can be seen with eBay's application eBay Desktop.
Flash Player is 100% proprietary.
The core of Flash Player is the Tamarin Virtual Machine, which is an open source project under Mozilla. While the SWF file format is not fully open, it is documented by the community on osflash.org. There are numerous open source products that read and write SWF files. The Flash Player's product direction has traditionally been heavily influenced by the community and their needs. The core language for Flash Player is an implementation of ECMAScript 262, which is the specification for JavaScript. Flex also uses CSS for styling of components/applications. Adobe AIR uses web standards as the basis for desktop applications as well as Open Source technologies like Tamarin, Webkit, and SQLite.
Flash is for designers, video, and annoyances.
Indisputably, the power of Flash has been abused. Pop-ups, pop-overs, skip intros and annoying ads run rampant across our screens. I've heard it said that one should never judge a religion by its abuse. The same adage applies to technology. Flash shouldn't be avoided just because people use it for annoying things. After all, e-mail isn't avoided just because spammers happen to abuse it.

Traditionally Flash content was built with the timeline-based tool for designers. Flex is the developer toolset for building Flash-based content/applications. Designers and developers can work together by sharing assets between the two tools. Flex adds a comprehensive component base:

Adobe InDesign and Adobe After Effects can also export files in the new XFL format, so that you can start a project in another application first, and then continue building it in Flash CS5.
Flex is not for enterprise or business applications.
Over the last few weeks, Ward published a seven-part blog series on a number of new Oracle applications implemented in Adobe Flex. The applications, which were announced at the recent Oracle OpenWorld, ranged from sales tools to database management, and business intelligence.

In addition to Oracle's usage of Flex, InfoQ.com published a piece recapping a number of groups using Flex for enterprise applications. Ward also points out to InfoQ.com, that there are numerous examples of enterprise applications being developed with Adobe Flex, including work at Workday, SAP, Salesforce, and Business Objects.
Flex is expensive.
Flex is a free, and soon to be open sourced, developer toolkit for building Rich Internet Applications for the web and the desktop. This free SDK includes everything a developer needs to build RIAs that work the same on any browser or operating system. Part of the free Flex SDK is an extensive set of components which are extensible, skinable, and accessible. You can see many of these components in the Flex Component Explorer.

Flex Builder is an optional plugin for Eclipse which makes developing applications with the free Flex SDK more efficient. It includes features like integrated debugging, design view, and code completion.

The Flex Builder pricing has changed in quite a few ways recently. Flex Builder is now free for Students and Faculty. The price for the vanilla Flex Builder, without the charting components, has been reduced to $249 to better balance the tiered pricing for Flex Builder.

There are a number of options for building back-end infrastructure for Flex applications. To take advantage of the high performance AMF data transfer protocol, there are official Java-based Adobe products like LiveCycle Data Services, its open source sibling BlazeDS, as well as numerous open source projects for other back-end systems. Using AMF removes the unnecessary steps of converting data to text (SOAP, RESTful, etc), transferring it, and then converting it back to data. AMF also allows type information to be preserved across the wire
Flex applications require a special server.
Flex applications can run on top of any web server, application server, and database server. Flex applications are much more like client-server applications. Since the logic is running on the client inside the Flash Player, you need some way of communicating with the server. There are many different options for how you connect Flex to your infrastructure. Without any special libraries, you can expose your back-end data and services as RESTful, XML, or SOAP and easily consume that data in your Flex application. If you choose to use the AMF binary serialization protocol, you may need to add some additional libraries into your web application. AMF is just another serialization technology, like XML or JSON, so it can be one of the various methods you use to communicate to your back-end SOA.
Flex is hard to learn.
Leftie Friele, from the InfoQ.com community, posted a comment on the InfoQ.com piece "Who is Using Flex?", detailing his company's experience in learning Flex:

Our startup company, Ezmo, have used Flex since the start and we're extremely happy with the framework.

Without any prior knowledge of Flex/Flash, we built our application in less than two weeks. The integration between Java and Flex is super simple, and getting started with Flex is just a walk in the park.

The tool support is very good too with Flex Builder. You get the familiar surroundings of Eclipse and you are off and running without many problems. The one thing that is missing is better tools for continuous integration and better plugins into Maven for building Flex applications.
With Flex, I will need to rebuild my entire application.
In January, Bruce Eckel published an article titled, "Hybridizing Java." He argues that the Java community should continue using the good parts of Java, but should use other technologies where Java is weak. His primary focus in the article is using Adobe Flex for user interfaces, instead of the traditional Java options (Swing, JSF, etc..).

Ward elaborates on this concept:
Since Flex applications are just the UI piece of an application the backend usually stays the same. If your backend was built following the SOA pattern then it is usually very easy to expose those services out to a new Flex UI. This preserves your existing business logic whether it is in EJBs, Spring services, POJOs, etc.
I can do everything Flex does with Ajax.
RIA with Flex and Ajax is not either/or. Sites like Google Finance show how you can use Flex and Ajax together. Ajax is very good for content-centric applications, while Flex is very good for interactive, media, and data-centric applications. If your application is somewhere in between the two sides of that spectrum, then you can use the Flex Ajax Bridge to combine the two technologies. In Flex 3, the Flex Ajax Bridge is integrated directly into the SDK. If you are using Flex 2, you will need to download the Flex Ajax Bridge separately.


News:           Technology   |   Enterprise IT   |   Tech Products   |   Startups   |   Finance   |   Business   |   Career   |   Magazine   |   Dailydose   |   News archive   |  
Network:       Network   |   Profile   |   Messages   |   Scrapbook   |   Find   |   Blogs   |   Communities   |   Events   |   Q&A   |   CXO Insights  
Career:        Jobs   |   Companies   |   Test your skills   |   Mentorship   |   Videos   |   Career blogs   |   Training institutions  |   Freshers
Online courses:   Web developer   |   Java developer   |   CCNA training   |   SEO   |   SAS   |   SQL server 2005   |   J2EE
Education:   MBA   |   MCA   |   Engineering   |   Overseas Education   |   Internship
Life:                  Humor   |   Bookstore   |   Relocate  |   Marketplace
Cities:             Startup   |   Real estate   |   Finance  
Company:   About us   |   Contact   |   Help   |   Community rules   |   Advertise with us   |   Sitemap
Member directory:   A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z   

and help us continue to improve SiliconIndia
© 2010 SiliconIndia all rights reserved