
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
Jeff Barczewski

1 Listener
All episodes
Best episodes
Top 10 CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski Episodes
Goodpods has curated a list of the 10 best CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski episodes, ranked by the number of listens and likes each episode have garnered from our listeners. If you are listening to CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski for the first time, there's no better place to start than with one of these standout episodes. If you are a fan of the show, vote for your favorite CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski episode by adding your comments to the episode page.

002 First look at Hapijs 2.0, the Node.js web framework from Walmart Labs
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
02/01/14 • 21 min
This is a review of the Hapi 2.0 functionality unveiled last Monday, Jan 27, 2014 at &yet. The event was live streamed so I was able to watch and take notes. Eran Hammer @eranhammer, a Walmart labs engineer and lead developer for Hapi shared a top to bottom feature discussion including the new changes for version 2. Eran’s Slides
My goal with this podcast is to mention some of the key changes with Hapi 2 and how you would leverage them in your code.
This review and Eran’s presentation are done such that you do not need have a familiarity with Hapi to get value, new users should come away with some understanding of Hapi and how it can be useful for building robust web applications.
Episode Info
- Episode: CW 002
- Published: February 1st, 2014
- Tags: nodejs, hapijs
- Duration: 21:46
Episode Notes
Background
- show notes http://codewinds.com/podcast/002.html
- I have a link to the original live stream, the content starts at about 24 minutes in, so the URL in the show notes jumps directly to that spot.
- Hapi is the awesome open source web framework created by Walmart Labs.
- The Hapi framework grew out of years of development first at Yahoo as Sled, later renamed Postmile, then at Walmart Labs.
- Initially Eran tried to build on Express a popular web framework, but found issues with plugin order, undocumented dependencies, fragility with large team use.
- Hapi was developed by Walmart Labs for their mobile division
- Hapi is built as a scalable web framework that they could use to evolve their system over time.
- Initiallly used to reverse proxy or pass through requests to their existing backend written in java or other languages.
- Then decorate, batch, and begin to replace legacy code with new code in Node.js
- It ran 100% of their mobile traffic starting with Black Friday and proved its stability running at about 1-2% cpu on 50 servers throughout the highest load. Lasagna graphs flatlines for cpu and memory use
- Walmart starting to replace more of its legacy code with Hapi and even now part of walmart.com
- Hapi has great REST API support as well as infrastructure for building web apps or even serving static content
- Just configure the routes and you are ready, no extra plugins are necessary for the most common functionality
- Liked that Eran provides some quick commentary about features and how they evolved
- Hapi 2.0 isn’t a massive increase in new functionality, in fact it is more about taking out the cruft, eliminating the redundant ways to do things. Names that evolved over time, picking the best and cleaning up the others.
- This strategy shows the wisdom and experience of its architect, to resi the urge to add features by first solidifying the base.
Routes, Caching, State
- Route handler(request, reply) signature changed
- server.route({}), can keep routes in one place while config and handler in separate module. validation is configurable, state (cookies)
- server.table() gives you the active routing table
- Hapi is a configuration centric framework, set js properties, then it tries to stay out of your way.
- Hapi is written so the meat of your web application can stay pure, you don’t have to deal with the HTTP mechanisms unless you need to for a special case. This leads to clean code which is more focused on your business logic and less on how to deliver via HTTP.
- Helpers can abstract out functionality used in many places like looking up a user profile or users shopping cart
- Caching is changed in 2.0, dropping support for full page caching. You can still configure the client cache headers and expiry but the team removed the ...

1 Listener

015 Michael Jackson and Ryan Florence explain that React.js really changes how we think about building web and mobile apps
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
04/08/15 • 76 min
“It’s so rare that something actually comes along that really changes how we think about building stuff” - Michael Jackson
- Episode Info
- Show Notes and Timeline
- Michael Jackson and Ryan Florence React.js training
- Links and Resources
- Related content
- Video
Episode Info
- Episode: CW 015
- Published: April 8th, 2015
- Tags: javascript, reactjs,nodejs,isomorphic
- Duration: 1:16:34
- Updated: 2015-04-11
Show Notes and Timeline
- 2:40 - What’s special about React.js?
“For me personally, it changed the way that I code as much as jQuery did back in 2008.” - Michael Jackson
“OMG, This is really going to change the way that I work and how much I enjoy my job on a day to day basis.” - Michael Jackson
- 5:00 - React.js doesn’t care about how you represent your data, models can be simple objects and arrays
“What excites me about React.js is... it doesn’t care about your data model, you just use plain JavaScript objects... For my models I use: array, Object, Number, ...” - Ryan Florence
“The new paradigm with React.js is we aren’t observing, we aren’t having a bunch of events, we are just throwing data at functions and then they return descriptions of UI” - Ryan Florence
- 6:40 - Javascript becomes our templating language
“It’s hard to explain until you start doing it how big of a shift this makes in your user interface development, to not worry about your app over time; you’re not mutating the state of objects over time in your UI components” - Ryan Florence
“We get to use the solutions that JavaScript already provides like modules and scope... we don’t have to wait for the framework’s template language to implement a solution for that” - Ryan Florence
- 8:25 - React.js, Angular, and Ember are pushing the language forward (ES6)
- 10:56 - Is React.js differnet from other SPA frameworks?
- 11:30 - React.js could be a good rendering tool for many frameworks
- 12:10 - Integrating React.js into existing code is easy without a full rewrite
- 13:30 - React.js be added to mature apps, not just greenfield apps
- 14:50 - Angular 2.0 and Ember 2.0 look a lot like and sound a lot like React.js. It is influencing so many other frameworks.
- 15:30 - Who can use React.js? What types of projects?
- 19:00 - Server side rendering - Isomorphic javascript
- 22:30 - React.js doesn’t care where you render - client, server, canvas, etc.
- 24:00 - Is React.js hard to learn?
- 25:00 - React.js allows you to code yourself out of problems
- 26:00 - Smaller API’s are easier to learn
- 28:10 - What brought Michael and Ryan to using React.js?
For me, one of the most awkward parts about #Emberjs is switching back and forth between Handlebars templates and component code. Any ideas?
— Michael Jackson (@mjackson) May 13, 2014- 28:45 - Instructure had invested in Ember but were having struggles shipping and learning
“At Instructure, we bet on Ember... we were messing with it for almost a year and kind of weren’t shipping anything...” - Ryan Florence
- 30:00 - After an hour of using React.js, Ryan wanted to use it everywhere
“After an hour of using React.js, I had my face in my hands and said... I want to use this everywhere” - Ryan Florence
- 30:45 - A few hours later, Ryan had a router proof of concept up and running
“After two hours I actually had something working, and that probably impressed me the most about React.js” - Ryan Florence
“I was never able to just pick up something as quickly as I was able to pick up React.js and build a router” - Michael Jackson
“Two guys who had no idea what they were doing (with React.js) were able to make something (ReactRouter) that worked and was useful for other people” - Michael Jackson
- 32:30 - Ryan started throwing his toughest problems at React.js and it handled them great
“Then I just threw all of my toughest problems that I had ever run into as a frontend developer at React.js” - Ryan Florence
- 33...

1 Listener

001 Daniel Shaw interview discussing The Node Firm's public Node.js training courses
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
09/17/13 • 23 min
I had the pleasure of interviewing Daniel Shaw (@dshaw), managing partner and CEO of The Node Firm to discuss their upcoming public Node.js training courses at Joyent and beyond.
Episode Info
- Episode: CW 001
- Published: September 17th, 2013
- Tags: nodejs
- Duration: 23:59
Episode Notes
The Node Firm has been doing corporate training since 2011, but now is offering some public courses starting in October 2013.
The Node Firm public training courses at Joyent in San Francisco, CA:
- Oct 8-10, 2013 (Tue-Thur) - Node.js Core Foundations $3,225
- Oct 22-24, 2013 (Tue-Thur) - Advanced Node.js Development $3,225 (early registration price $2,985 until Sep 24)
- More coming to cities near you
Discussed in the 24 minute interview:
- Background on The Node Firm
- Description of the two courses
- Topics covered
- Intended audience
- Prerequisites
- Instructors, maximum class size
- Course style
More information
- http://thenodefirm.com/training - direct link to The Node Firm’s training information
- Contact The Node Firm for additional questions

1 Listener

