For more than a year now, React.js has changed the way we think about client-side applications through concepts such as the virtual dom, one-way data flow, immutable data structures and isomorphism.
ReactEurope is the occasion to meet the core team and other awesome members of the community to learn, socialize and have fun in the beautiful city of Paris with great food, entertainment, connectivity, prizes and more!
Join us at ReactEurope Conf to shape the future of client-side applications!
Coming soon...
I started making manual animation in Flash, and never really left in spirit.
I'm a designer, an artist, a biker, an overachiever and a dreamer. I'm always optimistically biting off more than I can chew and making the best of it. I aspire to create work which inspires and teaches while it entertains.
Nick Schrock is a co-creator of GraphQL, and wrote the original version of Facebook's GraphQL engine. An original member of Facebook's Product Infrastructure team, Nick helped create the abstractions that power Facebooks's PHP data model, and built out the Facebook's iOS and Android tooling around GraphQL.
Dan Schafer is a co-creator of GraphQL, and designed the data model backing the original GraphQL API, which powered Facebook's news feed. He added GraphQL's support for writes, and has helped maintain Facebook's GraphQL engine and APIs for almost three years.
Joseph is an architect of Relay and contributor to React Native. He was an early adopter of React, building what is likely the first React app to be installed at a correctional facility. His previous experience includes teaching ESL abroad, interaction design and prototyping, and web/native UI development.
Spencer has worked on a variety of projects at Facebook over the last several years including Android, iOS, and mobile web product teams, News Feed API, and Search Infrastructure. He's currently working on React Native.
Coming soon...
Mike is software engineer at Yahoo working on node.js and React/Flux frontends that power high-traffic web applications.
Kevin's especially interested in exploratory data science and visualization, working to create user experiencers that directly help users do what they need to to, or understand what they need to know. He loves connecting knowledge from different fields, and at the moment is particularly inspired by work from the React and ClojureScript communities. He currently works as an engineer at Twitter in Boston, as part of the Fabric team developing tools for mobile developers. In a past career, he worked as a teacher and continues to volunteer working with high-school and undergraduate students teaching about engineering.
Sebastian McKenzie is a JavaScript enthusiast based in Sydney, Australia. He's extremely passionate about open source as well as web standards and is always looking to push the boundaries of what is possible. Sebastian is also the creator of the popular Babel compiler that's used by many React developers to bring their JSX and ES6 to life.
Aria has been building interactive educational experiences with React at Khan Academy since September 2013, and maintains one of the oldest large React codebases outside of Facebook.
Jed is a partner at Thinkmill in Sydney, a new development agency with a strong focus on community, open source and R&D. A javascript enthusiast, he has been developing applications on the web for over a decade. On a mission to solve hard framework problems and make developers around the world more productive, Jed is the author of TouchstoneJS, KeystoneJS (a major open source cms for node.js, also built with React.js), and a number of other components and packages available on npm and GitHub.
PhD in Computer Science, CTO and Software Architect at Webedia Gaming (editor of jeuxvideo.com and millenium.org), Elie Rotenberg is a specialist in designing and deploying real-time, large-scale web applications, such as Chats, Web TVs, up to tens of thousands of concurrent users.
Dan is a young developer who began writing JavaScript full-time two years ago. Unsatisifed with Backbone’s shortcomings, Dan found React and Flux to be a very solid foundation for building composite and stateful user interfaces at Stampsy. Dan authored and contributed to several popular React components and libraries. Before getting into JavaScript, he used to write C# for Windows, Linux and iOS.
Currently a frontend application engineer at Nilas. Before building email clients, Evan founded & customer-funded Proximate, was a dev-in-residence at Techstars, and graduated Olin College of Engineering with a CS degree.
Incurable builder, front-end product engineer at Nilas. Formerly principal of @Foundry376, developer of more than 20 iOS apps and the @SparkInspector. Studied HCI at Carnegie Mellon and CS at Vanderbilt University.
Mikhail is a full stack JavaScript developer at Productive Mobile and currently working on project which transforms enterprise web applications into mobile. Before that time he worked for Yandex and taught about 200 developers to write awesome JavaScript apps. He has many talks and lectures about JavaScript and related technotogies. On leisure time he takes pictures and tries to marry technology and photography in his "2layer photo-project".
Michael Chan is no special flower. He loves ramen and helping JS n00bs learn React. Michael is a developer at Planning Center Online where he gleefully creates shared libraries and components for Planning Center's six applications. Last spring he built the company's first React application, Services Live 3, and continues to develop practices and patterns for writing React.js on Rails.
Tuesday 30th June | |
---|---|
9:00-9:30 | Registration and French Breakfast |
9:30–9:40 | Setup, overview of codebase Michael |
9:40–10:45 | Thinking in React Ryan |
10:45–11:00 | Break |
11:00–12:00 | How do I encapsulate UI? Michael |
12:00–13:00 | Lunch |
13:00–14:00 | How do I test React code? Michael |
14:00-14:45 | In-depth look at the React programming model Ryan |
14:45-15:00 | Break |
15:00–16:00 | When do I use props vs. state? Ryan |
16:00–17:00 | How do I build an app? Michael |
Wednesday 1st July | |
---|---|
9:00-9:30 | French Breakfast |
9:30–9:45 | Q&A from Day 1 |
9:45–10:45 | How do I migrate to React from my existing app? Ryan |
10:45–11:00 | Break |
11:00–12:00 | What is Flux and how/when would I use it? Michael |
12:00–13:00 | Lunch |
13:00–14:00 | How do I build a full-page app with React Router? Ryan |
14:00-14:45 | How do I animate transitions in my React app? Michael |
14:45-15:00 | Break |
15:00–16:00 | How can I improve the performance of my React app? Michael |
16:00–17:00 | How do I deploy my React app? Ryan |
Hackathon will take place at Mozilla HQ from 9am to 6:30pm with great prizes for the winners and guests stars featuring the creators of React Native, Babel.js, React Hot Loader and more! Read all about it here.
Our awesome sponsor RedBadger will be organizing a bar night at The Frog at Bercy Village, a brewery located at a 15-minute walk from the venue. Simply show one of the Red Badger team your conference ticket to receive your wristband which you can flash at the bar for free drinks. The Frog is located at Bercy Village which is a pedestrian street full of bars and restaurants. It offers both alcoholic and non alcoholic drinks as well as food.
React allows you to write styles inline and bypass a host of CSS shortcomings. Scope, dependency management, dead code elimination, these problems go away when adding your styles directly to components. But it's not all rainbows and unicorns. Things like theming and media queries become much more difficult when all your styles live directly on components. In this talk, we'll look at how to solve these problems with contexts and plain old JavaScript. We'll also look at the role of container-components and when it's better to "just use CSS."
Flux is most often used to implement shared state within a single window. But done properly, this architecture can be used to implement real-time, multi-user shared state between many users of the same web applications. Using HTTP requests to dispatch stores, and Websocket to broadcast updates, Flux over the Wire has the potential to trivialize several hard problems. While the idea of using Websockets to back Flux is rather straightforward, doing it in a way that scales up to tens of thousands of concurrent viewers can prove challenging. In addition, Flux over the Wire offers an interface which considerably eases server-side rendering, as it completely abstracts data fetching and data syncing from the React views that tap into its stores and dispatch its actions.
React Native's architecture has opened up many possibilities for re-inventing the clunkier aspects of UX construction on traditional platforms, making it easier and faster to build world-class experiences. This talk will walk through building an advanced gestural UI leveraging the unique power of the React Native layout and animation systems to build a complex and fluid experience.
At React.js Conf last January, we introduced the idea of GraphQL: a data fetching language that allows clients to declaratively describe their data requirements. Let's explore more of GraphQL, it's core principles, how it works, and what makes it a powerful tool.
Your front and back ends are already successfully in production but you don't have to miss out on the productivity that React brings. Forget the rewrites, this is brownfield!
React’s unique strength is bringing to JavaScript development some of the benefits previously exclusive to more radically functional languages such as Elm and ClojureScript, without forcing you to completely eschew local state or rewrite code with exclusively immutable data structures. In this talk, Dan will demonstrate how React can be used together with Webpack Hot Module Replacement to create a live editing environment with time travel that supercharges your debugging experience and transforms the way you work on real apps every day.
Relay is a new framework from Facebook that enables declarative data fetching & updates for React applications. Relay components use GraphQL to specify their data requirements, and compose together to form truly modular applications. This talk will explore the problems Relay solves, its architecture and the query lifecycle, and how can you use Relay to build more scalable apps. We’ll also see examples of how Relay powers applications as complex as the Facebook News Feed.
Paradoxically that today it is easier to create GUI than Text UI. Developer has an arsenal of different GUI libraries and layout engines. When one decides to write Terminal Text UI app he faces obstacles of Text UI DSL Library, imperative layouts, constantly increasing complexity and underdeveloped approaches. In this talk I will show you how to ask browser layout engine for help, how to avoid slavery of DSL and build declarative Text UI using only web-technologies like HTML, JS, CSS and React.
React has always been about the Virtual DOM. A nice way to render HTML (and some of SVG and maybe some Web Components). Although there's also react-art, react-three, react-canvas, react-curses... Oh, and react-native! Even if you bottom out at HTML, most of what React does really well is rendering to OTHER React components. Meanwhile most projects still try to retrofit our needs into HTML and CSS primitives. I'll talk about why the DOM is flawed and how it is becoming a second-class citizen in the land of React apps.
Most React developers already use a build pipeline to transform their JSX into vanilla JavaScript. This is usually under-utilised only doing basic transformations such as concatenation, minification and linting. In this talk, Sebastian will go over how this already existing infrastructure can be further utilised to perform even more significant code transformations such as transpilation, optimisation, profiling and more, reducing bugs, making your code faster and you as a developer more productive and happy.
A talk on the past, the present and the future of animation, and the place React can potentially take in this. I will be focusing on a few experiments on animation I've done, specifically: react-tween-state, react-state-stream and some unreleased transition-group related thoughts and work.
At Twitter, teams have starting adopting React because it’s enabled UI engineers to forget about time when writing rendering code. And we've started exploring similar simplifications in the data layer, embracing the UI’s role as part of a distributed system. First, we'll share how user experience choices are a primary influence on how we design the data layer, especially for teams developing new products with full-stack capabilities. Working with data from multiple backend services has powerful benefits, and shapes the problem space for UI engineering. Next, we'll look at how React and Flux approaches can help in our problem scenarios. Yet even after the advances in React’s component model, the data layer is still an important source of complexity as an app grows and changes over time. Finally, we'll look at new approaches we’ve been exploring, and how designs like decoupling 'recording facts' from 'computing views of those facts' have influenced UI engineering. These designs nudge teams towards simplicity when creating impactful user-facing improvements like real-time updates, optimistic commits, and graceful handling of network outages.
React.js is changing the way developers think about mobile app development, especially with the recent announcement of React Native. However, in many ways hybrid (web + mobile) app development is here to stay for a large number of mobile apps. Everyone's heard "you can't build a native experience in a web view". We disagree. You just have to know the right tricks. And when you do, the web becomes an incredibly powerful platform for delivering amazing user experience using the technology you know. At Thinkmill in Sydney, over the course of developing several commercial apps, we've experienced the power of using ReactJS for mobile apps built on web technology, and developed a framework we call TouchstoneJS (which Tom Occhino called "the best looking and feeling implementation of this that I've seen" during the Q&A session at React Conf) to share this capability with developers around the world. In this talk I'll share what we've learned and how we've approached the unique challenges of mobile web apps - with tools that are useful to all developers building touch interfaces with React, as well as a walkthrough of our development process and framework. I'll also talk about what you can do with the web platform that you can't with native apps, and even React Native.
Since May 2014 over 100 people have contributed code to React Router and many, many more have filed issues, given talks, and used the router in both server and client environments. It has been mine and Ryan's privilege to work with and learn from these wonderful people and to guide the direction of a library that we hope will help us all build amazing products and tools with React over the next few years.
This year we are introducing support for React Native and we are working closely with the Relay team to ensure the router meets the needs of React developers everywhere React runs. More importantly though, we are focused on bringing great experiences to consumers of applications built using React Router. In this talk, we will discuss how your users can benefit from the many tools the router provides including server-side rendering, real URLs on native devices, and much, much more.
In this talk, we'll take a deeper dive into putting GraphQL to work. How can we build a GraphQL API to work with an existing REST API or server-side data model? What are best practices when building a GraphQL API, and how do they differ from traditional REST best practices? How does Facebook use GraphQL? Most importantly, what does a complete and coherent GraphQL API looks like, and how can we get started building one?
Flux provides a good framework for building rich client applications, but did you know you can reuse the flux architecture for server rendering? In this talk, I'll walk you through an isomorphic Flux architecture to give you the holy grail of frontend development. With this architecture you'll be able to reuse all of your application code on the server and client without worrying about server-side concurrency issues that you may see with stock Flux. Once the concepts have been explained, I will introduce the open source libraries that we have open sourced and are powering many of Yahoo's high-traffic web applications.
React provides us with a lot of tools for building components, but isn't prescriptive about how we use those. Objects can have props, state, and instance fields. When is it best to use each? We've heard a lot about pure components, but how do we make pure components when we have to deal with the realities of a stateful world? How do we make more complex components whose props actually represent them? We'll cover how we've answered these questions at Khan Academy, including techniques and patterns to make dealing with large pure components simpler, as well as current open questions.
Chrome is great, but 3rd party extensions make it better. The iPhone is great, but apps make it better. You React-app may be great, but imagine if you could safely and robustly allow 3rd party extensions to enhance it. We'll talk about specific features of React & Flux, React CSS, programming design patterns, and custom libraries, which can turn a static application into a dynamic platform that an ecosystem of developers can build on top of. We've built a highly-extensible desktop email client with React & Flux on Atom Shell, and we'll also show concrete examples of where these tools enabled a 3rd party ecosystem of email plugins. Our goal is for you to take away how to use React to be more than just great application developers, but now great platform developers as well.
Thursday 2nd July | Friday 3rd July | |
---|---|---|
8:30-10:00 | Registration and French Breakfast | Check-in and French Breakfast |
10:00–10:30 | Keynote Christopher Chedeau | Sebastian McKenzie |
10:30–11:00 | Michael Chan | Cheng Lou |
11:00–11:30 | Coffee break | Coffee break |
11:30–12:00 | Elie Rotenberg | Kevin Robinson |
12:00–12:30 | Spencer Ahrens | Jed Watson |
12:30–14:00 | French Buffet | French Buffet |
14:00–14:30 | Lee Byron | Michael Jackson |
14:30-15:00 | Ryan Florence | Nick Schrock & Dan Schafer |
15:00–15:30 | Coffee break | Coffee break |
15:30–16:00 | Dan Abramov | Michael Ridgway |
16:00–16:30 | Joseph Savona | Aria Buckles |
16:30–17:00 | Coffee break | Coffee break |
17:00–17:30 | Mikhail Davydov | Evan Morikawa & Ben Gotow |
17:30–18:00 | Sebastian Markbåge | Q&A |
18:00–19:00 | Drink up | |
19:00–23:00 | Special Dinner |
Want to get involved and help support ReactEurope? We'd love to hear from you.