Hacking the Front End

Hi. I’m Michael.

As the list of my open-source projects continues to grow, they have finally reached a point where an overview might be helpful. That’s what this page is for.

What has made it on the list?

The projects below meet a certain standard. They are covered by an extensive test suite, I have reviewed them for their performance, and they are mature enough to have reached version 1.0, at the very least. All of them are safe to use in production.

If you are interested in experimental stuff as well, please head over to my regular Github page and check if anything is there.

Getting in Touch

Apart from Github, you can get hold of me in a couple of other places, where I show up at random.

Twitter Stack Overflow
Google+ Zeilenwechsel.de

If you’d like to get in touch, please do. You are welcome.

Backbone and Marionette

Backbone.Select

A set of mixins for Backbone models and collections. Models gain the ability to be selected, and collections handle those selections.

Project on Github, documentation | code example | interactive demo (JSBin, Codepen)

Backbone.Cycle

A set of mixins for Backbone models and collections. Adds methods for selecting Backbone models, and for navigating collections.

Backbone.Cycle is built on top of Backbone.Select (see comparison).

Project on Github, documentation | code example | interactive demo (JSBin, Codepen)

Backbone.Declarative.Views

Defines the DOM element of a Backbone view right in the template. Keeps the tag name, class name and other attributes of el out of Backbone.View Javascript code. (Read why.)

Core functionality:

Additional benefits:

Project on Github, documentation | code example | interactive demos: plain Backbone (JSBin, Codepen), Marionette (JSBin, Codepen)

Backbone.Marionette.Export

Exposes Backbone model and collection methods to templates.

The name of the plugin has turned out to be a bit of a misnomer, though. Backbone.Marionette.Export does not depend on Marionette and is just as useful in projects based on plain Backbone.

Project on Github, documentation | code examples | interactive demo (JSBin, Codepen)

Marionette.Handlebars

Adds support for Handlebars and Mustache templates to Marionette.

Project on Github, documentation

DOM and jQuery

jQuery.documentSize

Detects the real width and height of the document. And the real width and height of the browser window. (Read why this is necessary.)

Project on Github, documentation | interactive demo (JSBin, Codepen)

jQuery.isInView

Tells you if elements are in view inside a scrollable container, or inside a container hiding its overflow.

Project on Github, documentation | code example | interactive demo (JSBin, Codepen) | performance test and comparison

jQuery.scrollable

Manages animated scrolling in windows, scrollable elements and iframes. (Read why jQuery.animate() isn’t enough.)

Project on Github, documentation | interactive demo (JSBin, Codepen)

jQuery.Promises

Groups related jQuery Deferreds, managing them collectively.

Project on Github, documentation | code example