Sorted thoughts on Reactive2015.
For me, Reactive 2015 was a really nice conference. Not just because I proposed to my now fiancée, but also because it was packed with amazing talks.
My only real problem with the conference was that, afterwards, i felt somewhat lost.
With so many different solutions for basically the same problems, which ones should I choose to dig deeper into?
I think that — in the end — it’s really up to personal preference and the requirements for a specific project you have (or want) to work on.
“Would this refactor cost us more than we would benefit from it? Then we should probably not do it.”
It also introduced us to some of the things which all of the cool “new” stuff solves for us, and if you never touched on any Flux, Redux, React, Functional Programming, etc. I really recommend checking out his slides.
He also had this interesting bit about how Promises might not be as good as we might think they are. I think the best place to find a detailed write up of this topic is in his blog post from April “Stop Trying to Catch Me”.
I’d like to note at this point that until now I didn’t know that there was a specific edition of Firefox which is targeted at developers. In case someone else also didn’t know — check this out: http://devtoolschallenger.com/
The next talk was by Paul Taylor about “Bind to the cloud with Falcor”. It gave a nice overview of how and why it’s used by Netflix. Also an interesting little hint about the “Developer Preview” tag: It’s just called that because nobody wants to take the heat if something breaks ;)
You can find out more about Falcor here: https://netflix.github.io/falcor/starter/what-is-falcor.html
Next up, a talk about functional programming (the most used term of the conference for sure) by Daniel Steigerwald, one of the creators of este.
I was pretty busy during this time with prepping some stuff so I didn’t catch the presentation. Still — este is a pretty dope starting point for your next React universal application and you might really want to try it out.
Also make sure to give the “Why Frameworks are Evil” article a look ;)
I really liked that he talked about the history of CSS Modules, how it got to it’s current state and so on. If you didn’t yet check it out, please make sure to give it a try. We’re using CSS Modules since a few months and they really rock.
After hearing about a ton of awesome things d3.js can do last week, I was really looking forward to the talk about Victory.js which uses d3 in combination with React. Colin Megill did a great job at showing off what it can do and how it currently looks like.
I really think that using SVG for data visualization is probably the best way to go. Free pointer events, all the debugging tools you know at hand, no more middle layer between “what you see” and the data in the background. Just think about how hard it is to debug any canvas application…
Christian Alfoni then introduced us to Cerebral. It is an(other) interesting solution to handle data/events in your application which uses signals to react to stuff that happens in your application, and signals run functions which you can chain in a very easy way.
It also has a nice debugging tool for chrome which makes use of those signals to make it easier for you to reason about what happens in an application.
I’m not sure how it’s going to evolve over time and I don’t know if I’d ditch redux in favor of Cerebral just now, but it’s for sure something to keep an eye on!
It was a nice low level introduction to concepts of functional programming and suddenly there were some slides with ClojureScript on them where I just felt really really dumb (this happened also on other talks ;)) because I didn’t understand what I saw ;)
I was not able to check out the later talks by
Tomas Kulich, “Integrating React with Reactive Databases”
And 10 really great lightning talks about which you can find more details here: https://medium.com/@ReactiveConf/and-the-thunderous-applause-goes-to-9b9fcbe31839#.finv08vo9
The next day kicked off with Michael Westrate talking about “React, Transparent Reactive Programming and Mutable Data Structures” which I also wasn’t able to attend due to waking up late.
He also said we should #MakeTechDiverse — it’s everyones responsibility, we should talk about it, we should make this happen.
#MakeTechDiverse — it’s everyones responsibility.
Joshua Sierles then showed off what you can do with the React Native Playground with some really neat slides, and also talked a bit about how it works. Check out his talk here: https://youtu.be/9cIEtC-V2XE?t=2h19m32s
On this point I’d like to point out that the schedule of this conference was excellently planned. Most of the time it felt like on talk just “led” to another and it was really nice to follow along all those things, even though it was really hard to keep concentrating for about 9 hours on really heavy topics.
Oh and about those complex, heavy topics —
Brace yourself, elm is coming.
Richard Feldman took the stage and caught everyones attention with an amazingly well done first half of his speech, talking all about tests and stateless functions.
Well, eventually it led to “Let me tell you ‘bout elm”. And a laughing and clapping crowd :)
It was called “Effects as Data” and if you’re in for a good laugh, check it out here.
After the talk, people were like: Elm ALL the things!
Next, I had to leave again for some time and missed most parts of the talks by
François de Campredon and Marcela Hrda.
Here you can find their videos:
“Going Reactive with React” — François de Campredon
“Form Validation Made Simple With React” — Marcela Hrda
I only got the last few minutes of the form validation talk, and I have to admit that I don’t like the idea of adding form validation rules with JSX into my component. I rather have a schema which I inject into a special form component.
“From React Web To Native Mobile: Mapping Out The Unkown Unkowns” was a talk by Brent Vatne, and all about how to move from React Web to React Native and what to think about when working on React Native apps.
He gave a really good overview of common pitfalls which you should avoid and I found the part about handling the keyboard height correctly in your interface really interesting!
Martin Koníček from Facebook took the stage afterwards and gave interesting insights on how Facebook handles the React Native open source project as well as how React Native works behind the scenes.
In case you’re interested what exactly React Native does, this talk — “Under the Hood of React Native” is for you.
After the coffee-break Sean Grove showed some time travelling and replay magic with Dato in his talk “Dato — A functional way to build reactive applications”.
Then it was time for another inspirational and amazing talk by Andre Staltz who showed cycle.js, the thing he mostly deleted in the past year and caused everyone in the room to think “Okay, I need to check out elm AND cycle.js”.
If you’re in for some inspirational metaphors, check out the talk “Cycle.js and Functional Reactive User Interfaces” here.
GitHubs Daniel Helgeveld ended the 2nd day of the conference with “View Systems in Atom: Past, Present and Future” in which he talked about the history of Atom.io and said quiet a lot of “quote-worthy” things.
All in all — an amazing conference.
Thanks to all of the speakers, vacuumlabs, and everyone else who was involved.
Had an amazing time.
See you next year.