jsDay will be all about Javascript and web development.

Wednesday 8th May 2019

09:45 Javascript and the Polyglot Web
Keynote by M_a_s_s_i in Track 1 (45 minutes)

Javascript is the language of the web, it has always been, and always will be. Or maybe not, or maybe not so absolutely... let's travel in time to find out.

11:00
4
Dear JavaScript
Talk by cirpo in Track 1 (1 hour)

This is the story of Cirpo's journey with JavaScript. It’s about the things that he wishes he knew since the beginning, his “ah-ah that’s how it works! moments that guided him to coding in a more expressive and declarative way. It's a love letter for this powerful language, a talk that bounces between the technical and the personal perspectives. Cirpo's hope is that everyone in the room, even experienced developers, will learn a bit more about writing more idiomatic and consistent JS code, learning from the mistakes he made and that he still witness every time he sees other devs start using it.

4
The journey through the hybrid mobile apps with JS
Talk by Oleksandr Tryshchenko in Track 2 (1 hour)

Four years ago I started a wonderful adventure: I tried to build my first mobile application with JavaScript. The first encounter was ugly and I kind of accepted the fact that hybrid mobile applications are cheap, slow and limited brothers of native ones (I was mistaken!). However, due to financial efficiency, I was bumping into it again and again. I tried all popular JavaScript solution for Hybrid Mobile apps and ended my journey through the hybrid mobile applications with a happy end. I want to share with you the recipes we've learned, tell my story and warn regarding the possible pitfalls. We'll look into the React Native, Cordova, PWA's and compare them with native applications looking into the experience we've got working with them on real projects.

12:00 Building Automation in the browser - An experience report
Talk by Anna Backs, Zenzes Christina in Track 1 (1 hour)

Having a bunch of IoT-ready and remotely controllable devices only makes sense if the controls are intuitive and the control surface is easily accessible. In the beginning of 2018, we started implementing such a user interface for our office building using only JavaScript with frameworks like BabylonJS and React. This interface displays the real-time state of our numerous devices, offers control panels for managing them and also incorporates other services, like AWS and a calendar-API. We now want to show you how our microservice-application fits into the the IoT-landscape and the overall architecture of our office building automation infrastructure and want to talk about the pitfalls we encountered and the lessons we learned. There is no prior knowledge required about BabylonJS, building automation or even JavaScript - the talk focuses on our experiences, our lessons learned and our architecture on a higher level, and does not go into technical details.

5
Mixed Reality: Zero to Hero in 25 min
Talk by Srushtika Neelakantam in Track 2 (1 hour)

This talk will be a quick run-through of the Mixed Reality (MR) concepts, i.e both Virtual Reality (VR) and Augmented Reality (AR), but specifically from a web developer’s perspective. Even though MR is graphics-heavy, modern libraries like WebVR, AFrame VR and Web XR make it really easy for a web developer working with HTML and JavaScript, to follow through and use existing tools to start building useful Mixed Reality applications that can be accessed on the web. We’ll close the talk with a demo and behind-the-scenes of how it’s built. Bonus: Tools and resources to use in your MR apps.

14:30
4
Reinventing RxJS
Talk by Max Gallo in Track 1 (1 hour)

RxJS has become almost a standard in the emerging reactive Front-End world. If you're not using it right now, you probably played with a few operators. In the talk we're going to rewrite RxJS from scratch, seeing behind the curtains which are the core components and the ideas of the library. You'll see how to build Observables, Subscriptions and Operator, then we'll introduce Schedulers and how they're used in RxJS. If you fancy Reactive Programming or simply you want to learn something new then... this talk is for you!

3
Rapid Cross-Platform AR Development with React Native
Talk by Alex Hinson in Track 2 (1 hour)

