Where once web pages were sandboxed, with little if any access to the underlying device capabilities, increasingly, this is no longer the case. From the first steps of geolocation, which enables any web site or application to ask the browser for a user’s location, an increasing range of device features are being exposed in the DOM: the file system, camera, gyrosopes, address book, compasses and more. In this session, Dave Johnson, originator of the phoneGap project delves into HTML5 and related device APIs, enabling us to build richer, more sophisticated applications in the browser.
An in-depth look at how JavaScript’s first-class functions and lexical scope allow us to write powerful and expressive code. Through the single topic of immediately invoked function expressions, we’ll touch upon function scope, closures, JavaScript “classes”, CoffeeScript and ECMAScript 5.
Stuck in the land of DOM-based event handling in your JS code? While jQuery (and other libraries) help ease the pain, they don’t solve all the problems. This session will explore modern JS event libraries that will change the way you architect and build your apps forever.
Get the low-down on this excellent HTML5 feature and learn how you can add it to your own web projects (and why you’d want to!). We’ll also look at some of the missteps made along the way (like the 2011/12 Twitter web interface).
Douglas Crockford has introduced us all to the good parts of JavaScript. But what then are “the bad parts”? In this session, Anette Bergo takes a look at some of JavaScript’s odd parts, quirks, and pitfalls.
This 15 minute party may or may not include: when and how to load and run JavaScript on page load; JavaScript coding conventions you should adopt; a look at writing callback oriented JavaScript and some JavaScript performance tips for fun and profit.
Before we fork out for expensive performance monitoring tools, what if we took the time to listen to what our browser was trying to tell us? We can discover a whole range of features you may have ignored. Discover how to debug network latency issues, memory leaks and other performance fun in our browsers. With web applications becoming more like desktop apps, remaining open for days at a time. Now is the time to listen to your browsers pain and walk away with a new toolkit of performance best practices.
Today’s web browser is a powerful application platform, challenging the traditional responsibilities of web application server and client. In this session we learn to harness the browser to do some of the heavy-lifting traditionally delegated to the server-side.
Pushing rendering tasks onto the web browser reduces the amount of hand-holding required of a server, minimising network utilisation and lag involved in user interactions. This decouples our views from our server implementation and can improve overall application performance. Your web applications will feel snappy and lightweight, presenting a more pleasant user experience.
We will explore the implications of client-side rendering and the differences between popular client-side templating tools, such as jQuery templates, EJS, Underscore and Handlebars, evaluating compatibility, performance, expressiveness and project health, while comparing statistics and user experience with traditional server-side templating techniques.
Let’s have a look at how new features such as autofocus, required fields, native date pickers, placeholder text and popping up tailored keyboards for numbers and email addresses on mobile devices can make life more enjoyable!
Client-side unit testing can be a painful thing to test in all browsers, so as a “lazy developer” I like to do as little as possible. We’ll dive into how we can automate this process and what tools are out there to help us and how I use these on Modernizr.
In just 30 months, node.js has gone from an obscure toy to the most watched development platform on GitHub. Once the next stable version ships, significant focus will move to improving the community-driven ecosystem of modules, making it easier to navigate and contribute. In this talk, Jed will introduce the two faces of NPM, the official node.js package manager: NPM the ecosystem, for finding existing modules and developing and publishing your own modules, and NPM the tool, for managing and streamlining node.js workflows for your own projects.
In this talk, JavaScript developer and jQuery Core Bug Triage & Docs team member Addy Osmani discusses tools that can simplify your development process significantly.