Strange Loop

Functional programming on the frontend with Facebook React

Facebook React is making headlines in the Javascript world for the simplicity with which it lets one build complicated browser components. React is awesome because it brings the very basic essence of functional programming to the frontend.

In this workshop, we will livecode several demo apps, and the audience will code along on their laptops, starting with the very basics and quickly building up to advanced examples.

Most people recognize that React brings an innovative DOM management strategy: an immutable pseudo-DOM and reconciliation algorithm which enables functional programming friendly abstractions in browser UIs. It is less well understood that React also enables functional state management strategies, which as Rich Hickey fans know, may be the most important concept in application development. All javascript frameworks can handle simple forms with elegance, but Backbone, MVVM, Angular and the like don’t have elegant answers to a complex form backed by deeply nested and hierarchical state.

We will learn by doing how React’s approach enables higher level abstractions for UI development than we have never seen before.

Dustin Getz

Dustin Getz

React Consultant

Dustin Getz was one of the first React early adopters, and has used React to build two enterprise applications for regulated industries. Dustin designed and led implementation of two React libraries: `wingspan-forms` for React-friendly form widgets and validation, and the 'react-cursor' functional state management strategy designed for React.

Daniel Miladinov

Daniel Miladinov

Wingspan Technology

Daniel Miladinov is a software engineer at Wingspan Technology, where he has been working with React since it was released in 2013. Wingspan is a Philadelphia-area software company specializing in web-based enterprise applications for regulated industries. Daniel is passionate about functional programming, clean code and software craftsmanship. He has contributed to wingspan-forms, react-cursor, JSHint and Facebook React projects.