26 au 28 février, 2025
Montréal, Canada

Conférence JavaScript

La liste des présentations est sujette à changement sans préavis.
JavaScript Refactoring code without tests is risky. But to write tests, you often need to refactor the code first. How do you deal with that paradox?

I will show how to reduce the risk, even when missing tests. We will focus on refactorings I’ve found particularly useful when dealing with legacy codebases. You may know some names but probably don’t know the proper moves. Let me teach you how I do it.

Examples will be in TypeScript.
JavaScript We've strayed too far from the simplicity and power of HTML forms. It’s time to undo the damage. Once relegated to basic data collection, forms offer a surprising depth of functionality that's being rediscovered by developers and embraced by modern frameworks like Astro, Fresh, Remix, and Next.js.

Let’s rediscover the power of HTML forms and how they should be leveraged in modern web application development.
JavaScript The Core Web Vitals - Largest Contentful Paint, Interaction to Next Paint, and Cumulative Layout Shift - were chosen because they are a close proxy for how good or bad a user experience is. There are some things to be aware of... Are they available on all page types, or across browsers, when do they become available, how do we capture them, etc.

In this talk we'll understand what the Core Web Vitals are and how to make use of them.
JavaScript Yes, you can run multiple threads in JavaScript, using worker threads! This talk will first of all explain how JavaScript feels multi-threaded, but is actually single-threaded. It will discuss in which cases this is a problem, and then delve into the main course: worker threads and how they solve the problem of multiple threads. It will also discuss how to communicate between the threads using atomics, shared memory, and other constructs.
JavaScript Native ESM support for Node.js was a chance for the Node.js project to release official support for enhancing the module loading experience, to enable use cases such as on the fly transpilation, module stubbing, support for loading modules from HTTP, and monitoring.

We will look at the architecture of ESM loading in Node.js, and discuss the loader API that supports enhancing it. We will also look into advanced features
JavaScript Tired of rolling back the feature because a hotfix is coming through? Want to get away from code freezes to fit an arbitrary deadline? Feature flags allow us to release code when we're ready and then turn it on when business is ready. There's subtleties and nuance here. Join us on this journey with feature flags, talk about the options for cloud-based services vs. built-in systems, and best practices for testing and retiring feature flags.
JavaScript When you're just starting out, often web dev classes and tutorials start with "design a schema". This one, tiny mistake may be the root cause of billions of dollars lost, time wasted, and unnecessary complexity embedded in countless applications
The problem: coding "back-to-front"
Let me show you how the simple idea of coding "front-to-back" can reduce complexity, increase security, and help keep your codebase performant and maintainable
JavaScript You may be missing out on what your type system can do for you. And I don’t mean learning TS shenanigans!

I will show you how you can use types to represent your domain in a fine-grained, self-documenting way. We will make impossible states unrepresentable. We will encode business rules without writing a single line of runtime code!

With real-world examples, let’s dig into a more functional approach to modeling your app—without any monad!
JavaScript Tired of generic chatbots? Unlock personalized AI shopping assistants with OpenAI's Function Calls API. Learn to build chatbots that tap into your product catalog, understand customer preferences, & deliver tailored recommendations, boosting engagement. From CEOs envisioning the future to developers building it, this talk empowers everyone to embrace AI-driven commerce.
JavaScript If you want to write custom eslint rules, babel plugins, or other code parsers, you need to use Abstract Syntax Trees (AST). But they are generally scary for developers due to their complexity. In this talk, we will go through a real situation to parse some typescript React code using an AST and the Typescript Compiler API.
JavaScript Early defect detection is essential for quality software. This session explores shift-left in testing with Cypress component testing. I’ll show how component-level testing reduces the need for extensive E2E tests, saving time and resources. Attendees will learn to set up Cypress for component testing, overcome challenges, and realize benefits like increased test stability and faster execution times, including integration into CI/CD pipelines.
JavaScript Did you know you can use JavaScript to create stored functions and stored procedures in MySQL? Join me in this session where we will discuss the benefits of using JavaScript to create stored functions and procedures, give a high-altitude overview of how JavaScript is converted to a language MySQL can understand, demonstrate multiple examples, and show some debugging techniques.
JavaScript JavaScript has a new primitive for reactive programming: Signals. Almost all the major frameworks have adopted them and there is even a TC39 proposal to add signals directly into the language. But what do they do?

In this talk we will dig deep into the (imho) poorly named Signal, discuss how they are used in modern programming, demystify them by implementing our own in JS, and address the current status of the ECMAScript Signals proposal.
JavaScript GitHub Copilot is everywhere. It’s on GitHub.com, in Visual Studio, Visual Studio Code, GitHub Codespaces and more. Did you know you can extend Copilot?

In this hands on talk, you’ll learn:
- the architecture of a Copilot extension
- how to leverage the Copilot extension preview SDK to build GitHub Copilot extensions
- how to build out your first Copilot extension

