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

Tuesday 6th July 2021

10:00 Domain-Driven Frontend
Talk by Francesco Strazzullo (1 hour)

DDD is probably one of the most important ecosystems of the last 20 years of software engineering. Nowadays frontend applications are an important piece of software architecture. Nevertheless, Bounded Contexts, Aggregates, Anticorruption Layers are all well-known concept that somehow are often not applied when building large and complex frontend applications. The purpose of this talk is to show how some of the DDD techniques are easily applied to Frontend engineering, resulting in more robust and evolvable codebases.

Aaaaaaaaaaaaaah, They’re Here! ES Modules in Node.JS
Talk by Gil Tayar (45 minutes)

Yes, they’re here. Node v12 marked the first version of Node.JS where ESM support is unflagged, meaning you can start using ES Modules. It’s been a long, four year journey from defining them in the spec (June 2015!) till they could be used in Node.JS (November 2019). Why did it take so long? What were the major hurdles? What does the migration path look like? Are they really better than CommonJS Modules? What is in store for the future? And most importantly: can I start the migration? Gil Tayar, a former member of the Node.JS Modules Working Group, will try and navigate these confusing waters, and hopefully make you understand why, when, and how to migrate your Node.JS code to use ES Modules.

12:15 Bending reality with Type-directed emit
Talk by Michael Bashurov (1 hour)

Ever wondered why even if you have a Flow/TypeScript type you still can't use it in the runtime? Say, for JSON validation or some other stuff. What if I say you that it's possible to emit based solely on type? In this talk we'll explore what type-directed emit is, it's applications and limitations.

Code Literacy
Talk by Jessica Rose (45 minutes)

As programmers think about our own work with code, we place an incredible emphasis on the act of production. We focus on the act of writing code as if writing and often present it as the primary way we expect to interact with a codebase. This talk will approach codebases as living texts and explore the value of re-examining the twin skills of reading and understanding codebases. We’ll look at linguistics and literacy concepts that give us new ways to conceptualize how we read code, as well as software specific tools and approaches we can use to further our reading skills.

The Problems Micro Frontends Won't Solve That No One Wants to Talk About
Talk by Jennifer Wadella (45 minutes)

Everyone wants to ship more software faster, and following the lead of the MicroServices craze the front-end community has begun to reach for Micro Frontends as a silver bullet solution. Micro Frontends promise large teams the ability to independently ship pieces of applications without code collisions, bug creation, that can be team-agnostic, and with Webpack 5 leaning in to offer Module Federation, this seems to be the way of the future. But what problems aren't solved by Micro Frontends? There is a large gap in what large complex teams need to ship better software and what Micro Frontends are able to provide ... and that gap is the basis of this talk. We'll discuss what Micro Frontends are, approaches and tools to using this architecture pattern, and discuss the consequences that arise that no on seems to want to talk about.

16:30 Multi-tenant Next.js at any scale
Talk by Michele Riva (1 hour)

Serving hundreds of different websites from a single Next.js installation? Is it really possible? Yes, let's see how! This talk will explore how a multi-tenant architecture can solve many different problems at any scale, both for small startups and big corporates working on enterprise-level software. We'll see how to design a multi-tenant architecture using one of the most popular and loved frameworks out there: Next.js! Are you ready to bring your architecture to the next level?

Developing Touchless apps that Talk!
Talk by Karan Balkar (45 minutes)

This sessions talks about how to develop touchless apps (apps that can be controlled via gestures,voice etc.) using JavaScript libraries. It also talks about how one can get started in developing a PWA app that is touchless and voice controlled. During the last year, due to COVID-19 pandemic, a lot of companies, restaurants, airports felt the need to develop touchless apps to make the overall experience contact-free. Also, it is believed that touchless technology is one of the best ways to deal with this issue. They are slowly becoming the new norm in offices across the globe.

Wednesday 7th July 2021

The State Of The Web
Talk by Jeremy Keith (1 hour)

The World Wide Web has come a long way in its three decades of existence. There’s so much we can do now with HTML, CSS, and JavaScript: animation, layout, powerful APIs… we can even make websites that work offline! And yet the web isn’t exactly looking rosy right now. The problems we face aren’t technical in nature. We’re facing a crisis of expectations: we’ve convinced people that the web is slow, buggy, and inaccessible. But it doesn’t have to be this way. There is no fate but what we make. In this perspective-setting talk, we’ll go on a journey to the past, present, and future of web design and development. You’ll laugh, you’ll cry, and by the end, you’ll be ready to make the web better.

What's new in ES2020/ES2021
Talk by Roman Baran (45 minutes)

JavaScript is a constantly evolving language and during this talk we are going to explore together the most interesting features of the last two versions, with some live coding that never hurts.

Hyperledger Fabric for Node.js Developers
Talk by Roland BOLE (1 hour)

Blockchain is one of the future technologies and for JavaScript developers it could be an interesting playground. In this talk I take the attendee on a journey through the world of Hyperledger Fabric and how a Node.js developer can write chaincode and interact with the network. This is demonstrated with a CRUD application. The talk starts with a short introduction of Hyperledger Fabric. Then, I demonstrate how the fabric-contract-api can be used to write a chaincode (smart contract) with Node.js. Concluding, I explain a proper express.js REST application to interact with the network. After the session you will have a basic understanding of Hyperledger Fabric and how a Node.js developer can use it.

How to make the Internet available for everyone — accessibility in the web development
Talk by Dominika Zając (45 minutes)

The Internet is an awesome place where everyone can find interesting materials for them. Unfortunately, sometimes we forget some people cannot use it the same way as most of us - e.g. people with vision, motion, or cognitive disabilities. Why accessibility is so unpopular topic among developers? I believe it's not because of bad will - we often don't understand our users' problems. It's why I want to show some tricks to better understand users with disabilities, talk about the most popular mistakes (and fixes for them), and improvements you can include in your development process to avoid accessibility problems in the future.

Supercharge your JavaScript with Web Assembly
Talk by Tamas Piros (45 minutes)

Browser and Web APIs along with JavaScript have seen an incredible amount of development and enhancement over the past decade, however they still have certain limitations. With the rise of Web Assembly we can very easily enhance JavaScript and give our application(s) access to low-level processing and potentially transform web experiences. By the end of the talk attendees will have a throughout understanding of Web Assembly, and why it's such a great option for extending the capabilities of the browser and JavaScript via a real life example.

16:30 Managing Feature Flags Efficiently
Talk by David Burrowes (45 minutes)

Our React/Redux JavaScript application has around 3000K lines of code and more active feature flags at any given moment than we have fingers and toes. As we have moved into a world of continuous deployment with controlled releases, the use of feature flags has become an essential way of writing software. Yet, when we started out, we ended up with code that was hard to read, hard to reason about, and hard to manage. After exploring several strategies, we have found a pattern that aligns feature flags with larger code units (components, reducers, actions) rather than at individual lines of code. This alleviates much of the pain that a naîve application of feature flags to a code base can introduce, restoring the development velocity we need. I’ll share what works for us and pass along some tips for right-sizing practices to your unique situation. While the focus here is on a React/Redux codebase, the principles will apply to any framework or technology.

Tales of a German Building Diverse Teams Across All Time Zones
Talk by Isabella Zaczek (1 hour)

Cultural growth is inevitable to create community. While everyone is talking about culture, diversity and growth, my talk provides actions and experiences of operating globally and putting humans first. The session will highlight how to build a sustainable and diverse customer operations team that produces results and makes a difference using the philosophy to work towards one goal 80% of the time and allow 20% for local needs, customs and quirks.