Putting Backbone.js In HTML5

When developing HTML5 applications, your code is bound to get more complex over time. Employing design patterns like MVC are important for separating concerns and creating more modular and reusable code. Backbone.js is one of the more popular JavaScript frameworks to help you do this. Unfortunately, like most open source, the documentation is a work in progress. Continue reading

JavaScript: Advanced Scoping & Other Puzzles

Learn the fundamentals of JavaScript variable scope and common “execution context” (scope) challenges associated with early/late binding of event handlers, specifically within complex Ext JS layouts. We’ll also bring several patterns (namespaced references, Function closures, inline references, ref/refOwner, and the “Poor-man’s message bus”) to bear on the bowl of soup we call “scope. Continue reading

JavaScript APIs You Have Never Heard Of

The number of JavaScript APIs has exploded over the years, with a small subset of those APIs getting all the attention. While developers feverishly work on Web sockets and canvas, it’s easy to overlook some smaller and quite useful APIs. This talk uncovers the “uncool” JavaScript APIs that most people have never heard of and yet are widely supported by today’s browsers. You’ll learn tips and tricks for working with the DOM and other types of data that you can use today. Continue reading

Pure JavaScript

Are you comfortable passing functions around, returning them from other functions, and generally enjoy the pleasures of higher-order functions? Join in on an hour implementing ideas from functional programming in JavaScript. I will show you how you can significantly up your game by leaving loops behind and embracing functions as the primary unit of abstraction. Continue reading

Concurrent Server-side JavaScript on the JVM

This is a short presentation of RingoJS, a Node.js-like CommonJS environment, which supports threaded JavaScript on the server. RingoJS is a CommonJS-based JavaScript runtime written in Java and based on the Mozilla Rhino JavaScript engine. It takes a pragmatical and non-dogmatic stance on things like I/O paradigms. Blocking and asynchronous I/O both have their strengths and weaknesses in different areas. Continue reading