Spike Brehm

In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps

Date: This event took place live on February 11 2014

Presented by: Spike Brehm

Duration: Approximately 60 minutes.

Cost: Free

Questions? Please send email to


Libraries like Backbone, Ember and Angular have led to an explosion in single-page web apps. These apps can provide UIs that feel faster and more interactive than traditional web apps, but this new hotness is not without its drawbacks.

The idealized single-page app runs exclusively in the browser, asking the server only for data. While this can lead to a nice, clean separation of concerns, inevitably some bits of application logic or view logic end up duplicated between client and server, often in different languages.

Worse still, an application that can only run in the client-side is not able to serve HTML to users or crawlers. This results in drastically worse initial page-load times, and more difficulty providing SEO.

At the end of the day, we really want a hybrid of the new and old approaches: we want to serve fully-formed HTML from the server for performance and SEO, but we want the speed and flexibility of client-side application logic.

In this webcast led by Spike Brehm we will discuss:

  • Isomorphic JavaScript: The Holy Grail

In our experience building isomorphic JavaScript apps at Airbnb, we have found that the inherent challenges can be separated into two areas: Writing Isomorphic Application Code and Building and Bundling.

  • Writing Isomorphic Application Code
  • Building And Bundling
  • Tools and Community

Spike will introduce some of the open source projects and tools that you can use today to build isomorphic JavaScript apps.

About Spike Brehm

Spike Brehm is a Sofware Engineer specializing in rich-client JavaScript apps at Airbnb. In over a decade of experience with JavaScript, he has seen its role on the web morph from novelty to basic building block.

He's currently prototyping the next generation of Airbnb's front end stack, and is busy open-sourcing Rendr: a library for building web applications that run on both sides of the wire, fetching data and rendering views on client and server, built on Backbone.js and Node.js. You can follow Spike on Twitter @spikebrehm.

You may also be interested in:

Fluent Conference