Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugins in Playground #42

Closed
rezoner opened this issue Mar 23, 2015 · 1 comment
Closed

Plugins in Playground #42

rezoner opened this issue Mar 23, 2015 · 1 comment

Comments

@rezoner
Copy link
Owner

rezoner commented Mar 23, 2015

Hi everyone,

I got plugins working for Playground. Plugins are nothing more than bundles of event listeners that can replace properties of an application or a state (on instantiation time)

For example here is a plugin that deploys basic Three.js rendering for Playground.

From end user point of view usage looks like this:

playground({
  use: {
   three: { /* config properties goes here */ }
  }
});

Now.

While this is very modular and pretty useful if you know what's going on under the hood - I am afraid it encourages bad habits by letting developers skip many learning curves. All the problems that jQuery has to deal with. jQuery is great - but because of its accessibility it lures awful developers and has became a synonym of whatever is lame in web programming.

What's your opinion. Is it a risk worth taking? I don't want to scare off professionals, I really appreciate that my library is unpopular but used by people as dedicated as I am. People who care to spend their time learning the basics before asking.

@rezoner
Copy link
Owner Author

rezoner commented Mar 23, 2015

What I'm also afraid of is ending up with two movements.

Direct composition over inheritance approach:

create: function() {
  this.collisionManager = new ENGINE.CollisionManager()
},

step: function() {
  this.collisionManager.step(delta);
}

vs Plugins:

use: {
  "rezoner/CollisionManager"
}

@rezoner rezoner closed this as completed Apr 2, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant