jsday 2022 is the 11th edition of the Italian JavaScript conference, organized by GrUSP, organizers of events like phpday, reactjsday and many others.

Thursday 21st April 2022

Records & Tuples are coming: the next exciting JavaScript feature
Talk by Nicolò Ribaudo (40 minutes)

Immutability and deep equality. Two keywords that were initially relegated to strict functional programming environments, but have been popularized across the JavaScript community thanks to libraries like Immutable.js, Immer and React. 'Records & Tuples' is a new ECMAScript proposal that brings two new immutable primitives to the language: what do they look like, what capabilities do they bring, and when will you finally be able to use them?

React is Killing your Performance and it's Your Fault
Talk by Assaf Krintza (40 minutes)

React is an awesome framework for building UI. But writing declarative code comes with a cost, and with the case of React - that cost comes at runtime. How do we write beautiful, responsive UI using React’s awesome DevX but without compromising on performance? Together we’ll get a glimpse behind the React scenes, demystify the reconciliation loop, Virtual DOM and learn how to avoid common performance pitfalls.

Testing Web Accessibility
Talk by Adrian Bolonio (40 minutes)

When we develop a new web application, we often put a lot of work on the design, on making it beautiful and usable. In other words, we want our web app to be effective, efficient, and satisfying for the user. But a lot of times we don’t think about the user experience for people with disabilities, including people with age-related impairments. Web accessibility (a11y ) means that people with disabilities can perceive, understand, navigate, and interact with websites and tools, and that they can contribute equally without barriers.” (Source: W3C - Web Accessibility Initiative). Our role as frontend and web developers is to create clear interfaces to make people understand and care about data, independently of their disabilities or impairments, but what we, developers, often forget is to ensure that the code we write follows the Web Content Accessibility Guidelines (WCAG), and the only way to achieve that is testing, either manual or automated. Automated web a11y tests can free up our QA team from manual testing every part of our application…but…they can’t automatically, and magically, make our site accessible. We should use automated a11y tests as one step of a larger testing process. Don’t forget that only 20% to 50% of all accessibility issues can automatically be detected.

Using Lit and Web Components to build Single-Page Applications
Talk by Michele Stieven (40 minutes)

'Web Components are coming', they said. And their time has come! More and more companies are choosing Web Components for their projects, but what exactly can be done with them? Are they intended to be used for UI kits or for entire applications? Let's find out! Let's see what the new version of Lit brings to the table: you might be surprised.

All of those tests you have and none of them cover Message Queues
Talk by Yoni (40 minutes)

On your path to master backend testing, don’t miss the lesser discussed chapter in the book: how to test the common flows that start or end at a message queue. Although the focus is always on the features we deliver, message queues bring unusual testing challenges like testing for message rejection, acknowledgments, retries, idempotency, dead-letter queues, poisoned messages, and other scenarios that our backend is frequently facing. Another interesting dilemma is the developer's toolbox when testing queues - Should they use the real one or a stub? What other tools are needed? This is hands-on code talk that exemplifies these concepts using popular products like RabbitMQ, SQS, and Kafka

15:10 Managing data and resources in your Progressive Web App like a pro
Talk by Laura Morinigo (40 minutes)

Creating a web app means that we will use different resources like assets, fonts, and some other interface elements. The challenge relies on managing those resources to load fast and be available offline. PWAs use modern capabilities to target this problem and of course, make sure to deliver a good user experience. During this talk, we will learn about client-side storage solutions, cache strategies, and what it means to have an offline-ready web app so you can choose wisely from these strategies like a pro!

Passwords are so 1990!
Talk by Sam Bellen (40 minutes)

As long as we’ve been using the internet, and way before that, we have been authenticating through some sort of username and password combination. It has become the standard. With the ever-increasing number of web-apps, we’re seeing more and more data breaches as well. What if we could build our authentication processes in a way the user doesn’t need a password?

IoT, JavaScript and Beer Brewing: Cheers to that!
Talk by Joel Lord (55 minutes)

Beer brewing can be fun, but combining brewing with IoT device hacking is even more fun. It is possible to connect and collect data about almost anything, including the fermentation process inside a closed fermenter using open source technologies. In this presentation, the speaker will introduce basic concepts of IoT devices, how to collect the data efficiently and how to use various tools to store, extract and manipulate that data. And if you’re new to beer brewing, don’t worry; you will also learn a thing or two about that as well!

Friday 22nd April 2022

jQuery Is Not Dead and That’s Fine
Talk by Jayne Mast (40 minutes)

At conferences, we show the latest and greatest tech and often laugh about older technologies. But people still use these tools and frameworks, and shaming them is harmful to the community. In this talk, I want to share my own personal story of how I got confronted with gatekeeping and elitism, how it affected my confidence, and what we can all do to avoid this.

10:25 Into The Unknown
Talk by Craig Spence (40 minutes)

Sven the reindeer and Olaf the snowman have a big problem! They're creating a new TypeScript library, and they want to give their users the best possible experience. They know that TypeScript has incredible powers (they're almost magical! 💫), but they don't know exactly how to use it to its full potential. What is 'unknown'? How is it different from 'any'? How do you use 'infer'? What are conditional types? Unions and Intersections?! It's all too much... Thankfully Elsa, beloved Queen of Arendelle is a TypeScript master, and along with her sister Anna, they *love* to teach others all about type magic. Come along with Elsa, Anna, Olaf and Sven, and they learn all about advanced TypeScript typing by going INTO THE UNKNOWN 🎶❄️🎵

Refactoring large JavaScript codebases
Talk by Michele Riva (40 minutes)

What happens if you're in a small team and need to refactor a huge JavaScript codebase? What if you have to upgrade your code following the latest ECMAScript specifications? Updating hundreds of thousands of files by hand seems not the best possible option, so here comes the concept of codemods. In this talk, we will see how JavaScript gets interpreted, transformed, and eventually compiled so that refactoring a large codebase won't be a problem anymore.

No way, JOSE!
Talk by Sam Bellen (40 minutes)

Is your first thought when thinking about cryptography, “nope, that’s not for me!”? There’s no need to. When explained with simple examples, you can see the basics are not that complicated. The JavaScript Object Signing and Encryption, or JOSE for short is a framework that helps us deal with encryption. It describes ways to securely transfer data either signed (JWS) or encrypted (JWE). Let’s take a leap of faith and explore the wonderful world of cryptography together, shall we?

It’s all about components
Talk by Debbie O'Brien (40 minutes)

The frontend is a great place to be in these days and as apps get bigger and bigger, components get more difficult to maintain. But are we really building component driven? Do we really know how to take a design and break it down into components? How small do we go? How do we name things? When is it a good time to make a new component or reuse one that is already created? Making these decisions early on is key to great software architecture. If we think before we build, we can build amazing apps that will easily scale.

The time to migrate to ESM in Node.js is now!
Talk by Gil Tayar (40 minutes)

ESM Modules in Node.js have been a reality for the past two years. Many companies now use them in production, and many OSS libraries in NPM are migrating to them. Is it time for you to migrate? YES! Start planning and migrating your Node.js codebase now. This talk will explain why it is important to start migrating this year, how to do the migration, and what will be the benefits of migrating to ESM today.

When You Think There Is No Time For Learning Or Coding
Talk by Eleftheria Batsou (40 minutes)

Do you ever feel like you’re stuck in your career? Do you constantly feel like you don’t have time to work on your projects? Do you want to learn something new, expand your knowledge, develop yourself and be the best you can be? In this session, I am going to share my story on how I started coding, how I make time to work on side projects and how you can grow and advance in your career. After this talk, I hope you 'll be inspired to work smarter, make new habits and continue pushing yourself even when things fall apart. I will present some helpful tips about self-motivation, time-management, setting priorities and goals, staying organized, believing in yourself and keeping a balance between your career and personal life. To do so, I'm going to use as an example my personal story of how I got into the tech world, the struggles, the rejections, what I’ve learned and how you can succeed by being consistent and determined. Additionally, in this session, we are going to talk about building the habit of coding and the benefits of it. We are going to explore ways of finding mentors in your job and outside of it and also expanding your social network. This talk is not only about getting better at your 9 to 5 job but also about developing yourself.