
Flex developers rejoice! Once only reserved for advanced games engines, the tilde-activated developer console has finally arrived to empower Flex coders everywhere.
I am proud to announce the long-delayed release of the
Tilde Developer Console open source project into the wild. This Flex library makes powerful development tools from the
PushButton Games Engine available to all Flex developers.
[June 21, 2010 - Update: Check out the Tilde Console demo application
here.
]
I do enterprise Flex RIA development for a living and extracted this powerful tool set for my own use a few months ago after attending
Nate Beck's presentation on the aforementioned games engine at
360|Flex 2010 in San Jose, California. The console quickly became one of my most important tools, in particular when saving my bacon multiple times during user acceptance testing for a large, complex project. Because I wrote so little of it myself, I intended to release the source code to the public from the outset but have been altogether too busy to even think about it.
This week, things have started quieting down again (
I know, I know... it won't last) so I fetched and merged in the latest code from the
PushButton Engine (which contains some very cool new optimizations to the console display) and polished it all up for public consumption. Given how much I've personally benefited from using the console, I'm excited to finally be able to share this with my fellow Flex developers. If I wasn't confident that many of you will appreciate these tools every bit as much as I have, I wouldn't have bothered to create a logo. (Using
Inkscape, I might add... a fine, free, open source SVG tool.)
The key tools in this package are:
Developer Console
- A versatile "tilde-activated" console similar to that found in many 3D games engines (e.g. Unreal, Source, etc.)
- Tab-based command auto-completion, command history and built-in help
- Powerful ability to register custom call-back commands at run-time. These are treated identically to the built-in commands.
- Utility functions for serializing object information to the console
- Integrated "Hi-ReS! Stats" graph from Mr.doob
Client-Side Trace Logging
- Statements are logged to both the console and the Flash Player debugging trace.
- Multiple logging-levels are supported and entries are color-coded by severity in the console. (e.g. DEBUG, INFO, WARN, ERROR)
- Logging verbosity can be set using a simple console command.
- Deferred logging: even if log statements are sent before a Logger instance is created, they will be stored until one does exist, allowing log entries to be submitted from the moment the application starts.
- Explicitly turning off logging causes all logging calls to be disregarded so they don't impede application performance. (All pending deferred log calls are also discarded.)