Feathers UI version 1.0 for Haxe and OpenFL

Today, Feathers UI v1.0.0 is now officially available on Haxelib. This is the first stable, major release of the library after three years of effort porting the original Starling codebase to OpenFL and Haxe — including many new UI components and improvements to the core APIs. Going forward, Feathers UI should be considered ready to be deployed to production, and its API should be considered stable — changing only with major versions, when necessary.

Be sure to read to the very end of this post for an exciting bonus announcement…

By the way, a massive thank you to everyone who contributed to the 2019 Feathers UI Kickstarter campaign and everyone who continues to support the project on Github Sponsors. Though this first release took longer than I hoped, we're finally here. It couldn't have been done without the generous support of the community.

If you're not aware, Feathers UI is an open source framework of graphical user interface (GUI) components for creative, cross-platform projects. Using the Haxe programming language, Feathers UI is built on OpenFL, a user-friendly library for rendering, input, networking, and more. Deploy native apps to iOS, Android, Windows, macOS, Linux… and even publish your project to the web — all using the same Haxe codebase.

What's new in 1.0.0

As should be expected, since rc.2 was released in June, only a couple of small bug fixes have been committed. For complete details about what's new in this build, check out the v1.0.0 CHANGELOG.

Instead, let's look at some things that are new in the Haxe and OpenFL version of Feathers UI versus the original Starling version.

If you've never used Feathers UI before, everything is new to you. In that case, you should check out the list of Feathers UI components and the Getting Started guide for an overview of the library and its capabilities. Be sure to visit the Feathers UI Samples page to see example apps and demonstrations of individual features. And drop by the Showcase to see what other developers have built with Feathers UI.

If you're experienced with the original Starling version of Feathers UI, you might be interested in some of the new features that have been added in the Haxe and OpenFL version of Feathers UI.

UI Components

Several new UI components have been added that didn't exist in the Starling version.

Layouts

A new ResponsiveGridLayout gives you a 12 column layout that can change appearance based on device screen width — similar to Bootstrap and other web frameworks.

Plus, one thing to point out about existing layouts: As you can see below, a few of the core layouts were separated into two or more variations for simple containers (like LayoutGroup and ScrollContainer) and data containers (like ListView and TreeView).

The benefits of this refactoring include 1) smaller output file sizes when you don't need every feature, 2) easier subclassing, and 3) less complex custom layout classes.

Skinning

Finally, be sure to check out the new skinning capabilities using OpenFL's graphics API.

  • Common shape skins explains how to skin a UI component with vector graphic shapes, such as rectangles, circles, tabs, pills, and more. Customize fills and strokes with solid colors, gradients, and tiled bitmaps.
  • Custom programmatic skins shows you how to use the new ProgrammaticSkin base class to create even more advanced custom skins with your own graphical shapes, state changes, and animation.

Install Feathers UI v1.0.0

Feathers UI v1.0.0 may be installed using the haxelib install command in your terminal.

haxelib install feathersui 1.0.0

Be sure to take a look at the complete installation instructions for details about installing required dependencies, along with links to step-by-step tutorials for setting up supported editors and IDEs.

Documentation

  • The Feathers UI Getting Started guide provides the most essential links for creating your first Feathers UI project and learning about all of the features and UI components that are available in the framework.
  • The v1.0.0 API Reference includes descriptions of all APIs available on Feathers UI components, layouts, utility functions, and more.

Community

How to help the project

Want to help keep the lights on and servers running? Please contribute on Github Sponsors.

Questions or comments?

Everyone, I just want to say thank you again for your support. I'd love to hear about your experience so far with Feathers UI — whether it's good, bad, or in-between.

I've created an official v1.0.0 discussion thread in the community forums. Head over there to leave a comment!

Wait, there's more…

Finally, I'd like to announce that this is the start of Feathers UI Release Week. Hold on… did I say week?! Yes, there's a lot more in store.

I've released several useful new open source projects related to OpenFL and Feathers UI. Get ready for some new build tools, micro-frameworks, and utility libraries to make development easier.

The first of these additional open source releases happened on Tuesday, September 6, 2022 (because Monday was a holiday in USA). Then, I released something new each day until my queue was empty. It continued beyond a week, to be honest! There's just so much to share, and it's super exciting to finally release it all for you.

Please give Feathers UI v1.0 a try, and check out those bonus open source announcements too.

Happy coding!

Josh Tynjala, Feathers UI