Congratulations to Josh Tynjala and the Feathers open source project for the release of Feathers 3.0. Feathers offers a large collection of ActionScript user interface components and layouts for mobile and desktop. It is powered by both Starling Framework and Adobe AIR.
What’s new in this release?
Many of the changes in Feathers 3.0 can be found under the hood, including bug fixes and architecture improvements. This version lays a foundation for new components and features in future versions.
Improved Performance When Idle
Feathers apps benefit greatly from the architecture changes in Starling Framework 2.0. CPU usage in static scenes has dropped to nearly zero with Starling’s new
skipUnchangedFrames property. This means that apps built with Feathers should use less battery, which makes them better citizens on mobile devices.
Just take a look at this comparison made by Adobe Scout that shows an idle Feathers 2.3 app compared with the same app running on Feathers 3.0:
In Feathers 3.0, the developer experience gets better too. Let’s look at some of the skinning improvements.
TiledImage classes are no longer necessary in Feathers 3.0 because Starling 2.0 now supports these capabilities natively in the
Image class using the
Here’s an example of using the
scale9Grid property with an
var image:Image = new Image( texture ); image.scale9Grid = new Rectangle( 3, 2, 6, 3 ); image.width = 100; addChild( image );
For components that have more than one state (such as a
Button that can be up, down or disabled), Feathers includes a new
ImageSkin class that accepts multiple textures.
ImageSkin works a lot like Starling’s
Image class, but it adds a new
setTextureForState() method that can be used to pass in additional textures. Take a look at this example of using
ImageSkin to skin a
Button component’s states:
var skin:ImageSkin = new ImageSkin( upTexture ); skin.setTextureForState( ButtonState.DOWN, downTexture ); skin.setTextureForState( ButtonState.DISABLED, disabledTexture ); skin.scale9Grid = new Rectangle( 3, 2, 6, 3 ); button.defaultSkin = skin;
Migrating from Feathers 2.x to 3.0
Feathers 3.0 includes many more improvements, and some of them may require changes to your existing Feathers apps. Please read through the Feathers 3.0 Migration Guide for complete details about upgrading to this new major version.
You may also want to review the Starling 2 Migration Guide because it provides specific hints about upgrading Starling.