"Advanced JS: The 'What You Need To Know' Parts" (San Antonio)

A 1-day intensive, interactive workshop on the "advanced basics" of the core of JavaScript.

Take A Seat

Raise Your Hand

Additional Information

The majority of JavaScript developers use the language "in practice" (that is, they learn on the job) but rarely go beyond a surface understanding. In this workshop, we're going to actually dive pretty deep into how some of the confusing parts of the language actually work. Especially when we talk about prototypes, we'll see some perhaps surprising conclusions that change the way we think about OO in JavaScript. The goal is that you'll know why JavaScript works the way it does, so that you can make informed decisions about how to use it.

Outline

  • events (DOM & JS)
  • this
  • closures
  • encapsulation (module pattern)
  • prototypes
  • common OO patterns in JS
  • inheritance vs. behavior delegation

And as a bonus, if we have time, we'll dive into async flow-control patterns, including:

  • callback styles (continuation passing, etc)
  • generators and coroutines (yield, etc)
  • promises

This is an all-day workshop (runs 8am to 5pm), and includes both lecture and lab exercises. There will be several breaks throughout the day, including a lunch break.

Pre-requisites

  • Basic programming fundamentals (variables, loops, functions, objects, callbacks, etc)
  • Basic-to-intermediate jQuery familiarity (CSS selectors, events)
  • Intermediate JS syntax ability (types, references, functions as values)
  • Intermediate-to-advanced experience with developer tools in modern browsers

Class preparation: Have a laptop with a recent modern browser (Firefox, Chrome, etc) and a basic development environment (such as a text editor for making changes to HTML, CSS, and JavaScript files).

Instructor

Kyle Simpson is an Open Web Evangelist from Austin, TX. He's passionate about JavaScript, HTML5, real-time/peer-to-peer communications, and web performance. Otherwise, he's probably bored by it. Kyle is an author, workshop trainer, tech speaker, and avid OSS community member.