RubyConf 2008: Introducing Red Sun - Ruby to Flash
Introduce Red Sun - A Ruby to Flash bytecode translator and UI framework that enables rapid development of a Flash SWF using Ruby idioms and capabilities. The goal of Red Sun is to bring the benefits of a strong dynamic language with good syntax to the existing dynamic features of the Actionscript 3 virtual machine inside the Flash player.
Red Sun translates Ruby 1.9 bytecode into Actionscript 3 bytecode suitable for execution on the Tamarin virtual machine embedded in the Adobe Flash player. The library maps Ruby idioms into equivalent idioms using the dynamic language features in Actionscript 3. Red Sun also includes the foundations of a dynamic UI framework for rapidly building user interfaces targeted at the Flash runtime.
Red Sun can compile Ruby classes directly into Actionscript 3 classes and offers uses translation conventions to implement Ruby features that are not available to Actionscript 3 such as operator overloading. Red Sun also allows Ruby code to directly manipulate a loaded or generated SWF before it is returned to the browser to support code generation based on data definition or other runtime features.
Red Sun is currently in an alpha phase and should reach a beta by the time of RubyConf and be appropriate for wider adoption and addition to the open source project team.
About Jonathan Branam
Jonathan Branam has been working with computers since the days of the TI-99/4A in the 80s. He cut his teeth on the Commodore 64 before upgrading to an 80286. There he discovered the simplicity and power of programming in assembly language which surely stunted his understanding of dynamic languages for many years to come.
After working in C/C++ in the video game industry, Jonathan discovered Perl and Python and found a welcome home in terse, powerful syntax and languages that cater to the human rather than the machine.
Having returned to visual work using the Flash player and Flex framework, Jonathan longed for a return to the power of dynamic languages and found an instant attraction in Ruby. His desire now is to bridge the gap between Ruby and other execution environments such as the Flash player to bring the development benefits of a dynamic, meta-programming capable language into other contexts.