# Feathers UI (AS3/Starling), skinnable ActionScript components for Starling and AIR

> Feathers UI is a library of light-weight, skinnable and extensible interface controls written in ActionScript 3 that run on Starling Framework and Adobe AIR. Its releases have not moved since 2020 even though the repository was pushed to in August 2026, which is the main fact to weigh before adopting it.

**feathersui/feathersui-starling** — User interface components for Starling Framework, ActionScript 3, and Adobe AIR

- Repository: https://github.com/feathersui/feathersui-starling
- Website: https://feathersui.com/learn/as3-starling/
- Stars: 913 · Forks: 375
- Language: ActionScript
- License: NOASSERTION
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/feathersui-feathersui-starling

## A component set that treats the GPU as the drawing surface

Feathers UI (AS3/Starling) is a library of light-weight, skinnable and extensible UI controls for mobile and desktop. The primary language of the repository is ActionScript, which dates the project immediately: this is ActionScript 3 code, for Adobe AIR and Adobe Flash Player, and the repository description says so plainly, user interface components for the Starling Framework, ActionScript 3, and Adobe AIR.

The components run on the Starling Framework and on Adobe AIR, and the stated benefit of that base is GPU powered graphics for a smooth and responsive experience. That is the whole reason for choosing this stack over the classic Flash display list, and it is a real architectural decision rather than a preference.

The deployment targets are equally specific. You can build completely standalone, native applications on iOS, Android, Windows and macOS through AIR, or target the Adobe Flash Player in desktop browsers. Feathers is the layer that makes those two paths look the same, which matters for a product that has to ship as a desktop browser app and as a mobile app from one codebase.

The authorship and licensing are worth noting. Feathers UI is created by Josh Tynjala from Bowler Hat LLC, and it is free and open source. The licence field in the repository points to a custom licence in the LICENSE.md file rather than to a standard identifier, so the terms are whatever that file says rather than one of the familiar permissive licences.

The version in the README is 4.2.0, and the homepage is the AS3 and Starling section of the Feathers UI site, with an API reference, a getting started page and a discussion forum on the Starling community site.

## The requirements floor is AIR 50 and Starling 2.7

The minimum requirements are listed in two lines, and they are the entire compatibility statement: Adobe AIR 50 and Starling Framework 2.7.

Those numbers tell you the vintage of the target platform. AIR 50 is a late-generation desktop runtime, and Starling 2.7 is a mature release of the GPU-accelerated framework. In other words, Feathers requires a fairly recent AIR and a fairly recent Starling to work at all, and it will not run on the AIR versions shipped with the earliest Flex-era projects.

The practical implication is that Feathers cannot be dropped into an existing legacy AIR application that is stuck on an old runtime. The AIR upgrade and the Feathers upgrade are the same piece of work, and the Starling version has to move with it.

Installation itself is documented off the repository. The README's Downloads section sends you to the Feathers Installation page for the AS3 and Starling version to download the latest stable version of Feathers for ActionScript 3.0 and Starling Framework. There is no package manager entry and no build step you are expected to run just to obtain the library, which is the normal shape for a library of this era: the compiled SWC and the source archive are the artefacts, and the documentation site is the installation manual.

The repository does carry the build machinery for anyone who wants to produce the library themselves, with build.xml, build.properties, sdk.properties and two package descriptors, package-src.json and package-swc.json, one for the source distribution and one for the compiled library.

## Themes and sources are separate from the components

The top level of the repository shows how the library is laid out, and the directory names do most of the explaining.

There is a source/ directory for the ActionScript code, a themes/ directory, a documentation/ directory, a test/ directory, and an examples/ directory. The separation of themes from source is the interesting one, because skinnability is the property the README leads with, and a theme is what makes a component skinnable in practice. A control set where the visual layer is a separate artefact means a product can change its entire look without touching the interaction code.

The documentation/ and test/ directories are also worth noticing. A library with a test directory has tests, and a library with its own documentation directory has documentation that ships with the code rather than only on the website.

The themes directory also implies the third-party theme question. A component library that ships with themes invites others to write them, and if a product needs a look that no theme provides, the skinnable parts of Feathers are the extension points for building one. That is the practical value of the design, and it is also where the licence file becomes relevant, since a theme that redistributes parts of the library inherits its terms.

## Sixteen example applications carry the documentation

The examples/ directory is the largest and most informative part of the repository, and it reads like a catalogue of what the library actually covers.

There is HelloWorld as the smallest possible entry point, and ComponentsExplorer, which is the conventional control gallery where every component can be seen and adjusted. Then there is the set of domain examples: DragAndDrop, DrawersExplorer, Gallery, LayoutExplorer, PullToRefresh, StackScreenNavigatorExplorer, Tabs, TileList, Todos, TrainTimes, TransitionsExplorer, Video, YouTubeFeeds and Magic8Chat.

Each of those names implies a capability. DragAndDrop is the hard one in any UI toolkit, Gallery and TileList cover list rendering with items of different shapes, LayoutExplorer covers the layout container and its options, StackScreenNavigatorExplorer covers screen navigation with transitions, TransitionsExplorer covers the animation vocabulary, PullToRefresh covers the gesture pattern that mobile apps are expected to have, and Magic8Chat and YouTubeFeeds are complete applications rather than component demos.

