I’ll be at NDC Oslo next week to give a talk entitled An Experience Report from Building a Large React.js/Redux Application. While I’ll definitely pull some examples from some of our ongoing React.js projects at work, most of the talk will be about the development of the new React.js-based web application within the open source Storyteller 3 application.
Honestly, just to help myself start getting more serious about preparation, I’m thinking that I’ll try to cover:
- How the uni-directional flow idea works in a React.js application
- The newer things in ES2015 that I think make React components easier to write and read. That might be old news to many people, but it’s still worth talking about
- Using React.js for dynamically determined layouts and programmatic form generation
- The transition from an adhoc Flux-like architecture built around Postal.js and hand-rolled data stores to a more systematic approach with Redux.
- Utilizing the combination of pure function components in React.js with the react-redux bridge package and what that means for testability.
- The very positive impact of Redux in your ability to automate behavioral testing of your screens, especially when the application has to constantly respond to frequent messages from the server
- Integrating websocket communication to the Redux store, including a discussion of batching, debouncing, and occasional snapshots to keep the server and client state synchronized without crushing the browser from too many screen updates.
- Designing the shape of your Redux state to avoid unnecessary screen updates.
- Composing the reducer functions within your Redux store — as in, how will Jeremy get out of the humongous switch statement of doom?
- Using Immutable.js within your Redux store and why you would or wouldn’t want to do that
By no means is this an exhaustive look at the React/Redux ecosystem (I’m not talking about Redux middleware, the Redux specific development tools, or GraphQL among other things), but it’s the places where I think I have something useful to say based on my experiences with Storyteller in the past 18 months.
The last time I was at NDC (2009) I gave a total of 8 talks in 4 days. While I still hope to get to do a Marten talk while I’m there, I’m looking forward to not being a burnt out zombie this time around with the much lighter speaking load;)