Filed under Architecture

The State pattern in Flex – combining view states with logical states

by

If you’ve used Flex, you’ve no doubt (er, hopefully) been using View States (AKA <mx:State>) to change the look of your RIA as it progresses through different situations of use. While this is immeasurably useful, it does not necessarily qualify as an implementation of the State Design Pattern which allows you to change not only how a component looks but how it functions as well.
(for more on design patterns, read my favorite book Head first design patterns).
Continue reading

Introducing KitchenSync – an open-source animation library for AS3

by


After about 6 months in development, I’m very proud to announce the release of KitchenSync, a multi-purpose tool written in ActionScript 3.0 for doing tween based animations and timing of functions and much more. The project is open-source under the GNU LGPL and hosted at Google Code. Please take a moment to check it out and feel free to write to me with questions, comments or suggestions for improvement!

KitchenSync is more than an animation library

KitchenSync is more than an animation library. Tweens are a major part of KitchenSync but that is not the end. It also allows you to sequence sounds, functions, and event dispatches among other actions. The framework is open-ended allowing you to come up with new ways to work with the virtual timeline.

KitchenSync was designed with developers in mind

KitchenSync was designed for developers who want a smart way to handle animation or other time-based functionality with code. Written from the ground up in ActionScript 3.0, KitchenSync relies on smart object-oriented architecture rather than complicated shorthand. It includes a number of features and shortcuts, such as the clone() method, that save effort for developers. KitchenSync makes extensive use of events and informative runtime errors and is quite flexible when it comes to extending the functionality.

KitchenSync aims to…

  • offer a well-architected, extensible framework for working with time-based animations and events.
  • take advantage of the power of ActionScript 3.0 while using OOP best practices and design patterns and without requiring the Flex framework.
  • respond to the needs of developers with a rich set of features.
  • be a full-featured library for animation and timeline based actions.

Links

Flex 3 Tips, Tricks, and Gotchas (A Series)

by

At Your Majesty, I just launched a small (2.5kloc outside libraries, 2 weeks dev/qa time) site using Flex 3: the Axe Vice Naughty to Nice sweepstakes site. I chose Flex for this project because of the exceedingly short dev cycle, and because it contained forms and validation I could take out-of-the-box. However, like any project, I ran into a fair share of problems from annoying to outrageously aggravating, and I feel like it always helps to document what I learned, not just for everyone else but for my future self. You’d be surprised how often I have to open up chapters I wrote myself for the AS3 Bible or Introduction to Flex 2 and refresh my “memory,” if you can even call my rattling collection of underused neurons such a thing. Read on for tons of tips, tricks, techniques, and tilapia.
Continue reading

(pseudo) Abstract Classes in AS3!

by

(Since we’re MXNA’d now, I wanted to bring this post and maybe a couple of others back up to the top by reposting them. This was written back in October)

I was looking at this blog post by Tink about more strict Abstract constructors in Flash using Errors. I worked out a way that is a bit more formalized. It adds support for abstract methods and unlike Tink’s example, doesn’t require you to type out the string of the class name.

Continue reading

Oldest New Feature Awards

by

OK, OK, I promised myself I wouldn’t knock on Vista until I’ve really given it a fair shot, and I think that’s what I was doing when I went to the Vista features showcase too see what fantastic new innovations are on their way from Redmond. I’m sure it’s no surprise that most of them had already been fantastically innovated by their competitors.

But there are some among these which many of us have been enjoying for so long now that they are as much features of an operating system as a steering wheel is a feature of a car. So without further ado, I present

The Oldest New Feature Awards

Continue reading