Robotlegs for Google Dart

dotdotcommadot's Avatar

dotdotcommadot

15 Apr, 2014 11:58 AM

Still a lot of work in progress:
https://github.com/dotdotcommadot/dart_robotlegs_di.git
https://github.com/dotdotcommadot/dart_robotlegs.git

I try to keep as close to the original API and architecture as possible,
although this is not always that easy.

  • Dart has a different Reflection API (mirrors)
  • Dart's built-in messaging system (Streams and Futures) doesn't lend itself that well to implement an eventbus with, so perhaps I'll implement a custom messaging system. Extensions can later be written if someone prefers Signal, Events, Streams, ..whatever.
  • I try to avoid dependencies on StageXL or DI-frameworks, so "robotlegs" has full control over the implementation, although it will probably work together with StageXL quite good. A StageXL-events command map extension wouldn't be that hard to write.
  • When using google's webcomponents on the view-side, the workflow and architecture will be very apache Flex-like.

Google is currently writing Angular-Dart, a port of Angular JS for dart.
It looks like a very good library, but I've always loved the flexibility robotlegs gives me.
With robotlegs you can keep your code lightweight and flexible, so you can use the libraries you like, hook it on a Flash Pro application (since Flash Pro now supports Google Dart as well), etc etc.

All help will be appreciated!

Hans

  1. Support Staff 1 Posted by Ondina D.F. on 15 Apr, 2014 01:04 PM

    Ondina D.F.'s Avatar

    Nice work!!

  2. 2 Posted by dotdotcommadot on 17 Jun, 2014 02:53 PM

    dotdotcommadot's Avatar

    A small heads-up for the ones interested:
    I just got a very very small first demo for my dart robotlegs framework port running.
    It hasn't got commands or mediators, but you can see how dependency injection and view mapping is already working.

    https://github.com/dotdotcommadot/robotlegs_polymer

    Currently I focus on polymer.
    This a library made by google, which allows developers to use webcomponents.
    This way you can write your html views in a very similar syntax as if you'd be writing them for flex.
    By now I'm sure it is perfectly possible to port the entire robotlegs framework to google dart, but there are a few pitfalls, like the fact there is no "native" way to watch your view component for landing on the stage, as you would do with "Event.ADDED_TO_STAGE" in AS3 and things like that.

    If you want to try it out, you'll need three libraries:
    - https://github.com/dotdotcommadot/dotdotcommadot_messaging (only temporary, until I start to use Dart's streams for this) - https://github.com/dotdotcommadot/dart_robotlegs_di (seems to be almost production ready actually. named method injection is still missing though, since I didn't need it yet ) - https://github.com/dotdotcommadot/dart_robotlegs (still needs lots and lots of development on the extensions)

    For naming and linking of the folders, watch the pubspec.yaml.

    Don't expect anything work to work as you expect it to work yet :)
    Hans

  3. 3 Posted by matej on 17 Jun, 2014 08:40 PM

    matej's Avatar

    Nice job

    S poštovanjem,
    Matej Šimunić

  4. Ondina D.F. closed this discussion on 28 Oct, 2015 03:52 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac