OCTOBER 13, 2016


Space Invaders

Why ReactNL?

ReactNL brings the best and most passionate React developers together to share their experiences and lessons learned with you at a beautiful venue in Amsterdam. Get inspired and surprised as you learn about large-scale React deployments, functional programming in JS, type systems, next generation JavaScript, React Native and much more.

Join us

Join us on October 13 to discover the world of React. Enjoy plenty of good food and a great atmosphere in an Arcade-themed setting!

Space Invaders


08.30 - 09.30

Styling React.js Applications

by Max Stoiber

CSS was invented in a time when the most widely used browser was Netscape. It has been around for quite some time, and while it has changed and improved considerably since then it has not kept pace with recent innovations on the web. React popularized a component-based development experience, where every part of your website is a self-contained entity. However, CSS wasn't meant to work like that. While "features" like inheritance and global names were great in the beginning, they really bite us when working with a component based architecture. You might have heard of solutions to this problem, but what really is the best way to style your React applications? Let's explore the current landscape and see what the world has to offer!

Max is an open source developer at Thinkmill where he takes care of KeystoneJS and Elemental UI. He's the co-creator of Carte Blanche and well known for his react-boilerplate project.

Mobile Doesn't Have to be so Hard

by Brent Vatne

Mobile app development has traditionally been intimidating to web developers, but we are on the cusp of an era where this will no longer be true. Brent will demonstrate how you can use React Native (and a tool called Exponent built on top of React Native) to build a native app for iOS and Android using platform-specific navigation and UI components, push notifications, and other fancy native features, deploy it to both the App Store and Play Store, and ship live over the air updates.

Brent is a front-end web/mobile developer working on Exponent and one of the React Native top committers.

Meet React Server

by Douglas Wade

React is an amazing library for client-side user interface, and it has the added benefit of being able to be rendered on the server, which is crucial for SEO, SEM and user experience. However, server-side rendering in practice is significantly more complicated than just calling ReactDOMServer's renderToString and piping out the result, especially if you want to make sure your site loads quickly in a mobile-first world. React Server smoothes out the common problems you run into with React server-side rendering, encodes performance best practices into the framework, and makes it easy to build high performance websites by default.

Doug will discuss some of the design decisions made during development of React Server, show some performance improvements, talk about lessons learned running React Server in production and give some hints about the future of React Server.

Doug is a software developer from Seattle and core contributor of React Server, as well as a cyclist, soccer hooligan and beer enthusiast.

Packaging for React Native

by David Aurelio

The React Native packager is used to build JavaScript for Facebook's mobile apps. David will explain the challenges of building a packager for a highly dynamic environment and code at large scale. You will learn how packager is improved to make the reload experience better for local development, and how it's integrated with Buck, Facebook's build system, for fast incremental builds. The packager also has an important impact on React Native’s runtime performance. David will show how they improved startup time and made it independent of bundle size by developing a custom packaging scheme.

David is frontend engineer for Facebook in London. He is part of the React Native team, working on the packager and JavaScript infrastructure. Before joining Facebook, he pushed the limits of mobile browsers at uxebu.

Building UWP apps with React Native

Maurice de Beijer

React Native was already an awesome way to build Android and iOS applications. And now you can build Windows applications with React Native. Using the React Native plugin for Universal Windows Platform (UWP) you get the same capabilities as you already had with Android and iOS. Targeting Universal Windows Platform means that you can run the same application on Windows 10 Mobile, Windows 10 Desktop as well as Xbox One. In this session Maurice will show you how to get started with the React Native plugin for Universal Windows Platform.

Maurice de Beijer is an independent software consultant and trainer. He specializes in JavaScript, React, AngularJS and ASP.NET MVC. His work includes a large, global, safety application for the oil and gas industry. Maurice is also active in the open source community. He teaches ECMAScript, TypeScript, React, Angular JS and ASP.NET MVC courses. Since 2005, he has received Microsoft’s Yearly Most Valuable Professional Award. Further, Maurice is active in the Dutch dotNED user group and helps organize its meetings.

Modernizing legacy codebases

by Justin Bachorik

In 2014, the development team for the National Public Radio's website was tasked with creating a JavaScript-driven persistent audio player to replace its ancient Flash player. The only problem? The massive amount of existing scripting on NPR.org used a homegrown module and build system that was close to a decade old. Justin will describe how the NPR.org developers built a large-scale React application with Redux to deliver a compelling audio experience to millions of users, and will share the strategies for successfully modernizing legacy codebases that the team discovered along the way.

Justin Bachorik is the lead developer for NPR.org. He's worked on many projects with the awesome folks on NPR's digital media team, loves coding, cooking and playing piano and gets unreasonably excited about building beautiful abstractions.

Dawn of Reason

by Sander Spies

Recently Facebook open sourced Reason - a front end for the OCaml programming language which aims to open OCaml up to a wider group of developers. OCaml offers better defaults compared to JS that make it more suitable for writing maintainable applications. A lot of the things that we add for making JS maintainable are defaults within OCaml. Immutability is a default and not an afterthought. Typing is already built-in and requires no extra tooling. Reason makes the syntax more familiar to JS developers while keeping these and more great defaults. Be ready to leave everything that you know about JS behind and join Sander in moving to this new programming language.

Sander is a front-end developer with particular interest in OCaml and Reason. In fact he proclaims himself Reason's VP of Sales.

React Fiber

by Andrew Clark

React Fiber is an ongoing, experimental project to rewrite the core of React. The goal of Fiber is to improve React's rendering performance while increasing its suitability for features like animation. It's the result of over two years of research by the React core team. React Fiber is built on top of a new concurrent architecture that takes advantage of scheduling to perform rendering work more efficiently. This same architecture will also unlock new features, like integrated layout, that are infeasible with React's current implementation. In this talk, Andrew will explain why React Fiber is important, and give a high-level overview of how it works.

Andrew is a front-end engineer at Facebook working with JavaScript, React and GraphQL. He's the co-creator of Redux and author of Recompose and many popular Redux libraries such as redux-router and redux-actions.

Introduction to Elm

by Michel Rijnders

The influence of functional programming (FP) on how we build JavaScript applications is growing. Perhaps going truly functional is the right thing to do, but FP still has the stigma of being difficult. Elm, a functional language that compiles to JavaScript, aims to fix this. Michel will cover:

  • Core concepts and benefits of functional programming
  • Elm's focus on simplicity, ease-of-use and tooling
  • The experience of using Elm in production

Michel describes himself as a philosopher trapped in a programmer's body and a software romantic. He's CTO at TruQu and organizer of the FP AMS and Papers We Love Amsterdam meetups.

React: HTML still matters

by Jasper Moelker

React is a powerful JavaScript framework. But not every user agent has a (powerful) JavaScript engine. Virtual DOM doesn't solve slow render blocking scripts. And JSX doesn't have built-in semantics or accessibility. So for a good user experience for everyone across browsers and other clients you still need to understand HTML and browser rendering. During his talk Jasper will show tips & tricks on how to adapt your React code for better browser support, better accessibility and better performance.

Jasper is a front-end architect at De Voorhoede. He cares deeply about progressive enhancement and is specialised in front-end web performance.

Creating a Fun Game with Elm

by Kolja Wilcke & Andrey Kuzmin

You are Joe, the courier. It is your job, to deliver all the fashion to all the customers. Sometimes, you have to pick up stuff and return it to the warehouse. However, customers keep ordering more and more, but your bicycle only has room for so many boxes...

Kolja and Andrey will tell you how the Elm Architecture empowered them to put the "Elm Street 404" game together. They will provide insight into the algorithms at play and how they applied functional concepts to the domain of game programming.

Kolja and Andrey are software engineers at Zalando.

High-stakes React

by Jana Beck

How would you test a React app if you knew that users might make critical dosing decisions using a potentially deadly drug based on it? At Tidepool where Jana is part of a team using React to develop medical software, the risks the software may incur are sometimes discussed in such terms. Tidepool is an open-source start-up with a small team, trying to be lean and agile and iterate quickly. This talk will share Tidepool's current thinking around testing and React. Jana will take a broad view and consider the question of what automated testing is for before moving on to two meaty topics: architecting a React application for maximum testability and writing good tests.

Jana is a front-end engineer at Tidepool, an open-source and not-for-profit effort to reduce the burden of type 1 diabetes through data technology.

Rich Text Editing with Draft.js

by Nik Graf

Earlier this year Facebook open sourced its React based rich text editing framework Draft.js. At Facebook it powers status updates, comments & notes. Others used it to build editors matching Medium's experience.

Nik will explore the structure and concepts of Draft.js' architecture so you can easily build your own features. He'll start with the structure of a document and demonstrate how to manipulate content by building a hashtag as well as a sticker feature. Finally he'll walk through the list of available plugins like mentions or drag and drop images using the DraftJS Plugins project.

Nik is passionate about software architecture, UX, skiing & triathlons. He's a co-creator of DraftJS Plugins & Carte Blanche and currently working for Serverless.

Snapshot tests with Mocha in Jest

by Ruben Oostinga

Snapshot testing was recently released for Jest. It makes writing and maintaining tests for React components really easy. However, a lot of React developers don't use Jest. Although there is the option to use chai-jest-snapshot it doesn't have the great developer experience of Jest. This talk will discuss what snapshot testing is and the experience of migrating a production codebase over to Jest. It will also get into some other pros and cons of Jest.

Ruben is a Full Stack developer at Xebia. While originally a Java developer, the last years his focus has shifted from the back-end more to the front-end. This is because of the rapid pace of technical innovation and development speed combined with the latitude for improper design posed an interesting challenge.

How to Build a Compiler

by James Kyle

Compilers are all around you: Babel, Handlebars / HTMLBars, Glimmer, Uglify, and more. In this talk James will walk through every part of a compiler from the parser to the generator. Learn about visitors and traversal, paths, scopes, bindings, and everything else. By the end compilers shouldn't seem like magic, and maybe you'll even want to contribute back to them.

James is an engineer at Facebook. He is a well-known BabelJS & FlowType conspirator and maintainer of LernaJS. In his own words, he's the Real Beyonce of JavaScript.

Program is subject to change.

Download our conference app for the full schedule and to rate each session.

ReactNL iOS app ReactNL Android app

Training day, October 12th

Want to take a deep dive in React? Improve your skills and learn hands-on how to build and improve your React applications. Training takes place at Xebia Amsterdam and is provided by React experts.

More information

Conference workshops

During the conference we'll have two short workshops that you can attend. Get started with mobile development using React Native or familiarize yourself with Flowtype. More details will follow soon.

More information