Konrad Szydlo

Clojure enthusiast, developer @ retailic.com

I'm a psychology and computing graduate that strives to combine both fields in my work. I'm a software developer at AlephConsulting - analytic and data processing company. Previously I worked on SkySports. The biggest sports website in the UK.
Outside of work I swim competitively trying to keep up with some of the World Record holders.

Facebook React is taking the front-end development  by storm promising to simplify DOM manipulation and creating new possibilities for building large and fast applications with data that change over time. It’s not a surprise that in the ClojureScript landscape a number of React wrappers emerged. Combining React’s DOM processing with ClojureScript immutability and concurrency utilities give us even more powerful way to create view-manipulation heavy front-end application.  One of the most promising React wrappers in ClojureScript is Rum. While wrappers like Reagent or Om force you to use specific component model, Rum provides you with a way to build your own components or re-use prebuilt ones, all depending on your needs.
With Rum it’s possible to use different storage/data models for different components. You can use simple atoms (ClojureScript concurrency primitive), ajax/websockets callbacks,  core.async channels (CSP way) or DataScript – immutable database in a web browser..

In the presentation I’ll highlight main features of React and ClojureScript and how they are perfect fit for each other.  Next I will show simple examples of Rum components and how they provide less boiler plate code than standard JS React components. Finally I’ll show how Rum’s idea to support different component models allows us to create applications using different storage mechanisms. All depending on your needs without compromising performance or architectural design.

Video ←Back