Browse past editions 2012 2013 2014 2015 2016

jsDay 2017

jsDay 2017 SOLD-OUT
May 10th-11th 2017
Hotel S. Marco — Verona, Italy
Jose Aguinaga
I am good at JavaScript, I swear.
JavaScript Keynote

Fraud syndrome, better known as impostor syndrome, is a common phenomena where someone feels like a fraud because they think everyone is better than themselves.
Working with JavaScript tends to generate this effect on developers, because there is always a new library to learn, and a new framework to master.
Despite their experience, every developer that interacted with JavaScript, has found themselves with a confused face while trying to understand the new technology everybody is talking about, just to have it replaced by another one in the incoming months.

In this talk, Jose Aguinaga, author of "How it feels to learn Javascript in 2016" and experienced developer (he swears), will talk about JavaScript fatigue and better approaches to avoid the Fear Of Missing Out other than trying to learn everything that comes from HackerNews.
From his job in San Francisco, to teaching coding in Bali, Jose will share his personal experiences of working for multiple startups in various cities across the world, and share his views on how to learn the most popular (and unpopular) language in the world.

Dustin Whittle
Javascript @ Uber
React Express Node Automation JavaScript

Join this session for a deep dive on how Uber leverages JavaScript across its engineering orgs.
From building frontend properties with a full JavaScript stack using express and react to the tools and infrastructure we use to automate best practices.

Sandro Paganotti
Tales of Web Bluetooth
Web Bluetooth Web USB

Web Bluetooth is cool, it draws a line from the browser to the real world. Join this talk for a sneak peak of these API and how, along with Web USB, they are starting shaping the future interactions between the browser and the physical world.

Tessa Mero
Building Chatbots with JavaScript
Chatbots JavaScript

Chatbots and conversational agents have become very popular in the recent years and there is a huge research effort to automate conversations in several applications.
What are Chatbots? How can it benefit you? How do you write the code for it?
These questions will be answered during the session with step by step directions using node.js so you can easily follow along.
Come join me and build your first Hello World Chatbot!

Michele Bertoli
Test like it's 2017
Testing Javascript

Testing UIs has always been a hard job.
In the components era, there are new tools and solutions available that transform completely the way we approach testing.
From snapshots, through end-to-end frameworks, to style guide testing.
In this talk, we'll see some modern (and creative) testing solutions.

Nick Balestra
Keep unlearning and go reactive
Reactive Cicle

In 2015, Michele Bertoli gave a talk titled "Unlearn everything" where he showed how React changed the way we write web applications and shared some ideas to work out of the comfort zone.
Michele ended his talk with a clear message that I took to heart: "Don't let what you learnt, prevent you to take a step forward".
Today, in 2017, for many of us React represent the confort zone... so where does the magic happens?
In this "sequel" session I will talk about Functional Reactive Programming with Cycle.js and how is taking the way we write web applications a step further.

Phil Nash
An empty database in everybody's pocket

IndexedDB is not new. It is supported in almost every browser. Without it, the future of progressive web apps are in peril.
But there is not a lot of love for it and that needs to change.
We'll investigate why we should love IndexedDB and the kind of apps you can create when you have the power of a database in the browser. Then we'll dive into how to use IndexedDB with a look at both the terrifying API and the friendly libraries that will help us along the way.

Together we'll discover a new love for IndexedDB.

Nikhil Verma
Visual Regression Testing: From a Tool to a Process
VRT JavaScript Node PhantomCss

We work with many Javascript based tools in our day to day lives.
But how do we take those tools from being used by a single person on a machine and integrate it into a team's workflow?
How can we link those tool into chains and go from a tool to a process? :)

In this talk I will discuss how I converted PhantomCSS, a tool for visual regression testing, and integrated it into our workflow. I will also cover the challenges we faced which ranged from integrating the tests into our CI, test execution taking too long, ability to browse the test results and notifying developers about failed regressions.

Marco Botton
The big rewrite: a true story
ES6 Testing Performance

Balsamiq Mockups, the popular tool for wireframing, was based on Adobe Flash/Air. We rewrote it from scratch using Javascript as main language, to make it run natively on the browser, while desktop and mobile versions are in the works. During this project, that took more than two years of work, we faced a lot of technical challenges in all fields: multiplatform architecture, UI performance , vector graphics, real time collaboration, management of a large codebase, ES6, debugging, automated and manual testing...
In this talk, centered on the web version of Balsamiq Wireframes (we also fixed the name!), I will discuss the choices we made, what worked well and what not so well, what we learned and... what we did not. :-)

