YOUR FEEDBACK
Three RIA Platforms Compared: Adobe Flex, Google Web Toolkit, and OpenLaszlo
NN wrote: Yeah you are right GWT is poor man's Flex. After using GWT on two...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
MXDJ TOP LINKS YOU MUST CLICK ON !


Five Serious Warnings to Adobe Flex Development Managers
How to prevent your enterprise Adobe Flex project from failing

Digg This!

I assume that you are already sold on using Adobe Flex for developing the front end of your next rich Internet application. As of the end of 2007, it’s the best choice you can make, really. But after spending almost two years working on real-world projects that involve Flex, I can see a number of roadblocks that prevent Adobe Flex from being the only solution for RIA.

1.    Flex 2 is not a RAD tool – plan accordingly

If you made a decision to go with Flex after attending one of the sales presentations, you may get an impression that Flex is a magic wand and anyone can quickly create an application that will get the data from a remote computer and display the data using one of the nice looking components. Yes, Flex makes lots of things easier, but there is big difference between creating a quick prototype and delivering a production-quality well-performing application.  Next year, Flex 3 will offer some RAD features such as code generators for various tasks, which will really help.

Learn from the Ruby on Rails, which can get you started with a CRUD Web application in no time, but then it requires experience and hard work for turning a prototype into a product.  

You need to create a realistic project plan. Do not just accept the statement like “You can do things in Flex faster than in Java, so two months should be enough for this project. OK, let’s make it three to be on the safe side.” Sounds familiar?  It’s a pretty dangerous approach. Identify each screen and its components, try to assess the time and complexity of each of them, allocate resources, make the learning curve adjustments, and allocate ample time for  testing (dynamically typed programming languages require more time for testing as compiler are as not as helpful as in Java or C++).

Add up the times required for each of these components/processes and then add a 30% extra time to account for unexpected.

2.    The pool of Flex developers is still limited – re-train your own developers

Two years ago Adobe had announced that they expect to have one million of Flex developers by 2010.  I have my reservations.  I do not have any official statistics, but based on the number of Flex developers participating in various online forums, blog and book sales statistics, my guesstimate is  that there are under 100K Flex developers, and only a small number of them are IT professionals.

Adobe has achieved some good results in getting Flex into enterprises, but they are still facing resistance from Java developers. I know this firsthand as I work on the Flex/Java projects, mentor and train developers and a typical attitude of a senior Java developer is, “I can do all this in Java.” 

The other statement I hear is this: “I don't want to move away from Java.” People are not convinced that adding Flex to their skillset can improve their marketability.

I hope that Adobe can bring the number of developers to a mil, but at this point, you’d be better off retraining your Java, C++, PowerBuilder or other developers.

 Also, there are developers and there are developers. I mean that only a small number of developers in any programming language are IT professionals. Enterprises need  well-rounded Flex developers who understand Web applications and are not afraid of SQL.

So far, Adobe did not invest in engaging colleges and universities with Flex.  Computer science majors do not know about Flex. However, according to my sources,  the situation may soon change. Expect some major announcements regarding popularizing Flex in academia.
      
3.    Check the credentials of the vendors you hire

This is a tough one. By checking credentials I do not mean comparing the quality of PowePoint decks and skills of sales people of the vendors offering Flex professional services.  Ask them to do stuff before letting them work on your project.  I’ve seen six-month-old Flex projects in poor shape.

”Why did you select this vendor?”

”They gave us the best deal.”
 
There is a way to check if the prospective vendor can deliver. If several vendors bid on your project, allocate an extra money in the budget and hire each of the bidders for two weeks. Ask them to create a working prototype of your system. In two weeks a good Flex developer can create an application that may resemble your future system. Hire the vendor who does the best job. This will require some extra money upfront, but in the long run the savings can be huge.

4.    Be careful with frameworks – use components

Developers that come to Flex from Java start looking for an application framework. They are ready to be confined to a cage. Don't be. Even though Flex has several application frameworks, think twice before entering the cage. This may be overkill for your project and may slow down the development by introducing yet another tool to learn. Stick to small self-contained widgets. Use data-driven components. Apply code generators that minimize the amount of error-prone manual coding.

5.  Architect your applications properly. Avoid monolithic solutions

Recently, one of the project managers told me, “We’ve chosen Flex to avoid page refreshes, but our pilot application requires 10 seconds to load and another 10 seconds on each screen change.” After a quick analysis, it was clear that the application has been improperly architected. It was one large swf file, no libraries or modules had been used, session management was not properly done, and caching of the reusable data was not present.

Is this Flex’s fault? Of course not, but try to prove it to your architecture committee or, more important, to your business users.

What’s my message to you, the Flex aficionado? Your relationship with Flex will go through three main phases: falling in love, marriage and honeymoon, and daily hard work on making the marriage work. The last phase is the most important one.  And...I really like working with Flex.

About Yakov Fain
Yakov Fain is a managing principal of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , "Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters" in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. Yakov teaches Java and Flex 2 part time at New York University. He is an Adobe Certified Flex Instructor and an Editor-in-Chief of Flex Developers Journal.

ChristopherVM wrote: Good points - we have to stay grounded and realistic in our enthusiasm for the product. And we *must* keep the technology of the tool separate from design issues and the discipline of project management. A project can falter or fail as a result of weaknesses in any one these three areas, but the blame is rarely assigned justly.
read & respond »
LATEST FLEX STORIES & POSTS
A Runtime Integration Approach to Application Development
This pattern is a hybrid of plug-in and event driven architecture to integrate individual plug-ins together with one another to come up with Plug-in Integrator pattern. This pattern leverages the benefits of both these well-known architectures to provide a optimal solution to build ent
AJAX World - Sun Talks Up its Late-to-the-Party AIR-Silverlight Rival
At Java One this week Sun has been selling its year -old-but-still-upcoming - and definitely late-to-the-party - Adobe AIR- and Microsoft Silverlight-competitive JavaFX Rich Client environment as a potential revenue-generator capable of putting ads on mobile applications and JavaFX Scri
AJAX World - Xceed Launches Microsoft Silverlight 2 Control
Xceed launched Xceed Upload for Silverlight, the commercial offering in support of Microsoft's promising new Silverlight technology. The product is available now for purchase or as a fully functional 45-day trial on Xceed's website. Xceed Upload for Silverlight lets developers add uplo
Microsoft To Keynote 4th International Virtualization Conference & Expo
Mike Neil is general manager for virtualization strategy in the Windows Server Division at Microsoft. Mike is focused on the delivery of the Windows virtualization technology, including Windows Server 2008 Hyper-V, Microsoft Hyper-V Server and Virtual PC 2007. Mike also directs the tec
AJAX World - Skyway Software Announces RIA Developer Contest
According to Sean Walsh, President and CEO of Skyway Software, 'Our Skyway Community is thriving and our members are very talented. We truly look forward to their RIAs submittals and Skyway Builder extensions and are excited that all of the contributions will benefit the entire Skyway
"Virtualization Journal" Debuts This Week at JavaOne
Founded in 2006, SYS-CON Media's 'Virtualization Journal' is the world's first magazine devoted exclusively to what Gartner has earmarked as the single highest-impact IT trend through 2012: virtualization. And now it will be available on newsstands worldwide, as SYS-CON Media seeks to
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE