I was recently challenged to build a robust and user-maintained system that read in several XML files, and mapped into an object model for processing and other, general, manipulation. The system displayed the information in many fancy indexed, and animated ways, and then returned the data back out to the wild-wild-web where it became, you guessed it, persisted once again.
I designed the system using Interfaces and Base Classes so that I could take advantage of the Object Oriented capabilities of ActionScript 2.0. This was my first experience, in such depth, with the vast array of arrays, object juggling and sorting, dynamic classes, and the like, that are inherently delivered and available in the ActionScript 2.0 programming environment that we, so lovingly, call Flash.
As in all ActionScript 2.0 Programming; the more complex the system, the less support you have as you move forward. The object model that I had designed was actually quite simple, however, there is very little conversation, and even less documented help and reference material within Flash for these types of more complex model-driven object oriented endeavors.
The ability to do great things in an object modeled and framework engineered type of manner does exist within the tool, but it often seems that Adobe does not want it's programming customers to use their product to it's full potential. From a more positive perspective, perhaps they do not see the potential as we, the modelers and architects of the world do. From my context and experience, as one begin to unforgettable the more complex potential buried deep within Flash, one begins to find oneself quite lost and alone, and fast.
It is very dissuing, to put it mildly, when a programmer that is used to working in languages such as Java or .Net, becomes exhausted from hours-on-end of scouring the web for even a one line example of what it is they are trying to accomplish. Even worse, and unquestionably, much more evasive, is any sort of (quietly now, shh) API Documentation. Doh! I will certainly burn in hell for saying that, I can feel the flames from below as I type.
Advanced ActionScript 2.0 Support is like a soft contact lens incidentally dropped into a lake of attainable reference materials. The support that the other, more widely used, programming languages would include several oceans of this type of information, when looked at in contrast.
In-depth, complete and exhaustive support, both in the form of Adobe, and in the form of the more useful, and user friendly Web-Forum, becoming fleeting, at best, when a developer wants to do more than just click and drag .
Like growing a lawn of weeds, it is easy to find support if you want to drag, drop, and then spaghetti code into the layers and Timelines of your system, all of this fettuccine programming quickly becomes lost deep inside the bowels of Flash, and lends itself to a wide variety of aches and pains. But the good news is that there is plenty of help if you are in the market for this type of Flash (cough) Application.
The curious and wide eyed developer culture, (Indigenous to the North American Woodlands) will certainly become enamored, at first, with the novel, glittering and sparkling ActionScript 2.0 environment that it finds itself dabbling in.
Soon after this initial fascination, the developer will become exhausted from the tedium and inefficiencies of the environment, discouraged from debugging to no productive end, frustrated from searching through the fathoms of code that it will inevitably bury within the many dimensions of layers scenes and clips .
It may even possibly become violent, they have been known to bite. Ultimately, however, you can wager your home and your newly purchased Flat-Screened TV, that the developer will run scared and confused, back into the safety of its structured, dependable, and supportive woodland from when it it boldly ventured.
There are a few oasis of resource out there in the lifeless .as desert. I imagine with a chuckle, that the people who write for these resources at one point testified out in joy when they, together, met each other and started working together, I can just hear them, "Thank god I'm not alone anymore, sob, sob … "
Seriously, though, one of the best islands of information for all things ActionScript is Actionsctipt.Org .
You may be surprised to hear, after all of this ranting and raving, that I am excitedly anticipating any opportunity to exploit the latest release of ActionScript 3.0, in all of it's Eclipse capable Object Oriented Loveliness.
I have said this before, but I will reiterate for those of you who have not read my previous bits, it brings about the point that really want to get across to anyone out there considering ActionScript 2.0 programming.
ActionScript 3.0 will keep me in the business of Flash programming. If it were not for the recent release of ActionScript 3.0 capabilities in Flash CS3, I would certainly not continue down the headache laden path of struggle and frustration that I have been walking for several years now.
It has been a cold and bitter road that I have traveled. Accompanied by ActionScript 2.0, lagging behind as it is wont to do, biting at my ankles and glaring and growing at me as we trek.
I will keep on walking, and I will also continue to bitch for you, in the hope that I can save you all a bit of struggle. Hopefully the bitching days are dwindling, they become sedated with the promises of ActionScript 3.0.
You can find other, less opinionated articles, tutorials, and words of wisdom concerning ActionScript, Java and more at my home on the web Tips-for-You.com