apollo and as3 — down for the get down
for the project we are working on for the bbc we’ve decided to build it as an apollo app. using some adobe prerelease softwares ive been experimenting with apollo (and as3) for the last week and i must say, im impressed.
first of all, mxml is fantastically easy. setting up an app and adding components is as intuitive as it should be. the level of control between mxml components and actionscript is really amazing. stuff like parsing xml (as in rss feeds for example) and simple ui interactions (like radio buttons etc) are really straightforward. i suppose for those who have used flex before, this aint so new, but it was for me and i was left thinking, ‘why haven’t i been doing this all along?’. but one of the biggest things apollo brings to the table is the ability to render html inside flash apps. finally. furthermore, you have almost full integration with the page’s javascript from an apollo app (read: ajax, hi how are ya). i havent played with the javascript much, im still just impressed i can even show a page.
what i have been playing with is actionscript 3. it would seem adobe is doing it right this time. packages and classes as they should be: everything in its place and a place for everything, means that my cs degree is coming in handier than i would’ve thought. initially i was worried about the overhead, but other than a lot of restructuring its not so different—well, in terms of coding that is. the performance on the other hand feels light years ahead. par example: x-wing as2/as3 comparison. the app we’re building is very visually intensive and has lots of motion and interactivity. effects that would surely have brough as2 to a crawl now seem to chug along at just the right pace. applying these effects, when leveraged with flex, is also a vast improvement of pure as2. flex’s built in effects (zoom, rotate, fade, etc) work right out the box. so by extending the UIComponent class, you’ve all of a sudden got yourself a whiz-bang animatable thing (whatever it may be…) that can actually keep up in a real world situation. props adobe, props.
on a side note, i accidentally discovered one of the coolest things ive seen in a long time. when i set the final alpha of an fade effect to 100 (as opposed to 1), the result was a hole in the middle of my app. i should take a screenshot and show you, but literally you can see through your app to whatever is behind it, and whats more, you can directly interact with what’s underneath. im not sure if this is intended functionality (i know its something apollo is supposed to be able to do, just not sure if this is the situation they had in mind) but it was pretty sick…for one thing it allows you to make an app of any shape that can dynamically change shape on the fly (desktop strippers, here i come).
well, surely more to come once i get more into the project, and if youre lucky (and its legal?) maybe ill post a demo of something.