JSFoo 2014

JavaScript as the centerpiece of a complex web stack

Aravind Ravi Sulekha

@aravindet

Event-based architecture at Scrollback

Submitted Jun 24, 2014

Understand when event-based architectures can help to make your app easier to grok.

Learn how to apply this pattern to server-side Node.js applications and to client-side single page apps. This talk will be illustrated with a lot of examples from the 2-year evolution of Scrollback’s codebase.

Outline

Scrollback an open source multi-platform chat app composed of 24 (and counting) small, nearly independent, “apps” that talk to each other by emitting and listening to events. Each app manages its own state, database and resources. We will talk about the rationale for this and how it is implemented.

Scrollback started with a more traditional, MVC-style application and over many iterations evolved to be completely event-based. We’ll visit some of the stops on that journey, and how our current architecture is better.

We use our own tiny event dispatch library, which we prefer to both Node’s built-in EventEmitter (on the server) and to Backbone.Events (on the client). To find out why, attend the talk!

Speaker bio

I’m a co-founder and the chief hacker at Scrollback, a startup that hosts online meeting places for communities. My first JavaScript code was hosted on GeoCities and targeted IE4. I’ve spoken at the first JSFoo in 2011 (I promise I’ve become less boring since then) and a couple of times at Bangalore JS.

Scrollback is the fifth startup I’ve worked at, and the second that I co-founded. I went to IIT Kharagpur a long time ago, and then to IIM Ahmedabad before realizing that I’d always be the tech guy at every startup I joined.

  • github.com/scrollback

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

JSFoo is a forum for discussing UI engineering; fullstack development; web applications engineering, performance, security and design; accessibility; and latest developments in #JavaScript. Follow JSFoo on Twitter more