013 Reflections of JSConf 2014 - Part 2
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
09/22/14 • 42 min
Episode Info
- Episode: CW 013
- Published: September 22nd, 2014
- Tags: nodejs, js,jsconf
- Duration: 42:54
Episode Notes
- 01:42 - Nodevember Node.js and JavaScript Conference coming November 15-16, Nashville, TN
- 04:40 - Day of Activities at JSConf 2014
- 05:07 - NodeBots, NodeCopters, NodeRockets, NodeBoats
- 11:43 - Golf Tournament sponsored by NodeSource
- 13:04 - Kayaking, Scavenger Hunt, Segway tour of Amelia Island
- 13:46 - Guy Bedford - Package Management for ES6 Modules (SystemJS, jspm.io)
- 19:43 - Jordan Matthiesen - Modern mobile app tool-chains
- 23:08 - Ryan Florence - Embularactymerbone
- 27:30 - Forrest Norvell - Learning ES6 as a Community
- 30:35 - Spike Brehm - Building Isomorphic Apps
- 33:00 - Bodil Stokke - Reactive Game Development for the Discerning Hipster
- 34:00 - Kassandra Perch - Modular Application Architecture in Javascript
- 34:40 - Kawandeep Virdee - Open Web Art: JavaScript for Interactive, Collaborative, and Hackable Art
- 36:24 - Brian Brennan - Being Human
- 38:30 - JS Family pic via drone
- 38:50 - Final thoughts about JSConf 2014
Links
- Nodevember Node.js/JavaScript Conference - Nov 15-16, 2014 - Nashville TN
- JSConf 2014
- JSConf 2014 Schedule - List of all talks
- Kevin Old - website, twitter, linkedin
- Jeff Barczewski, Founder, CodeWinds - website, twitter, linkedin
- CodeWinds - website, twitter
Videos
- JSConf 2014 videos on YouTube
- Guy Bedford - Package Management for ES6 Modules video
- CodeWinds Episode# 8 w/Guy Bedford - Audio Interview discussing SystemJS and jspm.io
- Jordan Matthiesen - Modern mobile app tool-chains video
- Ryan Florence - Embularactymerbone video
- CodeWinds Episode #7 w/Forrest Norvell - Video and Audio Interview
- Forrest Norvell - Learning ES6 as a Community video
- Spike Brehm - Building Isomorphic Apps video
- CodeWinds Episode# 9 w/Spike Brehm - Audio Interview
- Bodil Stokke - Reactive Game Development for the Discerning Hipster video
- Kassandra Perch - Modular Application Architecture in Javascript video
- CodeWinds Episode# 11 w/Kassandra Perch
- Kawandeep Virdee - Open Web Art: JavaScript for Interactive, Collaborative, and Hackable Art video
- Brian Brennan - Being Human video

012 Reflections of JSConf 2014 - Part 1
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
09/06/14 • 57 min
Episode Info
- Episode: CW 012
- Published: September 6th, 2014
- Tags: nodejs, js,jsconf
- Duration: 57:34
Episode Notes
- 01:23 - Nodevember Node.js and JavaScript Conference coming November 15-16, Nashville, TN
- 03:15 - JSConf 2014 Venue, Amelia Island, FL, Arriving
- 09:00 - CSSConf, Welcome reception
- 13:03 - Wednesday, first day of JSConf talks
- 15:00 - Neil Green - custom DSL’s in JavaScript
- 15:53 - Ron Evans, CylonJS - controlling hardware with JS, NodeBots, drones
- 22:00 - Tessel - Hardware which runs JS
- 24:45 - Spark Core kit
- 26:30 - Travell Perkins - Battle Hardened Node.js for the Enterprise
- 27:35 - Nico Bevacqua - Front End Ops Tooling, Grunt, Gulp, npm, browserify
- 36:13 - Mark DiMarco - User Interface Alorithms
- 40:25 - Nick Bray - Native Code on the Web
- 41:15 - Ryan Paul - Composing frontend Web applications with MontagsJS
- 45:45 - G. C. Marty - Play DVDs in JS for the sake of interoperability
- 47:40 - James Long - Unshackling JavaScript with Macros, SweetJS, Implemnting some ES6 features with macros
- 50:30 - Marco Rogers - Finding patterns across front-end frameworks
- 53:00 - David Calhoun - Realtime satellite tracking in the browser
- 54:10 - Jenn Schiffer - What’s the harm in sorting: sanitizing inputs for more optimized JavaScript
Links
- Nodevember Node.js/JavaScript Conference - Nov 15-16, 2014 - Nashville TN
- JSConf 2014
- JSConf 2014 Schedule - List of all talks
- CSSConf 2014
- Tessel - Tessel is a microcontroller that runs JavaScript
- Spark - Spark OS is a complete open source operating system for cloud-connected things
- Kevin Old - website, twitter, linkedin
- Jeff Barczewski, Founder, CodeWinds - website, twitter, linkedin
- CodeWinds - website, twitter
Videos
- JSConf 2014 videos on YouTube
- Neil Green - Custom DSL’s in JavaScript video
- Ron Evans - CylonJS: The JavaScript Evolution of Open Source Robotics video
- Travel Perkins - Battle Harnened Node.js for the Enterprise video
- Nico Bevacqua - Front End Ops Tooling video
- CodeWinds Podcast Episode# 10 w/Nico Bevacqua - Audio Interview
- Mark DiMarco - User interface algorithms video
- Nick Bray - Native code on the web video
- Ryan Paul - Composing frontend Web applications with MontagsJS video
- G. C. Marty - Play DVDs in JS for the sake of interoperability video
- Marco Rogers - Finding patterns across front-end frameworks video
- David Calhoun - Realtime satellite tracking in the browser video
- Jenn Schiffer - What’s the harm in sorting: sanitizing inputs for more optimized JavaScript video

009 Spike Brehm - Sharing javascript in browser and server - building isomorphic apps
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
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

004 Pete Hunt, Software Engineer for Facebook, discussing Facebook's open source js UI framework, React
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
03/17/14 • 42 min
In this episode, Jeff interviews Pete Hunt, a software engineer with Facebook about Facebook’s hot new open source js UI framework, React. React is a fresh look at how to build UI’s, attempting to improve on the limitations of the past. React gets some of its inspiration from how game engines acehieve awesome performance in their rendering pipeline.
React can be used in the browser and on the server with node.js so you can have single page apps that are fully indexable by the search engines and have instant load characteristics. React has pluggable backends so it can be used to target the DOM, HTML, canvas, SVG, and other formats.
The ideas and concepts behind React are very compelling, I encourage you to give it a look.
Episode Info
- Episode: CW 004
- Published: March 17th, 2014
- Tags: js, nodejs,UI,framework
- Duration: 42:17
- Updated: 2014-05-01 Added links to great articles by Reto Schläpfer
Episode Notes
Interview timeline
- 2:08 - What is React and why might people want to use it?
- 3:08 - The symbiotic relationship of ClojureScript and React
- 4:54 - The history of React and why it was created
- 9:43 - Updating web page with React without using data binding, a better approach inspired by game engines
- 13:11 - Using the virtual DOM to change the browser DOM
- 13:57 - Programming with React, render target HTML, canvas, other. Javascript is reference implementation of React. Node.js, ClojureScript, other environments.
- 16:45 - Working with designers. Contrasted with Ember and AngularJS. React encourages building a component architecture.
- 21:45 - JSX Compiler bridging HTML and React javascript
- 23:50 - Autobuilding JSX and in browser tools for React
- 24:50 - Tips and tricks to working with React, suggestions for getting started with React
- 27:17 - Rendering HTML on the server with Node.js. Pluggable React rendering backends (DOM, HTML, canvas, mixed mode static HTML + background JS binding). Better single page app performance
- 29:20 - React evolved through survival of the fittest at Facebook
- 30:15 - Ideas for having state on server and client, possibilities for using React over web sockets.
- 32:05 - React-multiuser - distributed shared mutable state using Firebase
- 33:03 - Better debugging with React using the state transitions, rewinding the state to replay the events
- 34:08 - Differences from Web Components
- 34:25 - Notable companies using React - Khan Academy, Oscars (Neartime.com), Largest bank in Russia, Facebook, Instagram
- 35:16 - Could a React backend plugin be created to target PDF?
- 36:30 - Future of React, what’s next?
- 39:38 - Contributing and getting help
Notable users of React
- Instagram.com is 100% built on React, both public site and internal tools.
- Facebook.com’s commenting interface, business management tools, Lookback video editor, page insights, and most, if not all, new JS development.
- Khan Academy uses React for most new JS development.
- Shirtstarter is 100% built on React.
- Sberbank, Russia’s number one bank, is built with React.
- The New York Times’s 2014 Red Carpet Project is built with React.
Resources
Links from Show
- Main Reactjs.org site
- Github Repo for Reactjs Source
- Pete Hunt’s Twitter
- Khan Academy question editor GitHub repo written in React
- irc: #reactjs on freenode
Online Training Courses
- CodeWinds React.js Fundamentals - The premier online course and community where you learn React.js by pragmatically building a real web app while applying TDD/BDD principles
- Kevin Old, Senior Software Engineer “Look no further, the React.js Fundamenta...

