Recently, a coworker asked me – ‘What’s Robotlegs all About?’. I waved my hands around a bit, rambled about dependency injection, Spring, Swiz, until his eyes glazed over. Talking about frameworks only goes so far.
Enter Richard Lord’s fantastic AS3 framework comparison using Flexcaster, an example podcast application. Its a pretty simple example, but it compares the syntax and structure of a variety of frameworks including Robotlegs, PureMVC, Swiz, Cairngorm, as well as pure Flex 3 – all using a simple, uniform example.
Comparing the level of complexity, simply from a class-count, is a pretty interesting exercise. Check out these numbers!
Flex 3 – 13 Classes
PureMVC – 28 classes
Robotlegs – 30 classes (!)
Cairngorm – 20 classes
Swiz – 18 classes
To the framework’s defense, they are designed to scale to much larger projects, and its not entirely an apples-to-apples comparison. Robotlegs, for example, demonstrates two different feed implementations, and has a slightly different UI class model than the Flex 3 example. The Swiz example, eschews the Command pattern, and instead uses singletons. Its definitely an eye-opener to compare how they differ.
Recently, I got a chance to check out Scott Evan’s slides for his MAX 2009 talk on Flashbuilder tips and tricks. There’s a ton of new features, including:
Advanced navigation
Indentation Correction
MXML and Actionscript file Templates
Conditional Breakpoints (!)
I would definitely recommend checking out his slides, or his talk on Adobe TV. You’ll be more productive in no time!
Hello, I am pleased to announce that I will be speaking at MAX on the IHT Reader project, a next-generation desktop newsreader application that was featured in the MAX keynote on Monday.
Speaking along with Jeremy Clark and Justin Van Slembrouck, we’ll be covering the project from both a design and development perspective. I’ll be digging into some of the new text technology in AIR 1.5 and FP10 that made this project possible. I hope to see you there!
I’m excited to share with you the launch of Supercast, a premium service for DirecTV subscribers that allows viewers to watch all NFL games in high-quality h264 video encoding, while getting the latest scores, plays, and highlights.
While Flash video in the browser is great, the AIR application leverages a number of desktop API’s to improve the viewing experience, while providing DRM support that makes this type of application viable to media companies like DirecTV.
I think this project also proves there is commercial viability for AIR applications. Its probably the first AIR app that you can’t install, which is too bad because its one of the best. Definitely check it out if you have NFL Sunday ticket.
While I got to get my coding mitts in early on the project, the lion’s share of the application was built out by two talented consulting groups – Blitz Agency and gskinner.com. Congrats!
AIR provides some great API’s for integrating with other applications. Via the NativeDragManager and Clipboard classes, you can easily export your data in a multitude of formats, including PNG and CSV. Recently I had an project that utilized these features, and I figured it would be good to share the techniques with the community.
In particular this example, framed as a basic stock chart application, demonstrates the following features:
Native drag-and-drop with PNG images and custom image proxies.
Copy to Clipboard / Export with both PNG and CSV data formats – Right-click on the chart to get your options
Example code for customizing the HLOCChart class look-and-feel
These features were factored into ‘behavior’ classes so that they can (fairly) easily be applied to your own AIR apps.
Source is available by right-clicking and selecting ‘view-source’ in the application from anywhere but the chart.
James Ward created an excellent RIA Data Loading Benchmarking tool that compares the load, parse and rendering time of a number of RIA technologies including both AJAX and Flash based technologies. Its nice to see a well-designed tool spell out the performance differences of technologies. This should make it easier for Flash developers to explain to their CTO why AMF will save them money and result in a better app. Nice work!
In my last post, I wanted to distribute a sample AIR application via the user-friendly badge installation process. After taking a look at the available options, I came across an excellent Flash embedding solution for WordPress called Kimili. Kimili is a WordPress friendly wrapper on top of Geoff Stearns excellent SWFObject Javascript library.
I thought I would share my code snippet for my previous post in order to help the next person who was trying to get AIR badges in WordPress going:
Two side-notes:
The Kimili plugin delimits flashvars with semicolons bracketed by spaces (e.g. ” ; “). I’m not sure why it requires this odd syntax, but things won’t work if you eliminate the spaces.
I added a space betwen the closing bracket of the tag so that WordPress wouldn’t interpret it. The correct syntax should be “/]”.
The AIR windowing API offers some exciting new possibilities, and challenges, for Flash developers. With the Employee Directory Sample Application, we showcased a well-designed, real-world application that dynamically resizes itself to a changing content area. This is a powerful technique that simply isn’t possible within the confines of a browser window.
I thought it would be useful to distill this capability from the more complex directory application and provide a simple ‘kick-start’ application that demonstrates:
Leveraging transparent windows to create high-quality custom window chrome with drop-shadows.
Using the Flex Resize effect and event listeners to dynamically size a NativeWindow to the size of a changing content area
Simple PNG-centric CSS styling example with advanced text anti-aliasing applied.
You may install via the AIR badge below, or if you have less than 9,0,63, you will have to manually install the runtime and AIR file:
Source is available by right-clicking and selecting ‘view-source’ in the application.
One other factor with resizable applications not covered in this sample app is automatically keeping the application onscreen as the application resizes. This is a challenging problem that is addressed in the directory application (via a fairly convoluted solution), but is not covered here. Something I definitely hope to address more clearly in the future. Definitely check out the Employee Directory if you haven’t already.
Just thought I would announce the re-release of the Employee Directory AIR application on Labs. I am excited to show off what I think is a very useful corporate directory application that provides a better experience for finding fellow employees and conference rooms.
Technically, the application is probably not the best place for pure beginners to learn Flex and AIR, as it was built using best practices for extensible medium to large applications. That said, it is a great starting point for building your own corporate directory application – its very similar to what we’re using internally at Adobe.
Some of the AIR features demonstrated:
Offline data storage using SQL API’s
Resizable, transparent windows with automatic position management
Data synchronization and automatic application updates
I am pleased to announce that Adobe has released an AIR sample application that I worked on. The application is designed to be a lightweight company directory application that allows searching for employees and navigating through the management hierarchy.
From a technical standpoint, I think the application really shines. Not only does it demonstrate a number of cool AIR features, including the SQL API, but its pretty easy to integrate your own employee image and data sources, so it may actually be useful. Adobe is using an extended version of the app internally.
Feel free to contact me if you are trying to integrate the app and would like some tips.