
009 Spike Brehm - Sharing javascript in browser and server - building isomorphic apps
07/16/14 • 13 min
Spike explains the different categories of Isomorphic apps and how this is accomplished. He mentions various tools for facilitating sharing across browser, server, and devices. He shares how Airbnb, Yahoo, Flickr, Facebook, Instagram are using some of these technologies today. Finally, he provides resources to help others learn and get started.
Episode Info
- Episode: CW 009
- Published: July 16th, 2014
- Tags: nodejs, js,jsconf
- Duration: 13:48
Episode Notes
- 01:50 - Isomorphic definition
- 03:15 - Tools for sharing code across browser and server
- 04:00 - Browserify for using Node.js packages in browser
- 05:20 - Categories of Isomorphic code
- 06:20 - Superagent - HTTP client
- 07:08 - Airbnb’s Rendr - render Backbone apps on client and server
- 07:30 - Compelling reasons for building isomorphic apps
- 08:00 - Flickr main page isomorphic, modown project
- 08:39 - Meteor framework
- 09:25 - Getting started with Isomorphic JavaScript
- 10:10 - ReactJS - client and server rendering, can attach event handlers to server rendered page
- 10:40 - Facebook and Instagram using ReactJS for Isomorphic apps
- 11:30 - Following Spike Brehm and Isomorphic JavaScript
Links
- Spike Brehm’s Isomorphic Resources
- Airbnb blog - Isomorphic JavaScript: The Future of Web Apps
- Isomorphic Tutorial
- Isomorphic JavaScript website
- Nodejitsu - Scaling Isomorphic Javascript Code
- Browserify - packaging NPM modules for the browser
- Superagent - HTTP client for browser and Node.js
- Airbnb’s Rendr - Rendering Backbone apps on the client and server
- Yahoo’s Modown project
- Meteor framework
- ReactJS framework for building user interfaces
- Spike Brehm Twitter
- Jeff Barczewski, Founder, CodeWinds twitter
- CodeWinds twitter
Video / Slides
Watch Spike Brehm’s JSConf talk on YouTube
Slides from Spike Brehm JSConf 2014: Building Isomorphic Apps - Slideshare
Spike explains the different categories of Isomorphic apps and how this is accomplished. He mentions various tools for facilitating sharing across browser, server, and devices. He shares how Airbnb, Yahoo, Flickr, Facebook, Instagram are using some of these technologies today. Finally, he provides resources to help others learn and get started.
Episode Info
- Episode: CW 009
- Published: July 16th, 2014
- Tags: nodejs, js,jsconf
- Duration: 13:48
Episode Notes
- 01:50 - Isomorphic definition
- 03:15 - Tools for sharing code across browser and server
- 04:00 - Browserify for using Node.js packages in browser
- 05:20 - Categories of Isomorphic code
- 06:20 - Superagent - HTTP client
- 07:08 - Airbnb’s Rendr - render Backbone apps on client and server
- 07:30 - Compelling reasons for building isomorphic apps
- 08:00 - Flickr main page isomorphic, modown project
- 08:39 - Meteor framework
- 09:25 - Getting started with Isomorphic JavaScript
- 10:10 - ReactJS - client and server rendering, can attach event handlers to server rendered page
- 10:40 - Facebook and Instagram using ReactJS for Isomorphic apps
- 11:30 - Following Spike Brehm and Isomorphic JavaScript
Links
- Spike Brehm’s Isomorphic Resources
- Airbnb blog - Isomorphic JavaScript: The Future of Web Apps
- Isomorphic Tutorial
- Isomorphic JavaScript website
- Nodejitsu - Scaling Isomorphic Javascript Code
- Browserify - packaging NPM modules for the browser
- Superagent - HTTP client for browser and Node.js
- Airbnb’s Rendr - Rendering Backbone apps on the client and server
- Yahoo’s Modown project
- Meteor framework
- ReactJS framework for building user interfaces
- Spike Brehm Twitter
- Jeff Barczewski, Founder, CodeWinds twitter
- CodeWinds twitter
Video / Slides
Watch Spike Brehm’s JSConf talk on YouTube
Slides from Spike Brehm JSConf 2014: Building Isomorphic Apps - Slideshare
Previous Episode

