• 3 Mar 2020
  • sitegeist on tour

dotJs 2019 - Paris

The dotJs took place in Paris on December 5 and 6, 2019. Our frontend developer Lennart attended dotJS in Paris and brought back a lot to share.

The Dock Pullman is located in a business district of Paris known as Les Docks, just outside the less glamorous Boulevard Périphérique. Due to a last-minute national strike, the organizers arranged for shuttle buses to and from different parts of the city.

Since my hotel was only about a 20-minute walk away, I didn’t need the shuttle service. The walk through adjacent districts gave me a look at some of the less polished corners of Paris — I was already looking forward to walking back in the evening.

Once I received my badge, I began exploring the interior of the venue. The foyer was lined with sponsor booths — Microsoft, PayFit, Cloudflare, and around 20 other companies were present, with a noticeable focus on APIs.

Even more crowded than the sponsor stands were the buffet stations, which offered French breakfast delicacies from early in the morning. The food was exceptional for a conference — gourmet-level quality that continued as a theme throughout the two days.

Well-fed, I headed into the main auditorium (dotJS is a single-track conference). It holds about 2,000 people, making dotJS the largest JavaScript-only conference in the world. As is customary at tech conferences, the audience waited for the first speaker to the sound of techno and dubstep beats — an attempt to underscore the energy and “coolness” of web technologies.

The first day centered on frontend JavaScript.
The opening talk by Tim Neutkens highlighted stats showing that 72% of 28,000 surveyed developers use one of the big three frameworks: React, Vue, or Angular.

Tim spoke about pairing UI libraries with their optimal web frameworks, such as:

  • Nuxt.js for Vue
  • Sapper for Svelte
  • Next.js for React

Next.js offers features like CSS encapsulation, routing, bundling, and HTML pre-rendering. He also shared helpful compilation and bundling tips (see image, not included here).

Next up, Eduardo San Martin Morote explored modern routing in JavaScript, focusing on browser compatibility issues. A humorous highlight: an Internet Explorer icon popped up mid-talk to remind us it doesn’t support URLSearchParams.

Eduardo promptly banished URLSearchParams to the garbage heap of JS history. He also showed how browsers like Firefox and Chrome handle location.hash more gracefully than others.

Sara Vieira, a developer at CodeSandbox, gave the final talk before lunch. (Side note: CodeSandbox.io is a great platform – Sara calls it a “very overengineered CodePen,” and I love using it for quick prototypes.)

She emphasized the responsibility developers have to build accessible sites and apps. Key takeaways:

  • Placeholders are no substitute for labels — not all devices can read them reliably.
  • Language delivery should be based on browser language, not IP address.
  • As for custom selects? Sara's opinion is hilariously summarized at doineedacustomselect.com.

Sara urged us to go the extra mile in UX to ensure better experiences — because while we may take the web for granted as digital natives, many others don’t.

Lunch was another culinary highlight, with Camembert on rustic pain bis de Champagne, stuffed allumettes, and a dessert buffet including macarons, profiteroles, and tarte Tatin. Bean bags provided a cozy place to relax while sponsor demos — including one from Microsoft — ran in the background.

After lunch came four lightning talks (4.5 minutes each), selected by a jury from open submissions. I really liked the format — diverse, concise topics, and anyone can submit.

My favorites:

Stefan Judis gave a passionate ode to regular expressions, explaining gems like the "?:" RegEx operator that excludes matching groups from the result.

Betrand Chevrier gave a quick and compelling intro to Svelte, the component framework that compiles down to Vanilla JS. Svelte combines scripts, styles, and DOM in a single file and supports reactive web app development — its community is growing fast.

If Jesus had appeared on stage that evening, he would probably not have received a more euphoric reception than the last speaker of the day. Evan You can certainly be seen as a messiah of modern JavaScript frameworks and so his way onto the stage was accompanied by frenetic applause, with some even cheering as if he were performing in a teenage band.

The creator of Vue.js seems a little taken aback by all the hype surrounding his figure. His talk also remains free of new prophecies and reports, quite down-to-earth, on the state of UI components in JS frameworks and how similar they have become in the meantime. You can also watch the whole talk on YouTube:

I won't go into the second day in as much detail here, as the talks there were more about the server-side use of Javascript. In any case, a recognizable trend in many talks was the reference to Wasm, i.e. WebAssembly. As luck would have it, the W3C consortium officially announced that WebAssembly is now the fourth official web standard alongside JS, HTML and CSS.

As some of the speakers are also W3C committee members, a small discussion round was spontaneously arranged on the stage to shed some light on the committee's working methods.

I really enjoyed the talk by Vladimir Agafonkin, who spoke about the optimization of algorithms using several examples. The examples were mostly related to either the evaluation or representation of (2- and 3-dimensional) maps. I found the example of a library that was supposed to perform the triangulation of 1 million points in JS very successful.

In the following image, Vladimir shows how often the library has been further developed by various people and what speed optimizations have been achieved by adapting the algorithm. The names of the optimized libraries provide a certain amount of humour. In the picture you can see that the same library was then also written in C++ and Rust for experimental purposes and how little speed advantage this was able to achieve. Here you can clearly see what JS is already capable of today.

Paris is, of course, an amazing location for a conference. One thing I appreciated: Parisians seem less glued to their phones, making casual conversation easier. One downside: there’s still a lot more smoking than back home, which means more time in front of brasseries than inside them.

In that spirit — au revoir dotJS, and maybe à l’année prochaine!