Welcome!

Adobe Flex Authors: Matthew Lobas, PR.com Newswire, Shelly Palmer, Kevin Benedict

Related Topics: Adobe Flex, Java IoT, Machine Learning

Adobe Flex: Article

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.

More Stories By 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.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the APIs that make today's multi-cloud environments and hybrid clouds possible. In this Power Panel at 17th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the importance of customers being able to use the specific technologies they need, through environments and ecosystems that expose their APIs to make true ...
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
We are seeing a major migration of enterprises applications to the cloud. As cloud and business use of real time applications accelerate, legacy networks are no longer able to architecturally support cloud adoption and deliver the performance and security required by highly distributed enterprises. These outdated solutions have become more costly and complicated to implement, install, manage, and maintain.SD-WAN offers unlimited capabilities for accessing the benefits of the cloud and Internet. ...
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
In an era of historic innovation fueled by unprecedented access to data and technology, the low cost and risk of entering new markets has leveled the playing field for business. Today, any ambitious innovator can easily introduce a new application or product that can reinvent business models and transform the client experience. In their Day 2 Keynote at 19th Cloud Expo, Mercer Rowe, IBM Vice President of Strategic Alliances, and Raejeanne Skillern, Intel Vice President of Data Center Group and G...
DXWorldEXPO LLC announced today that "IoT Now" was named media sponsor of CloudEXPO | DXWorldEXPO 2018 New York, which will take place on November 11-13, 2018 in New York City, NY. IoT Now explores the evolving opportunities and challenges facing CSPs, and it passes on some lessons learned from those who have taken the first steps in next-gen IoT services.
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
Founded in 2000, Chetu Inc. is a global provider of customized software development solutions and IT staff augmentation services for software technology providers. By providing clients with unparalleled niche technology expertise and industry experience, Chetu has become the premiere long-term, back-end software development partner for start-ups, SMBs, and Fortune 500 companies. Chetu is headquartered in Plantation, Florida, with thirteen offices throughout the U.S. and abroad.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...