We’ll wrap things up by taking a peek at a real world example.
JavaScript Meta's wildly popular single-page application framework React is only increasing the major version number when there is really something new. It’s time: React 19 is there, and it comes with several new features, such as server components and new hooks. However, the new release is also breaking backwards compatibility in a few places, deprecating APIs. This session will guide you through the major new possibilities of React 19, demos included.
JavaScript In this talk, you’ll learn what the difference is between Local-first and Offline-first and why you may want to choose local-first instead of the traditional web development model. We'll dig into how WebAssembly can help as we create a simple web application that uses Postgres in the browser via PGLite. For the data sync with the server, we'll use ElectricSQL.
JavaScript Explore how vlt, the next-gen JavaScript package manager built by the former npm team, tackles modern supply chain security threats. With features like a GUI for dependency graph visualization and the innovative Dependency Selector Syntax (DSS), vlt is designed to empower developers. Learn how deep insights from npm’s ecosystem, including security flaws like “manifest confusion,” influenced the creation of a safer, smarter package manager.
JavaScript Learn about new features and key initiatives in the latest versions of Node.js, and discover the direction of the Node.js project with a focus on the Next-10 team's work. Gain practical knowledge on how to leverage new technology within Node.js and find out how you can get involved and make an impact. This talk will provide a comprehensive update on all aspects of Node.js.
JavaScript As IoT devices evolve into devices capable of advanced processing at the network edge, using Node.js in these systems makes more and more sense. I'll share a typical journey starting with manual installation of Node.js applications on edge devices to automated deployment using cluster management tools. Along the way I’ll share my gas station edge device built with Node.js, Next.js and a Raspberry PI 4.
JavaScript Microservices are widely discussed, but what does a successful implementation look like? Sander Hoogendoorn shares his experience from leading iBOOD's transition to a clean microservices architecture.

In this talk, he covers key architectural decisions, patterns, and the creation of the open-source framework Easy.ts, offering practical insights and real-life examples to help others navigate their own tech transformations.
JavaScript Reproducibility is key to securing the JavaScript package ecosystem. In this talk, discover how `reproduce` will help you to verify a library’s build steps against it's published package counterpart, offering a practical alternative to theoretical SBOM & crypto-provenance security efforts. Learn then how reproducibility democratizes the verification & linking of source to artifacts, enhancing transparency & trust between disparate origins.
JavaScript CDKTF is one of Terraform's best-kept secrets. CDKTF by Hashicorp allows you to write infrastructure code using programming languages like Typescript and Go while still leveraging the power and the community of Terraform. We'll look at

* Primitives of CDKTF (Stacks and Constructs)
* Reuse Terraform modules in CDKTF
* Common gotchas on translating HCL to Typescript
* Understanding CDK synthesis workflows.
* Setup a multi-stack CDKTF project
JavaScript GenAI is transforming the app landscape, but you don't need a PhD in AI to benefit! This talk goes beyond theory, revealing practical, "sneaky" ways to integrate GenAI into your existing projects. Learn to automate mundane tasks, personalize user experiences, and boost efficiency without disrupting your workflow. Real-world examples & engaging demos will inspire you to unlock the power of GenAI today!
JavaScript I will show how the two most popular modern web application testing tools, Cypress and Playwright, approach the same problem differently. We will see how to write end-to-end, API, and component tests using both tools and how to execute them on a continuous integration system. Instead of declaring a winner, we will see the advantages of each test runner.
JavaScript Imagine the convenience of executing TypeScript files directly with Node.js using `node file.ts`. Just a few years ago, this concept seemed like a distant dream. Today, it stands as an exciting experimental feature. This narrative dives into the journey of transforming this dream into a reality.
JavaScript Need the power of AI without compromising data privacy? Gemini Nano delivers! This compact, multi-modal AI model runs entirely offline – on your device or in the browser – enabling secure and private AI applications. Analyse sensitive financial data, process medical images, or transcribe confidential audio notes without sending data to the cloud. Build powerful Applications using Gemini Nano while staying off the network!
JavaScript Many web developers choose features based on if they're supported in all major browsers for maximum reach. What if you didn't need to wait for support from all browsers? In this session, we'll explore the idea of using WebAssembly as a polyfill for the browsers that don't yet have the desired feature. As an example, we'll create a Web Component that uses WebAssembly to convert an image to a different type, on the fly, if needed.
JavaScript We've all got Javascript fatigue. There are new libraries, frameworks, meta-frameworks and even runtimes. Against this backdrop of constant churn is the unlikely hero we all need - HTMX. At the outset, this library looks like a practical joke. But HTMX is a well-thought-out library. We'll understand the basics such as triggers, targets, swaps and indicators. We'll even build highly interactive applications using animations and Server-Sent Events.

Explorez les 191 présentations