Like the tales of King Arthur, the history, mythology, and lore of script loaders is teeming with both fact and fiction. If we're going to achieve the destiny of true web performance optimization in our page loads, we're going to have to separate the myths from the truths.
We're going to take a brief look at the history of script loading techniques, looking at what survived and what didn't, and why. We'll also look at some of the techniques that are still around but shouldn't be!
Then we're going to jump into a broad review of current script loading techniques. We'll cover from the very basic single-script snippets (like the "async snippet" from Google Analytics), to general script loaders like LABjs and HeadJS (and several others). We'll also look at task-specific script loaders such as those found in frameworks (Dojo, YUI, etc). Our goal will be to identify the characteristics of each loader and loading technique, to give you solid information you can use when choosing the right script loader for your sites.
We'll also survey the current state of browser technology and the HTML specification standards for these loading techniques, and also talk briefly about where those things are headed in the future.
Finally, we'll gaze into the crystal ball to look at the future of advanced use-cases for script loading, such as module dependency (RequireJS) and deferred script execution (ControlJS), as well as upcoming ES-Harmony Modules. We'll talk about why these things are so valuable, and give you practical do's and don'ts for implementing these techniques right now.
More than just a technical talk (although there's plenty of code!), this is a talk for advocacy and awareness among the developer community on the topic of efficient and performant script loading, and what members of the community can do to become involved in shaping the next generation of script loading technology.
The rich history, diverse current state, and bright future for script loaders is both technically challenging and highly rewarding in performance gains, if you accept the quest.
by Robert Nyman
This talk aims to introduce you to the plethora of APIs HTML5 and related technologies offer us. Sure, HTML5 brings eye-candy and we'll look at that, but there's so much more to it when it comes to building day-to-day web sites and web applications.
The talk will also explain why code quality tools are important to the community and describe our plans towards the next iterations of JSHint.
Making a request to the server for a new page is sooo 1990s. We have the technology and power to make amazingly fast and responsive applications - not just web *sites*, but *applications*. This requires a shift in thinking, an ironic shift back to the 1990s. I'm talking about client-server programming.
The MVC pattern has been embraced by the development community. Unfortunately, traditional server-rendered views are often much slower than they need to be. Add in a bit of network latency, and an application can slow to a crawl. Pushing the "V" in MVC to the client can be a solution - and it's not as difficult as it seems. With a well-designed architecture, we can leave the service layer on the server-side, and move the view layer to the browser.
In late 2010, Toura Mobile had developed a PhoneGap-based platform for creating content-rich mobile applications, and customers were buying. The problem was that customers were also asking for more and more complex features, and Toura was rapidly discovering that their platform was more of a prototype than a solid base for future development. In this session, Rebecca will talk about the decision to start from scratch, what the team did differently the second time around, how they used features of the Dojo Toolkit to smooth the process, and how they designed the new solution with an emphasis on expecting the unexpected.
From particle systems to blending effects, optimised animations, 3D, touch interfaces, gaming and good old maths creativity, Seb Lee-Delisle has more than a trick or two to share with us. If you’re interested in bringing a little visceral beauty to your websites, apps and games, then you will want to see this talk.
by Mark Headd
In addition to traditional web apps, Node.js is very well suited to building communication apps (it's good for everything!) To illustrate this, Mark will provide a short introduction to Node, and lead up to a broader discussion about the different kinds of things you can build with it, including an exploration of the future of telephony application development and the prominent role that technologies like Node will play in it.
by Yehuda Katz
9th July 2011