Our medium has entered its third decade of existence, and is ready for some growing up. Our definitions and understanding of the web are rapidly getting out of date, as, too, are our practices for building on it. It is time to re-evaluate where things are and, more importantly, where they are going.
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 beging 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.
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.
As the majority of web users shift to touch devices, the expectation is becoming that everything becomes touchable — including the mobile web. This session will provide a practical and pragmatic view of where touch is at from a web standards perspective and how you can start weaving touch interactions into your mobile web applications.
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 mis-steps made along the way (like the 2011/12 Twitter web interface).
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!
One of the perceived benefits of "native" apps is that they can be installed on a device, then run when the user isn't connected. But web apps can do this too.
In this session, John Allsopp will show you how to use HTML5 features such as app cache and webStorage to create apps that the user can install, and which will work even when the user is cruising at 30,000 feet with no web connection.
These features also have the added bonus of helping to improve the performance of web sites and apps as well, and even work in all modern browsers and devices, including IE8 up!
Each website is a product used daily by people to take actions, not just read the content on it. Your product is amorphous, it takes the shape of whatever container it fills: a mobile browser, a touch enabled desktop browser, or a 30″ iMac that is connected to the Internet via tethering. Photoshop is just one of the means to an end in this new age of utilitarian web sites.
The new technologies available in HTML5 already allow you to create prototypes quickly in the browser. Learn how to create a prototype from start to finish using these new technologies while taking advantage of quick prototyping tools.
Some time ago now JavaScript stopped being a toy language and became a serious player. Yet when you browse through the plethora of code and different discussions you get the sense that a lot of people, even those who use it every day, are still quite confused about the language — its great power, and your great responsibility toward it as a developer. Demystifying this is the purpose of the entire second day of Web Directions Code, which Dmitry will introduce in a keynote you won't forget for a long time.
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.
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.
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.
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.
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.
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.
With Angry Birds, Cut the Rope and other blockbuster games now working in modern web browsers, it's fair to say native, browser based gaming has arrived for real. But how do they do it? In the sessions, Mozilla Technical Evangelist Rob Hawkes looks at the features now in your browsers to help develop games (and other interactive web based experiences) including the Canvas and WebGL, HTML5 Audio API, Mouselock and the Joystick API.
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.