5min.

DotJs 2024 the (re)union

This week, we attended DotJs, which made its comeback after a five-years break. The event was held at the Folies Bergères. The theme was (Re)Union, reflecting the gathering of the JavaScript community. The schedule mostly consisted of 20-minute talks, interspersed with a few 5-minute lightning talks. Various topics were addressed during this special day full of engaging presentations. Here is what we learned about them.

Section intitulée signals-enhancing-reactivitySignals: Enhancing Reactivity

In JavaScript, signals are reactive primitives that manage state changes over time, automatically notifying dependent code and simplifying state management by minimizing unnecessary computations.

Ben Lesh – Thinking About Your Code: Push vs Pull

Ben Lesh explained the concept of signals, focusing on common performance issues in producer-consumer models. Using a live demo with M&Ms, he illustrated the difference between pull (consumer-driven, eg function calls) and push (producer-driven, eg : callbacks, promises, observables…) data flows. He highlighted how signals introduce a new “push-pull” pattern.

slide ben Lesh

Ruby Jane Cabagnot – Embracing Reactivity: Signals unveiled in Modern Web Frameworks Ruby Jane discussed how signals can simplify state management in modern JavaScript frameworks like Solid.js and Svelte. She explained that signals are a straightforward way to create a reactive state, allowing developers to focus on what matters most by providing a simpler and more intuitive approach to reactivity.

Section intitulée frameworks-evolution-and-optimizationFrameworks: Evolution and Optimization

Minko Gechev – Converging Web Frameworks

Minko Gechev explored the convergence of web frameworks. He started by noting the similarities between Angular and React in terms of synchronization of model and view until last year. He introduced concepts like event replay and deferrable views to optimize performance during app hydration, emphasizing the future direction of more granular state management in frameworks.

slide Minko Gechev

Mark Dalgleish – Remixing the bundler

Mark Dalgleish highlighted the symbiotic relationship between React and Remix. He explained how Remix merged with React Router. His conclusion was that the lines between libraries and frameworks were blurring.

Section intitulée rendering-evolving-the-web-experienceRendering: Evolving the Web experience

James Q. Quick – Dante’s Inferno of Fullstack Development

James Quick took the audience through the history of web rendering, comparing it to Dante’s Inferno. He covered the evolution from static pages in 1991 to modern server components, discussing the trade-offs at each stage, such as performance issues with single-page applications and the solutions offered by static site generation and incremental static regeneration.

slide James Q. Quick

We are running in circle but like in a staircase we are going up. And even if sometimes it feels like we are reinventing the wheel, we are always making progress. For example, performance now does not mean the same as it did 20 years ago. His slides are available on his website.

Stoyan Stefanov – Your app crashes my browser

Stoyan addressed the challenges of detecting and fixing memory leaks in JavaScript. He introduced tools like Memlab and Chrome extensions to identify leaks through memory snapshots and common leaking patterns, such as detached objects and stray listeners.

Section intitulée testing-ensuring-reliability-in-web-appsTesting: Ensuring Reliability in Web Apps

Jessica Sachs – What to test in your web app Jessica Sachs provided an overview of the evolution of JavaScript testing from the 90s (CGI) to today. She discussed the advancements brought by tools like Js Test Driver and Jest, and the importance of modern testing practices to ensure reliability and performance in web applications.

slide Jessica Sachs

Section intitulée api-design-crafting-intuitive-interfacesAPI Design: Crafting Intuitive Interfaces

Lea Verou – API design is UI design

Lea Verou emphasized that APIs are a form of user interface where developers are the users. She shared practical tips for designing intuitive APIs, such as progressively revealing complexity and encapsulating it where possible. Her talk was particularly engaging, with visual examples and interactive audience questions, reinforcing the importance of empathy in API design. Shout out to her!

slide Lea Verou

Section intitulée security-protecting-yourself-and-your-usersSecurity: Protecting yourself and your users

Eleanor McHugh – Encrypt all transports

In her lightning talk, Eleanor McHugh stressed the necessity of built-in privacy protections in web applications. She argued that developers have a responsibility to ensure user privacy by default.

Maud Nalpas – Our future without passwords

We all had an Excel file with our passwords on them at some point. But nowadays we have no excuses for them, Maud Nalpas introduced the concept of passkeys, which use biometric authentication for logging into websites. Under the hood it’s just a cryptographic key pair with a public and a private key. She explained the benefits of passkeys in preventing phishing since they can only be used for the service they are created on. Maud also provided insights into implementing passkeys with a focus on user adoption through carefully designed UX.

Section intitulée ai-integrating-with-modern-interfacesAI: Integrating with Modern Interfaces

Malte Ubl – Generative UI: Bring your React Components to AI today!

Malte Ubl discussed the integration of React components with AI, advocating for the use of UI components alongside textual inputs to enhance AI interactions. He demonstrated how to provide functions as tools to LLMs, showcasing the potential of combining traditional UI elements with advanced AI capabilities.

Section intitulée performance-and-speed-leveraging-webassemblyPerformance and Speed: Leveraging WebAssembly

David Flanagan: The future of Serverless is WebAssembly

David Flanagan highlighted the performance benefits of WebAssembly, showcasing its impressive response times. He demonstrated the open-source project Spin, which supports multiple languages and includes AI and large language models (LLMs). David’s live demo featured the creation of a TypeScript service and a Javascript service, illustrating the versatility and potential of WebAssembly in enhancing web performance.

Section intitulée final-thoughts-a-memorable-returnFinal Thoughts: A memorable return

DotJs’ comeback was a successful one. It has been a pleasure to once again meet with other JS developers, and we learnt a lot of interesting things. Christophe Porteneuve skillfully MCed the event, and we cannot end this article without mentioning his fancy JavaScript bow tie.

Christophe Porteneuve

We also really liked the 7 families game: each attendant was given a card picturing a member of one of 7 families (Node.js’ grandmother, Vue.js’ daughter, jQuery’s father…) and those who would find every member of their family would get a gift. We found this to be a fun way to incentivize new connections between attendants.

my dot js family

To wrap up the day, there was an insightful Q&A session with all the speakers, allowing attendees to delve deeper into the topics discussed. The event concluded with a gathering over drinks, allowing further networking and discussions. All in all, this DotJs reunion was a memorable and enriching experience.


Cet article porte sur la conférence dotJS 2024.

dotJS 2024

Commentaires et discussions

Nos formations sur ce sujet

Notre expertise est aussi disponible sous forme de formations professionnelles !

Voir toutes nos formations

Ces clients ont profité de notre expertise