Schedule – Online 2025
NodeJSOne Africa Conference
12 February 2025 (Online Only)
NodeJSOne Africa Conference
12 February 2025 (Online Only)
09:00 - 10:00
React announced the official beta release of the upcoming 19th version of the library. It arrived with somewhat of a bang, and rightfully so - there are a lot of major changes coming to JavaScript's most used framework (at the point of writing).However, one massive change that seems to have flown (somewhat interestingly) under the radar is the addition of full native Web Component interoperability. When juxtaposed against Svelte, Vue and Solid's recent moves away from the Web Component specification - and the uproar caused by Ryan Carniato's article arguing against Web Components - this is an extremely notable, and interesting development within the landscape of modern JavaScript. In this talk, we will not only explore the implications of the above, but also what this means for the average JavaScript developer in their day-to-day work (especially those using React). We will then end off with a practical example of how you can start using Web Components within React at this very moment.
10:00 - 10:40
There's no question that JavaScript is everywhere and lets you do amazing things in the browser. There is however the question of whether JavaScript is suitable for all things. In one area in particular, I've come to rely on JavaScript for the presentation layer and Go for everything else. In this talk, I'll show you how these two vastly different languages can work together to build a modern, cohesive solution that puts a new spin on a very old concept: The humble Desktop application.
10:40-10:55
11:00 - 11:40
So you've got an application that talks to a database. And you've got unit tests for your business logic. But you also want to write integration tests to make sure it's all working together properly. You'll need to mock the data access layer. Not necessarily! In this talk, we'll explore how you can use Testcontainers to easily spin up a real database instance in a container for testing. This approach allows for testing more realistic behaviour and catching real-world issues like SQL syntax errors.
11:40 - 12:20
TypeScript's type system is more than just a safety net - it's an expressive toolkit for modelling complex relationships in your code. In this talk, we'll explore how literal types serve as building blocks for type patterns that enhance both safety and readability. From discriminated unions to template literals, we'll see how these concepts build on each other to create more powerful type definitions. Whether you're new to advanced typing or looking to level up your skills, you'll leave with concrete patterns you can implement in your codebase today.
12:20-13:00
13:00 - 13:40
We have an unfair advantage of Node.js to make JavaScript a great language for full-stack web development. But why are frameworks like Rails and Laravel keep winning when it comes to great productivity for the full-stack developer? In this talk I'll show an alternative way to build full-stack SPAs without subscribing for endless developer tools as a server while also keeping things simple and powerful with The Boring JavaScript Stack.
13:40 - 14:20
I needed to teach a bunch of non-coders how to write JS, so I built a game engine. Not the wisest choice, but definitely one that taught me much about how game engines work. Follow along as I show you more of the interesting things I learned through this process. We'll cover things like: - Drawing on canvas - Structuring libraries to not need build steps - Making sounds and music in the browser - The math behind drawing circles and lines - Designing JS APIs that don't suck