Ada Rose
Building Web Apps
API Push Notifications Offline

The modern web is more interoperable than ever. Combining APIs for push notifications, offline support and getting an icon on the homescreen there has never been a more worthwhile time to use the Web to make native-like apps.

This talk aims to detail the benefits the Web can bring to you and how to best take advantage of the Web platform.

Anna Henningsen
Node.js � Character Encodings
Node Encoding Localisation

Find out what happened the last time you encountered a stray  in your text or what’s tricky when your user’s passwords contain special characters! Every developer has fallen over the tripwire that character encodings present, and Node.js has a couple of quirks of its own.

This talk will explain the involved concepts on a beginner’s level and make sure you’ll understand everything you need to know.

Stefano Mostarda
Advanced TypeScript: elegant solutions to common problems
TypeScript ES6

TypeScript is JavaScript on steroids. Not only it adds static typing to JavaScript applications, but it also adds ES2016+ features like arrow functions, destructuring, async/await, decorators, type guards and so on. These features are extremely powerful and help to write code in a simpler way compared to the past.

In this sessions we’ll talk about these features and we’ll see how to use them to better solve from common to advanced problems.

Jessica Jordan
Animate the Web with Ember.js
Ember Animation

Were you a fan of animated cartoons as a kid, and wondered if one day you could create your own? Here's the great news: you can! Using open web standards and Ember.js you're able to create frame-by-frame animations—and even to make them interactive!

This talk will explain why open web standards are more important than ever for creating animated content. We'll see how we can leverage the power of HTML5 Canvas in Ember efficiently and how to make animations interactive with the support of actions.

Matteo Collina
How Open Source changed my life
Node ES6 OSS Keynote

At some point in my career I decided I wanted to quit software development and do an MBA. For a stroke of luck, I failed the admission test and I kept developing software. It was early 2010, and I did not know Node.js existed, and the impact it would have on my life.

I wanted to speak at conferences, and I was terrible at it.

Then, I was lucky to find a job that allowed me time to develop Open Source libraries. I was lucky that someone noticed one, and I went speaking at 2013.

Now I travel the world as a consultant and conference speaker, and I maintain close to 200 OSS libraries. Open Source can change your life too, because there is no such thing as luck.

Paul Verbeek-Mast
Calendar / Kalender / تقويم (aka, the fun of locali[zs]ation)
localisation Encoding

For the past few months I’ve been creating a calendar for our partners at Months? Yes, months. Creating a calendar that works correctly all across the world for 42 different languages and even more locales, is not something that you do in a week.
In this talk I will talk to you about the weird things I learned. From Brazilian Summer Time to Slovakian date formatting. And how to avoid the many (many!) mistakes I made.

Fatos Hoti
What the hell is fiber and why should I care
Fiber React

React Fiber is an ongoing reimplementation of React's core algorithm. For more join the talk :)
Until then

Jennifer Wong
I Think I Know What You’re Talking About But I’m Not Sure

Recursion, instantiate, lexical scope - where do these words come from?!
If you’ve ever been in conversation with other developers and thought, "I think I know what they’re talking about, but I’m not sure...", you’re not alone.
Let’s delve into the weird and wonderful parlance that computer scientists and developers have created for themselves.
Whether the words are borrowed or just plain made up, I’ll uncover how they made their way into the vocabulary of the modern programmer.
In this session, you’ll learn everything from etymology to history to broader definitions, all of which can help you understand what the heck that person’s rambling about.
So, the next time you’re in conversation, you’ll be the one discussing dependency injection versus inversion of control with ease.

Maurizio Mangione
What Custom Elements are good for?
Custom Elements Components React Angular

The idea is to explain what Custom Elements are good for, when you can take advantage of this new technology in combination with the other Web Components feature and how to integrate them with JS frameworks like React, Angular etc...

Blake Newman
Vue.js? PWA? PRA?

What is Vue.js where did it come from?

