Saturday, October 23, 2010

What is Realaxy?

Realaxy Revolution

You can watch this video in the player below or just download it here to watch however you'd like:
Download video

To find out more about Realaxy, head over to realaxy.com (and fyi, Realaxy is still in beta).

17 comments:

  1. wakka6:25 PM

    does it work with debug-sessions?

    ReplyDelete
  2. looks usefull, adobe couldNot do this easiness. you filling the blanks, thanks.

    ReplyDelete
  3. Muzak8:20 AM

    The generated code has nested functions????

    Erhmmm.. no thanx. I'll pass.

    ReplyDelete
  4. Eric Priou10:12 AM

    Why do we need a meta language to generate anonymous function calls in method's closures ?
    Maybe haXe should be used to do the same ?!

    Anyhow, beware of memory leaks when using such type of event handlers in closures, theere won't be garbage collectable later…
    A better syntax would be generate a local variable that points to the anonymous function for later retrieval.

    ReplyDelete
  5. When I did ObjectBuilder I realized that a lot of that will need to complete. and the generation of event handlers I have a lot of questions. do anonymous functions or methods? But if the methods, then there will be access to the variables in scope .... Can I see a real example of memory leaks with the use of anonymous functions?
    In any case we have tracker - write bug reports and requests - we will implement.
    http://www.realaxy.com/tracker/issues/RF

    ReplyDelete
  6. There's nothing wrong with nested functions per se, and there's nothing wrong with anonymous functions, although it's usually much more readable to declare them as ordinary nested functions with a name, and refer to them by name. The problem here is that there's no way to turn off the click handler for the sprite. As you can imagine, that would be an unacceptable restriction in many contexts from a purely functional standpoint, as well as a memory leak because the handler function itself (and its context) can thus never be freed for garbage collection.

    ReplyDelete
  7. So it's OK to ALLOW the programmer to enter an anonymous function to fill in a slot for a function in your template, and let him take the responsibility for a potential programming error, but it's not OK to REQUIRE him to enter an anonymous function. You have to allow a reference to a function, which may be a method, a nested function, or a package-level function -- all of these have their place and legitimate use.

    ReplyDelete
  8. That object builder syntax is reminiscent of newer C#. I would love to have that as part of ActionScript.

    ReplyDelete
  9. Ability to remove listener, certainly will. As a familiar removeEventListener method - this.removeEventListener (this.onClick); As well as using c delete expression - delete this.onClick;
    I also want to make a special language for events and states.

    ReplyDelete
  10. First, it's opensource and you can get the source language and generate the correct way you want. Secondly, you can add a language extension which will generate such what you want. (The generation script that will change the generation of default). Third, you can send to tracker the code that is generated should be, which we will discuss.

    ReplyDelete
  11. Ivan Dembicki8:37 AM

    Now Realaxy ActionScript Editor is in beta testing. This video is just an example of its capabilities.
    The main charm is that you can create language extensions themselves.
    It's easy, especially if you just need to remake a ready solution.
    And the creators of Realaxy ActionScript Editor is not going to insist on the wrong solutions. Suggest a better - and it will be used.

    ReplyDelete
  12. Hi, generally speaking when using an anonymous event handler in ActionScript, you'd like to remove it after the event is handled:

    const d:IEventDispatcher = new EventDispatcher();
    d.addEventListener(Event.ACTIVATE, function (e:Event):void {
    IEventDispatcher(event.target).removeEventListener(e.type, arguments.callee)});

    Since you don't have a reference to the function, the IEventDispatcher instance can't be garbage collected, since it is bound with a strong reference to the function, which is in the global namespace. That's the problem. When you have a single instance it might not cause too many headaches, but in case of modular application, this can lead to problems of course.

    ReplyDelete
  13. Thank you for this video but i think there is a lot to do in order for this to work. This is very challenging.

    ReplyDelete
  14. VeryIntoFlashGuy12:58 AM

    Why!?.... This is awful! and infuriates me!. What a mockery of modern Action Script!. It breaks OOP putting function into function, and here we go again with a meta language to dumb down code.... easy easy easy right?.. calm down its not that hard in the first place, just learn your shit right in the first place. This reminds me of a baby flex, wich is built for the masses and for nothing exceptional or creative.
    I dont understand the idea of this, quickly making less readable code?. Most of the time isn't spent writing code typewriter style and more planing on how to make good useful expandable stuff with no leaks. It never takes long no matter how you do it to set up functionality you already know by hart.

    ReplyDelete
  15. johnlindquist6:42 AM

    Whoa, take a step back for a second...

    You're not writing ActionScript. You're writing a metalanguage that will generate ActionScript. What the end ActionScript result is depends on how you extend the metalanguage. You have complete control.

    ReplyDelete
  16. VeryIntoFlashGuy9:59 PM

    Well OK, I see... It looks better on the website. Now I see that my rage came from this example. Its like a messy room, please don't make functions that way, it makes me wanna shake my fist up in the air. I see myself using it as an editor. But using a metalanguage is like using Ragu tomato sauce instead of making your own. Its not as pretty or tasty as the real thing. Also might wanna change the logo to something more bad ass... A smiley face with a helmet... he is like the "special" version of smiley faces.

    ReplyDelete