Git Product home page Git Product logo

robotlegs-framework-starling's Introduction

Robotlegs Framework for Starling and Feathers

This is a complete port of Robotlegs version 1.x targeting Starling Framework instead of the classic display list. Unlike the robotlegs-starling-plugin, which extends the existing Robotlegs library to add support for Starling display objects, this fork changes the core internals of Robotlegs to specifically target Starling only.

Notable Changes and Features

  • Uses starling.events.EventDispatcher instead of flash.events.EventDispatcher for all events, including the context.
  • Support for Starling's event pooling, to reduce garbage collection and increase performance (especially on mobile!).
  • Can take advange of the data property on Starling events and the optional strongly-typed data argument on Starling event listeners to avoid the creation of many event subclasses.
  • Adds a dispatchWith() convenience function next to the existing dispatch() convenience function on things like commands and mediators to quickly dispatch pooled events.

Links

Requirements

Built with Starling Framework 1.8. Feathers 2.2.0 or newer is required to work with Feathers components. Feathers is completely optional when using Robotlegs for Starling.

Compatible with Starling Framework 2.

Credits

Based on the hard work of the original Robotlegs contributors. Ported to Starling by Josh Tynjala, creator of the Feathers open source user interface components for Starling.

Examples

The following open source applications are built with robotlegs-framework-starling:

  • feathers-weather is a mobile app built with Starling, Feathers, and Robotlegs that uses weather and location APIs from Yahoo.
  • The official Feathers SDK Manager is an application that simplifies installation of the Feathers SDK by downloading all of its dependencies.

robotlegs-framework-starling's People

Contributors

joshtynjala avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

robotlegs-framework-starling's Issues

is there any luck you have already ported robotlegs-utilities-Modular?

Hi Josh!.
I have been using robotlegs-framework-starling and it's great! I am needing to use a modular approach, so I tried to port https://github.com/joelhooks/robotlegs-utilities-Modular to use starling.display.* and starling.events.*.
I compared robotlegs against robotlegs-framework-starling, and tried to do the same changes to robotlegs-utilities-Modular but I finally gave it up, it does not work for me, I don't understand many things.

Any luck you already have ported it? or maybe you have ay suggestion to use robotlegs-framework-starling with modules?

Thanks in advance for your time!
Diego

commandMap injection always errors

Is there any working examples using this? I've used RL dozens of times outside of starling as well as s9tpepper's library with success, but when i try to replace it with this library, I always end up with the;

Error: Injector is missing a rule to handle injection into property "event" of object...

error every time I dispatch an event that is mapped to a command if that event has an injection.

ex.

in Context Class:
commandMap.mapEvent(SystemEvent.STARTUP_COMPLETE, StartupCommand, SystemEvent);

in Command Class:
[Inject] public var event:SystemEvent

Thoughts?

Can't create childs mediator

Hello Josh, i am new in Robotlegs,and now i try to use it with Starling, but have problem here...
framework creates only ContextVIew mediator,but not a childrens mediators, which added to ContextView.
This is code i use:
override public function startup():void
{
this.mediatorMap.mapView(StarlingRootScene, StarlingRootSceneMediator);//this one i created
this.mediatorMap.mapView(MainMenuView, MainMenuMediator);//this one no!
super.startup();
}
public class StarlingRootScene extends Sprite
{
private var _currentScene:MainMenuView;
private var _context:RobotlegsContext;

    public function StarlingRootScene()
    {
        super();
        addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
        _context = new RobotlegsContext(this);
    }

// ===============================================================
private function onAddedToStage():void
{
_currentScene = new MainMenuView();
addChild(_currentScene);
}
}
Can you help me in this?

Tests just not uploaded, or not existing?

Hi Josh,

thanks for this! I'm moving from desktop to mobile and happy to continue using RL1 as it hasn't yet let me down in several years of development!

Did you write some tests and just not include them in the repo, or are tests still on the todo list? If the latter then I may start adding some.

Thanks,

Stray

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.