Augmented Reality's popularity is growing at an ever increasing rate, and it might seem as if native iOS and Android developers are the only ones who have the skills to keep up. Fortunately, a platform called Viro was created to enable web and mobile developers to develop cross-platform AR/VR experiences through the React Native framework. We'll take a brief look at what AR is and how it works, and then take a deep dive into Viro and everything it provides to get you moving rapidly with AR development. We'll focus on a few very interesting pieces that Viro provides, such as 3D models, portals, image recognition, and real life object recognition. By the end of this session, you will have the skills and inspiration to start working with AR immediately!

15:30
2
Think globally, act locally with i18n on the web
Talk by Elianne Schutze in Track 1 (1 hour)

While about 51% of the world’s websites are in English, only about 25% of web users are English speakers. With half of the world’s population online, internationalisation is as relevant as ever! Let’s explore how i18n gets made on the web and what we should keep in mind or avoid when making the web more accessible to the world.

6
Evolutionary UI: Change as a first-class citizen in the modern frontend world
Talk by Giamir Buoncristiani, Rufus Raghunath in Track 2 (1 hour)

Allowing for change is especially important when designing your frontend applications, where high user expectations meet the fast-paced JavaScript ecosystem. For example, have you ever tried migrating from Angular to React while hitting your deliverables and without compromising performance? Change is intimidating. In this talk, we will show how the principles of evolutionary architecture can be applied to UI to prioritize changeability. We’ll consider several approaches to making a modern UI application more evolvable, such as the micro-frontends pattern, and examine specific “fitness functions” that will keep you and your team honest to your evolvability goals. We’ll also discuss the tradeoffs you make when you choose a more evolutionary frontend architecture, and provide a framework for thinking about how much future change you’ll need to account for.

17:00
7
Beats, Rhymes and Unit Tests
Talk by Tony Edwards in Track 1 (1 hour)

Speech recognition is all around us. From the smartphones in our pockets to the devices at the heart of our digital homes, we’re never far from speech recognition technology. Not only does it enable new ways of interacting with computers, it’s also set to reshape Human Computer Interaction for people requiring assistive technologies. The humble web browser is no exception. The speechRecognitionAPI enables developers to incorporate advanced speech interactions into today’s web applications. But is it any good? Combining two of his passions, Tony sets out to discover if the speechRecognitionAPI can be used as an aid in transcribing hip-hop lyrics during the writing process. After an introduction to the broader technology, a mix of audio, video and live performance tells the tale of creating an MVP transcription application to aid in the writing of new songs. As a development project, each iteration of the app is accompanied by a set of unit tests. The final unit test is executed live, resulting in a crescendo you won’t want to miss.

Thursday 9th May 2019

09:45 Join the Revolution
Keynote by Gant Laborde in Track 1 (1 hour)

Join the Revolution ✊ Code changes lives. With the advancement of AI, it's time to strap in and get ready for the new ride. As developers, we're hitting a new gear in what machines can do, and more importantly, what we say they will do. Here's a story of creating an indecent content checker, NSFW JS. The story of the limitations, expectations, and joy of creating an open source project that utilizes Machine Learning to help do something useful at scale. Discover the power of tomorrow's technology. Twitter: @GantLaborde Newsletter: https://mailchi.mp/infinite/machine

11:00
4
PWAs on steroids
Talk by Trishul Goel in Track 1 (1 hour)

PWAs bring the best of both mobile and native apps to user. PWAs equipped with service workers provide features like offline availability, push notifications etc. Now with modern web APIs, PWAs are beyond the browsers; in Hardwares. Consider turning bulb on/off with your PWA, sounds cool? Lets learn how to, in this talk!

React refactoring, off the hook(s)!
Talk by Marco Cedaro in Track 2 (1 hour)

React Hooks are going to change the way we write React components and apps. Let's explore together a real world refactoring of an app with hooks, introducing the concept and exploring how the mental model of components has to evolve breaking the dichotomy of stateful class vs stateless "functional" components. We are going to deep dive in the code of the app, a quite busy stateful component, looking at how we could use hooks to refactor it.

