Welcome our new ES5 Overlords

While we constantly pay attention to new utility libraries, MVC frameworks, and other well-publicised tools, most of our non-library coding hasn’t changed since ES3.

We’re missing out: beyond the obvious, there’s a world of interesting stuff you can and should be doing with ES5: safe extension of inbuilt methods, mechanisms for live binding data and DOM, and a whole host of techniques to make your code shorter and more readable. Best of all, it’s already built into your browser and node.

Using Web Components in Production

Web Components are like Lego bricks. Easy to assemble and every piece simply fits together. But there is even more to it. Being able to create your own HTML-Tags with encapsulated style & logic changes the way you think about structuring your web applications. Get a sneak peek on how to develop scalable & maintainable applications in the future.

No More Pyramids – Tools for keeping callbacks neat

Node.js is a great tool for input-output heavy problems, but complex workflows create a new challenge: callback pyramids of doom. Thankfully a posse of tools is being gathered to flatten these pyramids. We’ll look at a range of these techniques, from the old favourites like observers to exotic languages that compile to Javascript.

Handling heaps of IO isn’t fun if the code gets ugly - see how you can make node look as beautiful as it performs!

BonsaiJS – A Graphics and Animation Library

Developing interactive and beautiful apps and websites has been difficult and limited in the past - if you wanted to go fancy, Adobe Flash was the way to go.

With BonsaiJS, an open-source Graphics and Animation Library built in JavaScript, you now can create stunning content similar to Adobe Flash. BonsaiJS’s simple API makes optimal use of different “HMTL5” technologies such as SVG, CSS3, WebWorkers and even nodejs.

During this talk we will look into the unique architecture of BonsaiJS, including the separation of rendering and script execution. We will explore the rendering engine(s), such as the SVG renderer and the environment agnostic script runner (running in the window thread, WebWorker or even on nodejs). BonsaiJS is also the JavaScript-Library that powers Pixelplant, our new Flash (including ActionScript 3) to JavaScript Converter.

After this talk you will have a good overview of BonsaiJS’s intuitive and simple JavaScript API and how we use the open web to draw interactive graphics.

Andrzej Mazur

Abusing Firefox OS and HTML5 games for fun and profit

There’s a new player in the mobile world - Firefox OS. You probably don’t know him yet, but you already know his tools of the trade - HTML5 and JavaScript. What’s so special about him? Well, if you’re a front-end developer there’s a huge chance you’re already building Internets that can be used as Firefox OS apps with almost no hassle. If you’re into HTML5 game development I’ve got some good news for you.

Learn about Firefox OS mobile system, Firefox Marketplace and a concept of developing mobile HTML5 games easily and getting a bucket load of money out of it.

Gustaf Nilsson Kotte

HTML Hypermedia APIs and Adaptive Web Design

Hypermedia APIs are receiving increased attention. First, I will show you why and when HTML is a good choice as a media type for your API. A hypermedia API should expose use cases. If these are specific enough (and if you choose HTML as the media type), you are close to the “mobile first” web strategy. And, correspondingly, mobile first” is close to the idea of HTML hypermedia APIs - your API can be your web site and vice versa!

But the mobile experience by itself is often not enough. Adaptive Web Design is a set of patterns that adhere to the Progressive Enhancement principle and we can use AWD to get better experiences for more capable devices. The “conditional lazy loading pattern is especially interesting for our purposes.

Alexander Beletsky

Heroku-like deployments in your pocket with Dokku

Dokku is a smallest ever PaaS you ever seen. It’s created by Jeff Lindsay, powered by Docker and written ~100 lines of shell script.

This is brilliant hack, very interesting to look inside, but it also provides huge value for developers.

In this talk I gonna describe Dokku magic behind as well as show how to build own PaaS for Node.js applications in minutes.

Bitford: A streaming BitTorrent client for Chrome

With Chrome Packaged Apps and Mozilla Open Web Apps, desktop apps can now be written in HTML & JS. Apart from cosmetical distinction, these apps gain a number of privileges over conventional Web apps.

This talk focuses on the fileSystem and socket APIs for a polished attempt at bringing the Internet’s best media distribution system back to the browser: Bitford, a BitTorrent client running as a Chrome Packaged App.

Compared to other Chrome extensions, Bitford does not remote-control a native client behind the stages. It implements the standard BitTorrent wire protocol over TCP, storing data with the fileSystem API exposed by the browser, all in JavaScript.

I will detail some practical techniques for processing binary data streams. Necessary information about BitTorrent will be provided. Then I am going to talk about ways to facilitate streaming to HTML5 media elements as soon as particular data is available and verified. That means: load a .torrent and start playback almost immediately!

Making Music with JavaScript and Gamepads

The Web Audio API allows to create, to manipulate and to mix sounds right from the browser. Many highly interactive and novel experiments have been created, which enable everyone of us to make music even without any musical experience. Adding the Gamepad API to the experiments even enriches the user’s experience in exploring the music creation process.

This talk will show the basics of dealing with both APIs and it will contain experiments that show how well both APIs go together.

Guillaume Cedric Marty

60 FPS Retro Gaming on Mobile

Born as an interpreter, jsSMS is now a hybrid emulator for Sega Master System and Game Gear. It makes uses of static and dynamic recompilation, and fall back to a classical interpreter if required.

From parsing to JavaScript generation using an optimised AST, I’ll present the different steps to make an emulator fast.

The ultimate goal is to provide full speed for retro gaming on mobile browser and web app!