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
Adobe Flex Builder Tracer Bullets
Iterative development through speedy coding

So how do you write Flex Builder Tracer Bullets knowing that Flex can be a RAD tool and Tracer Bullets are good to do? I have provided two lists, one technical and the other esoteric,  that you can follow to hopefully build your Flex applications a little faster via Tracer Bullets. Here are the two lists:

Technicals

  1. Don't use ActionScript, use MXML
  2. Use states, don't use transitions
  3. Write strongly-typed ValueObject's based on client's data needs
  4. Build workflows, then build use cases
  5. Use copious amounts of tagged builds in Subversion (or whatever source control you use)
  6. Componetize sections
  7. Use Canvas first, Panel later
  8. Make builds easy to see
  9. Use fake data from real ValueObjects
  10. Put event handlers in Script tag, not in MXML
Esoterics
  1. Find a friend in sales (or a stakeholder at your client)
  2. Write e-mails to stakeholders (sales/client) who ask a question that can be answered
  3. Recognize an opportunity, and take it
  4. Use a phone, not e-mail or IM
Don't Use ActionScript, Use MXML
Flex Builder can render MXML components pretty accurately, whereas ActionScript components are not so accurate. This means you can see, in the Design View, your application as it's coming together. This includes GUI controls and your use of states. Having to compile your app just to see one component visually is slow. Build in MXML because it's faster to write, and faster to see.

Use States, Don't Use Transitions
A lot of screens have specific states. Some have none. The majority, do, though. It's quicker to make one LoginForm with three states than three different MXML views that make up a LoginForm. Quicker to edit, too. Flex Builder can show you those states visually, and automatically write the code for you to add and remove controls as well as changing their properties when the state changes. It's always easiest to start with "main_state", and go from there. If you don't, you may later have to copy and paste the MXML you've already written into AddChild tags individually, which are themselves in state tags. Total pain. Do it right the first time.

Transitions, the animated changes between states, add a lot and make the user's eye-focus putty in your hands. Don't do it yet, though. Wait until you've gotten direction on your appliation before you start directing the user's attention. Transitions are probably the most volatile code in your application, and are also the most subjective. Finally, they cause unexpected changes later when you start throwing data at components that causes their state to change (like custom item renderers, for example).

Define clear states for each View (component), and build them using Flex Builder. It's okay to hand type MXML as well.

Write Strongly Typed ValueObjects Based on the Client's Data Needs
Understand the data you have, as a client developer, early. Whether it's coming from your server team, the client's server team, or both, understand what you are going to be able to represent that data model in a strongly type set of classes. These do not need to match the server, and new ones can be created specifically to make GUI development easier, including properties. Getting these done allows you to be build Views (components) that actually have accurate GUI controls on them to represent the data. No VOs, and your just guessing. VOs give your GUI design direction, and give it purpose.

If there is contention in the VOs, you have a communication problem. Solve it, learn the nomenclature, get the lingo down. Collectively agree with all parties involved to have one name for everything. While some developers will say two, "We call it an asset ID, but the customers call it an item ID," you're just making it more confusing for you in meetings, e-mails, and IMs. Bad communication will sabotage any project, and clear data is the key.

If they are strongly typed, when you decided to refactor, you'll get compiler errors in Flex Builder that make it easy to quickly change names in places that your global find and replace didn't catch (or if you were just too paranoid to do so, by hand).  This way, your application is resilient to change... and it's not even really an application yet.

About Jesse Randall Warden
Jesse R. Warden, a member of the Editorial Board of Web Developer's & Designer's Journal, is a Flex, Flash and Flash Lite consultant for Universal Mind. A professional multimedia developer, he maintains a Website at jessewarden.com where he writes about technical topics that relate to Flash and Flex.

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

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
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...
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make ...
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
Atlantis Computing™, the leader in Virtual Desktop Infrastructure (VDI) storage and performance opti...