12:00 A DIY guide to building your own Rendering Engine
Talk by Francesco Strazzullo in Track 1 (1 hour)

Rendering is one of the most important parts of any frontend application. But what happens when we need to render DOM elements without any kind of Framework? During the talk, we will analyze what are the challenges and the solutions of creating a complete frameworkless rendering engine.

5
WebAssembly: Browser is now a real virtual machine
Talk by m4dz in Track 2 (1 hour)

WebAssembly is a new virtual machine embedded in the browser. It doesn't transpile to JavaScript like its forerunners; it produces a new binary format, like the old assembler, executed in a dedicated VM into your browser. Genius, it exposes a bridge between JS APIs and WebAssembly executables. Last browsers engines developments allow very fast exchanges between JS and WASM code. So, let's start with a projet that need a huge computing time. We will develop the core code in Rust, compile it to WASM using LLVM, and we will display the results in a front view powered via JavaScript. No need to know how does it work, we will see it together. This talk takes place in a new series named #StartFromNowhere: let's start from front-end developers skills, and deep dive into a new technology. In 45', let's learn the basics.

14:30
5
Build your own React
Talk by Rodrigo Pombo in Track 1 (30 minutes)

How does React really work? Let's find out. We'll write a simplified version of React from scratch, based on the real source code, including: jsx, fibers, reconciliation, hooks, and more.

4
Scaling Node.js and unblocking the event-loop
Talk by Diego Rodriguez in Track 2 (30 minutes)

Don’t you hate it when your process is stuck processing 200k rows and other requests are not processed?! Outrageous! But there’s a new and simple way of preventing this. Diego built sr so you can keep the modules you import in another process and prevent this scenarios!

15:00
5
Streamline your code with webpack
Talk by Tara Ojo in Track 1 (30 minutes)

Webpack has been around for a while, people talk about it like it does anything and everything! It can’t! But, it can be a huge benefit to the code you write with your team and thus, improve the performance of your web applications. We just need the right configuration. But how does it do this? By the end of this talk you’ll have a better understanding of how webpack works, then you can decide if you want to use it!

2
Fearless Refactoring in Elm
Talk by Ju Liu in Track 2 (1 hour)

When we take on a big refactoring, we often get this uncomfortable feeling of doubt. A little demon appears on our shoulder and asks "Did you remember to make all the changes? Are you sure? Sure sure?". We check the code again, run the tests and all is passing. Great. But that demon is still there, still nagging "Are you super sure? The tests were passing last time too...". In this talk, we will see how Elm can free us from those moments of self doubt. We will start with a short introduction of the language, explaining its design and philosophy. We will then start a full-on refactoring in the biggest Elm codebase in the world. We will see how the Elm compiler can help us make this sort of changes in a confident and predictable way. At the end of the talk, you will have a good understanding of how Elm works and what advantages it can bring to your toolset.

15:30
5
Ways to architecture your VUE/NUXT app
Talk by Geisy Domiciano in Track 1 (30 minutes)

As developers, when we start with vue.js or nuxt.js we see ourselves in a world full of opportunities and decisions, so we never know which way is the best to go forward with the project. This talk will have the purpose of present few different ways that you can architecture your application for small, medium and big projects and then think about scalability.

16:30 Game of Open Source: A Tale of Hype & Mire
Keynote by Sharone Revah Zitzman in Track 1 (1 hour)

There is no question that the going is tough when it comes to open source projects. Building the excitement, community and hype is an undertaking unto itself - let's not talk about monetization & sustainability. Often times, just as your project is starting to get off the ground and generate real business - newer and cooler disruptors enter the playing field - and it gets hard to keep the momentum going, all while fending off giants that want a piece of the pie. This talk is going to give some real world insight on what's involved in really building a sustainable open source project, even when the hype is dwindling and the dust settles. This will be based upon lessons learned from leading the Cloud Native & OSS community in Israel, as well as the Cloudify community as my former day job. See you in Verona on wednesady