Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Five Serious Warnings to Adobe Flex Development Managers
How to prevent your enterprise Adobe Flex project from failing

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 Director 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. He is an Adobe Certified Flex Instructor. Yakov co-athored the O'Reilly book "Enterprise Application Development with Flex". He twits at twitter.com/yfain.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

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.


Your Feedback
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.
Latest Cloud Developer Stories
Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
Skill at computing comes naturally to those who are adept at abstraction. The best developers can instantly change focus—one moment they are orchestrating high level connections between abstract entities; the next they are sweating through the side effects of each …
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP)....
Swisscom, the Swiss telecom, is going into the cloud business. Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
CONGRATULATIONS to National Reconnaissance Office (NRO) CIO Jill T. Singer for being selected as one of the 10 winners of the first annual CloudNOW awards presented in Santa Clara, California earlier this week...
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

Breaking Cloud Computing News

Codenomicon, the leading vendor of proactive security solutions today announced its...