Brian Cavalier

Brian Cavalier

Front-End Engineer and Open Source Fanatic


Brian is a server-side Java guy turned front-end engineer, and open source fanatic. From collaborative aircraft maintenance systems for the US Navy, to Computer Assisted Surgery systems for Orthopedic surgery, to a global-scale content curation and personalization system, he loves building things that users love to use. He works at SpringSource on making the web more awesome, and is co-lead of the cujo.js architecture unframework (cujojs.com), a lover of Siberian huskies, family, and things with two wheels.

More about Brian: https://github.com/briancavalier http://blog.briancavalier.com/ http://www.slideshare.net/briancavalier http://lanyrd.com/profile/briancavalier/




Presentations

AOP-ing your JavaScript

Loose coupling. Your web front-end has that, right? Your JavaScript is using pubsub, event emitters, and message buses! Guess again, you can do better.

Aspect Oriented Programming (AOP) is a technique for augmenting the behavior of objects, methods, and functions non-invasively. AOP adds new behaviors and modifies existing behaviors "from the outside". Using AOP, it's possible to create connections between components without either having any knowledge of the other and without any extra library dependencies in your code.

While you may be familiar with AOP in Spring, you may not yet have applied it in JavaScript. In this talk, we'll do just that. We'll introduce simple techniques for applying AOP in pure JavaScript using no additional libraries, and then look at meld.js (https://github.com/cujojs/meld), the AOP library that powers Cujo.js (http://cujojs.com). We'll work from simple examples of making connections between components to more sophisticated examples that integrate pubsub, message buses, etc. in a truly loosely coupled way.