PurelyFunctional.tv: How did you get into Clojure?
Falko Riemenschneider: Around 2012, I attended a panel debate about model based software development. After the main event I heard people speaking about some of Clojure's language features that were completely new to me. After recognizing its power I started learning Clojure and by early 2013 I actively encouraged others to care about it. Since summer 2013 I'm organizing a monthly Clojure User Group meetup in Bonn/Germany. In 2015 I joined my current employer doctronic where we run a dedicated Clojure team. Doctronic is the organizer of the 2017 :clojureD conference in Berlin.
PF.tv: What is your talk about?
FR: React is a huge step forward to make browser UI programming less error prone, yet there remain enough interesting problems to be solved in an application specific way. Just picking any of the existing ClojureScript libraries in hope that everything magically falls into place isn't sufficient. My talk highlights some problems and explains where tools like cursors, co-located queries or dataflow programming help.
PF.tv: Who is your talk for?
FR: Front-end developers with React experience who search architecture-level guidance.
PF.tv: What do you hope people will take away from the talk?
FR: I hope that attendees are afterwards in a better position to evaluate how existing libraries fit their specific problems and where they need to add something else.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
FR: It is helpful to have some practical experience with React in ClojureScript and perhaps core.async. I won't go into details of libraries like Om, Om/Next, Reagent or re-frame, but they sometimes carry implementations of tools that I'll refer to.
PF.tv: What resources are available for people who want to study up before the talk?
FR: Basic tutorials for Om and Reagent
- The re-frame Readme https://github.com/Day8/re-frame
- A post about the Om/Next reconciler https://medium.com/@kovasb/om-next-the-reconciler-af26f02a6fb4
PF.tv: Where can people follow you online?
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
FR: Regarding browser UI programming I don't run any open source projects on my own. I've written small libraries in other areas, all hosted on my GitHub account. 'Aggregate' is perhaps notable because it frees developers from writing error prone code that is needed to persist hierarchical data structures in relational DB tables. We use it in production for one of our customer projects.
PF.tv: Where do you see the state of Clojure in 10 years?
FR: I don't expect it to become mainstream like Java, but anyone who experienced how productive and and well-designed a language can be won't turn to something weaker. So, I expect a growing share and a loyal community.
PF.tv: If Clojure were an animal, what animal would it be?