We will take an overview look at the new kid on the block. Exploring the workings of a `Progressive Framework’ and where it sits in the industry.

While discovering Vue.js we will explore the infamous PWA’s (Progressive Web Applications), which will take the spot light in majority of application in the web.
Extending the PWA platform we will look how Sockets and Service Workers can coexist together, a PRA (Progressive Realtime Application), allowing platforms to improve the user experience without affecting the critical download chain.

Irina Shestak
Small Media
Node Streams Compression Audio

Fade in. An opened terminal window. iTerm2 is the flavour. Dracula, the theme. You split the panes in two. You are at it again: a stash of audio buffers and that dream of manipulating a lossless file. With node as your language of choice you embark on the night. You manipulate, you transform, you have your byte order sorted, on their own accord your fingers start to type gzip -f yourFavPhilCollinsSong.wav.
All of a sudden, a whisper:

But what if.

we stream.

file compression.

on the fly.

Fade to black.

In this talk we will walk through file compression algorithms in node as well compression standards. We will cover working with streams, audio buffers, and typed arrays to get us to compress and decompress files, and yourFavPhilCollinsSong.wav.

Patrick Lauke
The Paciello Group
Getting touchy, an introduction to touch and pointer events
Workshop Dom Events

Beyond smartphones and tablets, touch screens are finding their way into laptops and even desktop computers. With hardware support for touch becoming increasingly ubiquitous, it's time to explore what new possibilities are available to developers.
This workshop will cover the basics of handling touch (as well as stylus/pen input) in JavaScript — from making sure simple single-tap interactions are as responsive as possible, all the way to examples of full multitouch, gesture-enabled elements, with a particular focus on common pitfalls and browser inconsistencies.

Claudia Hernández
CS101 Intro to Computational Complexity : The Sorting Problem
Javascript Algorithm

Have you ever wondered how Array#sort works under the hood?
Setting aside its default, not well-known behavior of sorting elements lexicographically instead of numerically, there is actually so much more going on than meets the eye.
In this CS101 we’ll explore some useful sorting algorithms currently used by popular JS engines such as Chrome's V8 and Firefox's SpiderMonkey.
We'll demystify O(n) notation, talk about performance, and take a look at the JS implementations of said algorithms.
As a developer, learning how these algorithms work, why and when to use them will help you solve complex problems in your web applications. If you ever skipped this course at school (or never actually taken it), now's your chance to catch up and learn a thing or two !

Luca Mezzalira
Discovering Falcor.js

In this talk I'll show how Netflix reduces the chattiness between the client and the APIs called to the server with Falcor.js .
Falcor is a data library with the main goal to optimise the data fetching. With Falcor each client that is requesting an API will be able to select only the information needed in order to populate a specific view without the need of rewriting the APIs layer.

I want to deep dive on Falcor APIs, showing trough comparison tests, the benefits of introducing it in your projects.

Matteo Ronchi
Frontend automation: bring it to the next level

In the last years, complexity of front end development has exponentially grown making it really difficult to keep up with all the new solutions being developed. Maintaining and configuring automation tools is becoming a real burden, very difficult for newcomers and time consuming for experienced developers.
You'll see how it's possible to improve your project's automation using several techniques, tricks and tools.

At the end you will be able to improve your developer experience while maintaining and evolving your project's automation.

Kateryna Porshnieva
Deep Dive into ES6 Generators
Javascript ES6 Generators Iterators Symbols

How iterators and generators work and how they can help you in building applications. On Symbols, Iterators, Generators.

Alessandro Nadalin
SPA, isomorphic and back to the server: our journey with JS
SPA Isomorphic Universal Node React

We've been toying around with JS since 4 years, trying to figure out what's the best approach to build mobile-friendly apps that would offer the best performances on mobile devices.
We first went SPA and then decided to take a different approach.
2 years ago we presented a talk, at this very same conference, about how we decided to tackle our problems on mobile with an isomorphic application.

Today, we would like to guide you through 2 years of that choice and why we decided to take a step back and go revamp our mobile website again, with server-side rendering and a pinch of React.

Massimiliano Mantione
The dangers of object oriented designs
Javascript design

Object orientation has been all the rage since the late 80s (at least for those old enough to remember).
And this is not a passing fad: very recently a class construct has been added to the Javascript standard to make writing object oriented code simpler.

On the other hand functional programming is gaining popularity, and the average developer has a hard time understanding what's really going on, which trend is just a fashion and which practices are actually useful.
To shed some light on this we'll see what was the real vision when object orientation was invented, what is still good about it, what is troublesome, and how we can use this knowledge to write better code.