008 Guy Bedford - jspm & SystemJS - Unity and simplicity in loading CommonJS, AMD, and ES6 JS packages
JavaScript module loading has traditionally been difficult due to diverse module formats and difficult configuration. With so many competing standards it is hard to get everything to work well together.
Guy has come forward with a solution which simplifies loading and management of JS packages. This is a full workflow solution including both dynamic loading and capability to build bundles for production.
Episode Info
- Episode: CW 008
- Published: July 2nd, 2014
- Tags: nodejs, js,es6,commonjs,amd,es6,packages,modules,jsconf
- Duration: 22:12
Episode Notes
- 03:00 - es6-module-loader
- 04:25 - CommonJS, AMD, ES6 modules. Browserify
- 05:10 - SystemJS - loads ES6 modules, AMD, CommonJS and global scripts. Designed in spec itself, IE8+, suitable for production, runs in browser and Node.js, promises API
- 08:00 - SystemJS workflow - dynamic loading and build capability
- 10:00 - Using SystemJS with build tools
- 10:30 - SystemJS community
- 11:30 - Auto file type detection (CJS, AMD, UMD, ...) or can specify
- 12:45 - Optional configuration. Made to be as easy as possible to get going
- 14:30 - jspm - JavaScript Package Manager - CDN for SystemJS, require by name.
- 15:30 - Core ideas - making requiring really simple and making package management really simple
- 16:00 - Design of loader and manager
- 17:28 - Ready for review and full workflow. An invitation to the community
- 18:26 - GitHub locations for projects, examples
- 20:34 - How to follow up, closing remarks
Simple example of SystemJS in browser
<script src="system.js">script> <script> System.import('app/app') .catch(function(e) { // we add this since promises suppress all errors setTimeout(function() { throw e; }); }); script>Links
- es6-module-loader - ES6 module loader polyfill
- SystemJS - Spec-compliant universal module loader - loads ES6 modules, AMD, CommonJS and global scripts.
- SystemJS-Build-Tool - Build tool for SystemJS which can bundle for production
- jspm - Package manager for the SystemJS universal module loader, built on top of the dynamic ES6 module loader. Load any module format (ES6, AMD, CommonJS and globals) directly from endpoints such as npm and github with flat versioned dependency management. For production, use the jspm CLI tool to download packages locally, lock down versions and build into a bundle. In development, load modules directly from CDN for frictionless experimentation, switching into production on the same code with a single configuration change. Supports SPDY with server push.
- jspm-es6-demo - jspm ES6 module loading workflow demo - write ES6 modules, load external from CDN, install locally using CDN versions, bundle into single file for production
- jspm Google Group - Discussion forum for JSPM
- Guy Bedford’s Twitter
- Guy Bedford’s GitHub repositories
- Jeff Barczewski, Founder, CodeWinds twitter
- CodeWinds twitter
Videos
- Fluent Conf 2014 - Guy Bedford on ES6 modules, js...
Next Episode

010 Nico Bevacqua - JS build tooling, development workflow, and his new book JavaScript Application Design
Nico Bevacqua, the author of JavaScript Application Design which is in early access at Manning, explains more about JS continuous development, integration, and deployment. We discuss build tools, module systems, component architectures, MVC, and finally the experience of writing a traditionally published book.
Episode Info
- Episode: CW 010
- Published: August 8th, 2014
- Tags: nodejs, js,jsconf
- Duration: 29:10
Episode Notes
- 01:35 - Why build first?
- 03:25 - Continuous development
- 05:00 - Continuous Integration - Travis-CI
- 05:20 - Continuous Deployment - Heroku, Amazon EC2
- 06:20 - Build tools - grunt, gulp, npm - determining the best choice
- 11:35 - JS Modules - AMD, CommonJS (CJS), ES6 Modules, RequireJS, Browserify, AngularJS DI
- 15:00 - HTTP/2 efficient parallel streaming potentially reducing need for bundling
- 16:30 - Browserify limitations and CommonJS
- 18:30 - App design, modularity, package managers (component, bower, npm)
- 20:20 - Current state of building components - Bower, Component, Polymer, Web Components, AngularJS, ReactJS
- 22:24 - MVC Frameworks - AngularJS, ReactJS and the Virtual DOM
- 23:35 - Experience writing JavaScript Application Design published by Manning
- 27:35 - Following Nico
JavaScript Application Design - Manning
Published by Manning, currently available as early access edition - Purchase at Manning
Links
- Browserify - packaging NPM modules for the browser
- Nico Bevacqua’s Pony Foo blog
- Code samples from JavaScript Application Design
- Build first resources
- Build first site
- Nico Bevacqua twitter
- Jeff Barczewski, Founder, CodeWinds twitter
- CodeWinds twitter
Video / Slides
Watch Nico Bevacqua’s JSConf talk on YouTube
Slides from Nico Bevacqua JSConf 2014: Front End Ops Tooling - Slideshare
If you like this episode you’ll love
Episode Comments
Generate a badge
Get a badge for your website that links back to this episode
<a href="https://goodpods.com/podcasts/codewinds-leading-edge-web-developer-news-and-training-javascript-reac-23131/009-spike-brehm-sharing-javascript-in-browser-and-server-building-isom-818811"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to 009 spike brehm - sharing javascript in browser and server - building isomorphic apps on goodpods" style="width: 225px" /> </a>
Copy