010 Nico Bevacqua - JS build tooling, development workflow, and his new book JavaScript Application Design
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
08/08/14 • 29 min
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

008 Guy Bedford - jspm & SystemJS - Unity and simplicity in loading CommonJS, AMD, and ES6 JS packages
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
07/02/14 • 22 min
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 Bedf...

003 SQLBits - lightweight SQL builder for Node.js for use with Postgres or other ANSI SQL databases
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski
02/17/14 • 17 min
SQLBits, a lightweight SQL builder for Node.js built by William Wicks, is a great compromise between using native SQL and going to a full ORM (object relational mapping tool). It is small and focused on doing one job, to help you create parameterized queries. One of its unique and killer features is that it can help you create any combination of filter queries from a single complex query based on the parameters used.
My goal with this podcast is to introduce you to SQLBits and provide some insight as to why it could be a valuable tool in your Node.js toolbox.
Episode Info
- Episode: CW 003
- Published: February 17th, 2014
- Tags: nodejs, database
- Duration: 17:17
Episode Notes
Background - SQL Builder vs ORM
What is a SQL builder and how does that compare to an ORM (Object Relational Mapper)?
A SQL builder like SQLBits is designed to help you to build safe parameterized SQL with a minimal abstraction layer that still allows you to write optimized SQL queries. Using parameters is important in create SQL to prevent SQL injection attacks where users enter malicious data into forms to gain access to your database. SQL builders help you to use parameters and avoid these attacks.
Having used Hibernate for Java and Active Record with Rails (a couple of popular Object Relational Mappers, I’ve seen what a ORM’s can do and they are nice when they do what you want, but all to often once you get into more advanced uses, they tend to get in your way and you are fighting with the tool to try to get it to generate the SQL you want.
So a SQL builder which allows you to create just the right queries but helps you deal with parameterization and tokens, provides a great balance. It stays out of your way and just helps with the bookkeeping. The sql it generates and the parameter array can be used directly with your database module like the pg Postgres client.
SQLBits - Node.js SQL builder
I reviewed a bunch of Node.js SQL builders listed in NPM and I was not happy with any of them until I found SQLBits.
Too many of them seemed complicated or too integrated bordering on ORM capabilities. I wanted something that was simple and just server a single purpose to help me build good parameterized queries. I didn’t want it to run my queries or perform schema manipulation. I don’t want a complete new DSL (domain specific language) or API that I need to learn. SQL is already a DSL that does that just fine, but it can get tricky to manage as queries get complex.
SQLBits is a simple tool which helps you generate SQL but stays out of your way. You can create custom tuned SQL which pulls back only what is needed over the wire and have it manage the parameters and tokens.
SQLBits Install
npm install sqlbits --save # install and add to package.jsonSimple example
var bits = require('sqlbits'); var SQL = bits.SQL; var $ = bits.$; var AND = bits.AND; var params = { max_price: 10.00, clearance: true }; var query = SQL('select name, desc from widgets') .WHERE('price < ', $(params.max_price), AND, 'clearance = ', $(params.clearance)) .ORDERBY('name asc'); // sql: select name, desc from widgets WHERE(price < $1 AND clearance = $2) ORDER BY name asc console.log('sql: ', query.sql); console.log('params: ', query.params); // params: [ 10, true ]Additional criteria
You can add in additional filter criteria with:
- AND - bits.AND
- OR - bits.OR
- BETWEEN - bits.BETWEEN (discussed in depth later)
- .IN(array)
- $ - bit...
Show more best episodes

Show more best episodes
FAQ
How many episodes does CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski have?
CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski currently has 15 episodes available.
What topics does CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski cover?
The podcast is about Javascript, Web Development, How To, Html5, Podcasts, Technology, Developer and Education.
What is the most popular episode on CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski?
The episode title '015 Michael Jackson and Ryan Florence explain that React.js really changes how we think about building web and mobile apps' is the most popular.
What is the average episode length on CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski?
The average episode length on CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski is 31 minutes.
How often are episodes of CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski released?
Episodes of CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski are typically released every 17 days.
When was the first episode of CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski?
The first episode of CodeWinds - Leading edge web developer news and training | javascript / React.js / Node.js / HTML5 / web development - Jeff Barczewski was released on Sep 17, 2013.
Show more FAQ

Show more FAQ