The consequence for an evaluator is practical. The examples are the documentation for the hard parts, and reading DragAndDrop or StackScreenNavigatorExplorer tells you more about how the library behaves than any description would. The examples/build.xml and examples/shared-assets/ directory show that they are built as a set, so they can be compiled and run rather than only read.

## The releases stopped in 2020 while the repository kept moving

The release history is the part of this project that needs the most attention from anyone considering it.

The listed releases are v4.1.1 on 2020-05-01, v4.1.0 on 2020-02-18 and v4.0.0 on 2019-01-17. So the last tagged release is more than six years old, and there have been no GitHub releases since.

The README nevertheless names version 4.2.0 as the current version, which means the shipped build comes from somewhere other than the release tags, most likely the installation page the README points to. For a library that is a dependency of your application rather than a tool you run, that distinction matters less than it would for a service, but it does mean that the source of the artefact you depend on is not pinned by a tag in this repository.

The repository itself is not frozen. The last push was on 2026-08-20, and the top level carries a CHANGELOG.md, so there has been recent activity in the tree even though the release tags have not moved. Whether that activity is documentation fixes, maintenance of the test suite or preparation of a 4.2.0 release is not something the README states.

That combination, a long-dormant release line with a recently touched repository, is the situation to plan for. If you adopt Feathers, you are adopting a specific SWC file from the installation page, and the upgrade path from one version of it to the next is not documented anywhere in this repository.

## Where Starling on its own is the better answer

The alternative to Feathers is building the interface directly on the Starling Framework's own display list, which is a real option for a small interface and a poor one for a large one.

The difference in approach is that Starling gives you a rendering engine and a sprite-based scene graph with GPU acceleration, and no controls. Everything else, buttons, lists, text input, scroll containers, navigation, theming, is yours to build. Feathers supplies those on top of the same renderer, so an application built with it and one built on raw Starling end up with the same performance characteristics and completely different amounts of code to maintain.

For a product with a handful of screens and simple interaction, hand-rolling on Starling can be the better trade, because a component library brings its own conventions about focus, keyboard handling, accessibility and screen sizing, and those conventions are not always the ones you want. For a product with dozens of screens, the opposite is true and the argument is about maintenance cost rather than features.

There is also the platform question, which sits underneath both options. Adobe Flash Player is end-of-life, and Adobe no longer maintains AIR itself. A project on this stack is either maintaining an existing product or building something with a defined end date, and in both cases the component library is a way to spend less time on the parts of the interface that do not differentiate the product.

## Conclusion

Feathers UI suits a team still shipping an ActionScript 3 product on Starling Framework or Adobe AIR that wants a full set of themed controls instead of hand-built ones. It does not suit a new project, because Flash Player is end-of-life and Adobe no longer maintains AIR and the newest tagged release is v4.1.1 from 2020. Before you commit, read the installation page for the AS3 and Starling version to see where the current builds come from, check that the 4.2.0 version named in the README has a matching downloadable package, and confirm the Starling Framework 2.7 and Adobe AIR 50 baselines match your toolchain.

## FAQ

### What is Feathers UI for ActionScript and Starling?

It is a library of light-weight, skinnable and extensible UI controls for mobile and desktop that run on the Starling Framework and Adobe AIR, using GPU powered graphics. It can be used to build standalone native applications on iOS, Android, Windows and macOS, or to target the Adobe Flash Player in desktop browsers.

### What are the minimum requirements for Feathers UI (AS3/Starling)?

The README lists Adobe AIR 50 and Starling Framework 2.7 as the minimum requirements. The library therefore cannot be added to a legacy AIR project that is still on an older runtime without upgrading the runtime first.

### Where do I download Feathers UI for ActionScript 3?

The README's Downloads section sends you to the Feathers Installation page for the AS3 and Starling version, which hosts the latest stable build. The repository itself carries build.xml, build.properties and the package-src.json and package-swc.json descriptors for building the library and its source package yourself.

### What do the Feathers UI examples cover?

The examples directory holds projects including ComponentsExplorer, DragAndDrop, DrawersExplorer, Gallery, LayoutExplorer, PullToRefresh, StackScreenNavigatorExplorer, Tabs, TileList, Todos, TransitionsExplorer, Video, YouTubeFeeds, Magic8Chat, TrainTimes and HelloWorld, built as a set with a shared build file and shared assets.

### Is Feathers UI still being released?

The tagged releases stop at v4.1.1 from 2020-05-01, with v4.1.0 in February 2020 and v4.0.0 in January 2019, and there are no GitHub releases, although the README names version 4.2.0 and the last push to the repository was on 2026-08-20.

## Sources

- [feathersui/feathersui-starling on GitHub](https://github.com/feathersui/feathersui-starling)
- [Issues](https://github.com/feathersui/feathersui-starling/issues)
- [Project website](https://feathersui.com/learn/as3-starling/)
- [README](https://github.com/feathersui/feathersui-starling/blob/master/README.md)
- [Releases](https://github.com/feathersui/feathersui-starling/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/feathersui-feathersui-starling
