Bratislava was hosting Reactive conference several days ago. As name suggest, it was mainly about Facebook React with lot of different talks. Really, it is hard to remember clearly every one of them, so I will write only about the most interesting ones. The curious reader might want to check schedule.
The most interesting talk before the noon was about CSS. This topic brings lot of problems – how to properly manage large code base, how to write self-contained components, what about themes etc. It seems that there are plenty of various recommendations and the speaker haven’t claimed to solve all of the problems – which is IMHO the good thing since I don’t believe in silver bullet. He mentions generic BEM methodology (Block Element Modifier), solutions like pass style as properties (for reusable components), spend quite a lot of time talking about CSS modules but also mentioning Radium project.
Since we are living in the distributed world we need to handle the distributed nature of our data. Especially nowadays with mobiles (and their weak internet connection) we want to keep in sync our notes, calendars etc. This talk mentioned different approaches to this problem as an introduction to CRDT (Commutative/Convergent Replicated Data Types) which was presented with help of pacmans 🙂 If you are interested, you can also check swarm.js library presented by the speaker. Or check out Firebase as one recommendation from another talk.
Flux at scale
This talk was given by a guy from Yahoo. And it was really educative to hear what kind of problems and/or optimizations you can encounter when are running so big website. Of course modularization is a must but then to achieve best user experience you need to start using server side rendering but of course not for everything! as you don’t want to waste user’s time. Even thought the Redux seems to be the king of Flux implementations, you can also check Fluxible by Yahoo.
The evening ended with series of 5 minute talks about various topics like async-await functions, React Toolbox – material design library for React, Relay as alternative to “REST fetching” of data (similarly to Falcor talk from morning), presentation of Elm-script (that guy knows how to talk :)) and React Native Playground where you can run your RN applications in browser!
Mutable data structures
It seems that most of the community prefers reactive/functional programming, flux architecture with combination of immutable data structure holding one single state. In most cases they are right (immutability comes with lot of benefits) but I found really refreshing to hear talk from opposite camp 🙂 Speaker claims that you can build only tree-like immutable structures but ultimate reason for switching to mutable (and observable) data structure was performance limitations.
The topic I was quite interested in. On the second day of conference we had 3 talks about React Native. After those presentations I am even more interested in building native mobile applications. Unlike most of mobile cross-platform solution it is not just wrapped web view but it is really compiled to native code. And features like hot redeploy during development or even instant updates to live applications (without store’s approval process) via CodePush or AppHub. The platform will be even more appealing once it matures enough and once there will be plenty of community components for reuse but the concept itself seems to be very viable to me.
The talks and people there were interesting, some talks were more technical, some were a little philosophical. If you are interested in React, there is definitely lot to learn. From the organization point of view – the conference and talks were organized very well but to mention also few small drawbacks – some aspects were not very “scalable” – wifi connection was unreliable (that was the mostly problematic during practical workshops) and lunch – you had to wait if you are not fast enough 🙂