React.js is the JavaScript library developed by Facebook and Instagram to create fast and reusable user interfaces. Introducing new development paradigms and best practices to the frontend, it has gathered a large and active community of developers. The conference is organized by GrUSP, the organizers of jsDay, in partnership with FEVR.

Thursday 4th October 2018

React Advanced Patterns & Techniques
Workshop by Kristijan 'Kitze' Ristovski (7 hour)

React may be just a simple UI library, but it involves a pretty big ecosystem around it. Explaining the basics and internals is not enough, so in this module, we're going to explain the best practices, we're going to learn to "think in React", and apply solutions to real problems that you might encounter in the process of building an app. Prerequisites To attend this workshop you need to be familiar with the basics of React, as well as most of the new features in ES2015. Advanced Patterns We'll explore all the advanced techniques for making flexible and maintainable React components. We'll see how using popular patterns like Higher Order Components, Compound Components, Render Props etc. can help us in simplifying things, making our components more reusable and our apps more declarative. React 16 & Beyond React 16 comes with some major changes and an update to the core algorithm. In this module, we'll explore some practical use-cases for Portals, Fragments, Error Boundaries etc. We'll see how the new Context API can simplify state-management and we'll play with a new feature called react-call-retur

Friday 5th October 2018

09:55 Updates on React Router
Keynote by Micheal Jackson in Main Track (50 minutes)

Over the past 4 years, React Router has become one of the most widely used pieces of the React ecosystem. Working on React Router was actually how I got my start in React, and it's been incredibly humbling and rewarding to work on something that brings so much value to businesses and to the React community. In this talk, I'll cover the current state of React Router, as well as discuss several new features and updates we have made so the router is ready for React's (async) future!

Navigating the hype-driven world of frontend development without going crazy in Main Track (30 minutes)

The obsession to always move on to the latest and greatest, and the fear of missing out while working with tooling that's older than few months is currently dominating the dev world. Most developers are focused on the wrong things and they're constantly discussing things that don't matter in the long run. Instead of making our workday look like fun and games by inventing tasks that seem challenging to us, we should shift the focus to providing value for the end user. When we start looking at things in a new way, the FOMO is drastically reduced. In this talk, we're going to explore all the common pitfalls and provide practical solutions for solving this problem once and for all.

Testing React Components and Coding with Confidence in Main Track (30 minutes)

Testing should make us confident. Confident that our software does what we think it does, and that it will continue to do so as we pile up features. But testing UI components rarely breeds confidence. Instead, it often makes us feel angry and unproductive. Let's look the beast in the eye and talk about a set of tools that make testing React components as easy as writing them. We'll learn how to mock component props, state, Redux state, app context from wrapper components, as well as API responses, without copy pasting boilerplate from one test to another.

Let's manage our local state with GraphQL.
Talk by Sara Vieira in Main Track (30 minutes)

Apollo has given us freedom and happiness when it comes to managing our data coming from the server but we still had to write code and sometimes a lot of it to manage our local state? Well, what if we managed it with queries too? Sounds too awesome right? Let's learn how to do this with apollo-link-state.

Gremlins tests on puppeteer in Unconference (5 minutes)

Lightning talk

A Reappreciation of Redux: Why my team at PayPal removed Apollo Client and went back to Redux
Talk by Max Millington in Main Track (30 minutes)

Keeping up with the JavaScript community can be one of the most difficult yet enjoyable parts of being a frontend developer. It is not easy to know what will truly deliver lasting value to your development as opposed to what is merely a passing fad or what will fail to live up to its hype. My team at PayPal has been excitedly using GraphQL in many of our new apps. We love the idea of a single endpoint providing frontend developers access to the great multitude of PayPal services. In our excitement for GraphQL, we also implemented Apollo Client and React Apollo into our app. After all, the boilerplate and heavy weight of Redux has been much maligned, and we saw and easy way to significantly reduce the amount of code we wrote, all the while utilizing the sleek new utility for state management that Apollo Client provided. However, we soon realized that we had made a mistake and pre-emptively jumped into Apollo Client. The fact of the matter is, Redux is much more than simply state management, and we had failed in our original estimation to fully appreciate what Redux gave our app that Apollo Client simply does not. This talk will explore why we initially were so excited about Apollo Client and why it was our first choice. It will then explain how Apollo Client fell short of our needs, and why Redux is a significantly better choice for most larger applications. Finally, it will hope to inspire a reappreciation for Redux.

How modern browser technologies can improve your website
Talk by Ives Van Hoorne in Main Track (30 minutes)

During the talk I will explain what recent browser technologies have emerged and how you can apply this to make the experience of the user better. This won't mean that you need to drop support for older browsers, these improvements can be used to enhance the experience instead of replacing it.

15:30 Behavioral Programming with React: request, wait and block
Talk by Luca Matteis in Main Track (30 minutes)

Behavioral programming simplifies the task of dealing with underspecification and conflicting requirements by enabling the addition of software modules that can not only add to but also modify existing behaviors. In this talk I will describe how Behavioral Programming concepts can be applied to React. Specifically, I will showcase real-world examples and demonstrate how programming using this new paradigm can alleviate some of the issues that arise when programming with large teams. Moreover I will present a library that can be used to program what I call "behavioral components" using this new idiom.

16:20 Advanced patterns in building React Components
Talk by Manjula Dube in Main Track (50 minutes)

This talk is going to focus on some advanced patterns in building your react components. More over we do not know what the best way to do things and we end up feeling stressed out. To release your stress let talk you can make use of some patterns that worked for us best and will work for you as well :)

Making games and physics work with Reason & Reprocessing
Talk by Phil Plückthun in Main Track (30 minutes)

Reprocessing is a new library for Reason, a rather new programming language building on the OCaml + JavaScript ecosystems. It’s a lean wrapper around OpenGL and WebGL and allows truly cross-platform games to be written rather easily. Reason is great for a whole lot of things, but let me take you through a story of trying to write a 2D physics engine in just under 8 hours (Mistakes were made), what strongly typed languages don’t protect you off, and a vision of what you could build with Reason or Reprocessing. The universal future is coming, and Reason is orienting itself just right with projects like bsb-native.