With all the hype around Flash’s ability to communicate with servers to build “Rich Internet Applications”, many people seem to have forgotten some of Flash’s native abilities. Sadly, new developers are unable to think outside the box as they try to figure out how to perform unctions using a technology like ASP, when Flash can handle the problem all by itself. Knowing what Flash can do by itself, and where Flash will need help from a server, is imperative for planning and developing projects.
Once Upon a Time…
Flash started out simply as a way to deliver vector animation over the Internet. Many would-be competitors came and went, but Flash clearly stayed on top as animation platform of choice for most developers and designers. No one was capable of predicting what we’d be doing with Flash today. As new versions were released, new features emerged that opened up whole new worlds for developers. Audio, ActionScript, streaming video, and remoting have made today’s Flash Player the most diverse platform available on the Internet.
Enter: Rich Internet Applications
The latest selling point is the ability to build applications in Flash. Macromedia wants the world to know that Flash is no longer just a simple marketing tool. This baby can now save data, calculate complex equations, and stream up-to-date information without the need for users to refresh your browser.
Data can now be saved and retrieved from remote databases. This has opened possibly the largest source of revenue for Flash development to date, as companies are constantly looking for new ways to build dynamic applications on top of their databases. To top it all off, developers can now build and reuse components to dramatically reduce development time.
With all these new features, developers can build what Macromedia calls “Rich Internet Applications”. Basically, this means that developers can build in Flash useful programs that can be applied to practical tasks, and part of this description involves using Flash with a server side language like Cold Fusion MX. Macromedia has provided several samples of RIAs in action, including a mortgage calculator, an address book, and the ever popular Pet Market Blueprint Application. Although each of these samples are very diverse in nature, all of them have one thing in common: a server is required.
In Macromedia’s push to sell more copies of Cold Fusion MX and advertise Flash’s new remoting capabilities, Flash’s native features have been neglected. In these samples, tasks that could have been handled within Flash are instead achieved using Cold Fusion MX, which makes the task much more complicated. If you, as a developer, wanted to recreate the power of Flash in any of these samples, you’d need a server, as well as whatever language was involved.
What Flash can Acheive by Iitself
The list of items that Flash can handle by itself is large. The more obvious capabilities include animation, audio, key framing, loading and streaming MP3 and JPEG files, and tweening (shape and motion).
But, among the capabilities many developers erroneously think necessitate the use of a server, are:
There is not a single equation out there that Flash cannot handle. Using ActionScript, Flash can calculate everything from simple addition equations, all the way through to complex calculus equations that you might not have used since High School.
2. Client-Side Data Storage
3. Client-Side Validation
When users enter data into Flash, Flash can handle all validation, including email addresses, required fields, phone numbers, and more. Instead of the typical browser refresh telling the server to check a database, find invalid data, and then use the browser to tell a user that he or she did something wrong, Flash can determine a problem immediately.
Where Flash Needs Help
With all the magic Flash can perform, it can’t do everything. There are two incidences where help from a server is needed:
1. Remote Storage
On any occasion when Flash needs to connect to a remote database in order to save or retrieve information, a server must be involved. Although the Shared Object can save information locally, this data can only be accessed on the user’s local computer.
2. Multi-Client Communication
In the event that one user needs to communicate to another user via Flash, a server must be involved. Whether it is video, audio, or text, Flash cannot act as a server to pass the communication back and forth. All of these multi-client communication features are handled in Macromedia’s Flash Comm Server.
There you have it — a complete overview of what Flash can and can’t do on its own. Now that you know the difference, remember these aspects when planning your next Flash project. It will save you a lot of unnecessary time and money.
If you’re after more information on this technology, try:
ActionScript.com (Flash news)
The History of Flash