React Finland, day 2, from newbie perspective

Sauli Rajala
6 min readApr 25, 2018

--

This is my quick recap of the first day at the React Finland Conference. I’m kind of newbie in everything that is related to React or even to modern Javascript web development. I have been more like PHP and copy-paste-jquery -guy, but I have been keen to widen my expertise to ES6 and React stuff. So I have messed around a little bit with React and React Native, but I was a little nervous whether or not I understand anything at the conference or am I going to be confused like Mr. MacGyver here

When I was buying ticket to React Finland (or my employer bought. Thanks Valu Digital!), I wanted to only attendee to the conference part of React Finland, because you know…it’s easier to hide in the big crowd of conference than at the workshop where everyone will realize that I don’t know anything. When the conference approached and I read the subject of sessions, I kind of felt sad for my solution. Workshop might have been a great place to learn new things!

Anyways, today was my first day at React Finland and here are the talks that was held on Wednesday. Some were quite understandable for newbie too, some were not so much. I gave grade to each talk depending on how confused I was during and after the talk: one MacGyver means that I understood quite well everything that was said, five MacGyver means that I was so lost that I needed to do some rm -rf node_modules && yarn install to get back on track.

The New Best Practices — Jani Eväkallio

First part of Jani’s talk was more about philosophy, technology wars, revolutions and best practices. This was a good start for the day. Energetic, funny and not so techy. So my confidence-level arised: “I can do this 💪”

“We need best practices for writing code that is resilient to disruption.”
Jani Eväkallio

Here are some best practices that I was able to pick up from the talk:

  1. Build big things from small things
  2. Write code for humans first
  3. Stay close to the language
  4. Always prefer simplicity
  5. Don’t break things
  6. Keep an open mind

Confusion level: 1 MacGyver

Declarative state and side effects — Christian Alfoni

The next talk was by Christian Alfoni and it also started with example that was quite ease to grasp.

The rest of the talk was too much for me. I think I understood the problem that Cerebral is built to solve, but it just was too technical React stuff for a React-newbie.

Confusion level: 4 MacGyver

Lightning talks

I’m a huge fan of lightning talks. I think they are the best talk-format for conferences like this one. So I had high hopes for them!

Immer — Michel Weststrate

“Keeps previous state, produces new next state”
Michel Weststrate

First lightning talk was about Immer, a tool that helps you to “work with immutable state in a more convenient way” (as it reads on GitHub). I have messed around with Redux enough to know that managing the state of React app is a huge deal. Never heard of Immer before though.

I kind of felt that I understood everything, but at the end of the talk, I was not so sure anymore.

Confusion level: 2,5 MacGyver

Get Rich Quick With React Context — Patrick Hund

Second lightning talk was about React Context. The demo/example at the beginning of the talk was great and understandable. Rest of the talk was like any coding tutorial and examples are: Seems very simple and easy to implement by yourself, but when you actually start doing something by yourself…not so easy anymore.

Confusion level: 3 MacGyver

There’s always a better way to handle localization — Eemeli Aro

This talk was moved from the end of the day to just before the lunch. Eemeli’s talk was about to localization and translating apps. Localization is a familiar subject to me and I have spend some time fighting with the problems of localization during my daily work with WordPress. Even though the problems that I have faced might be different than the ones that Eemeli is wrestling with, I felt quite confident again.

Localization is important and we can get better on it
Eemeli Aro

Some solution that Eemeli provided to localization was react-intl, react-i18next, react-message-context, but talk was quite general by nature. It would have been a great to see some real examples about how localization is done with React app. But I understand the limitation of lighting talk format and the fact that React Finland is quite advanced level conference.

Confusion level: 1 MacGyver

Styled Components, SSR, and Theming — Kasia Jastrzębska

Kasia’s talk was about Styled Components. I have heard of it somewhere, but haven’t really had a chance to use it. But the talk was interesting mixture of CSS (which is familiar to me) and React (which is not). I even had a chance to remember my own talk at WordCamp Jyväskylä at the beginning of this year, when Kasia talked about specifity problem in CSS.

I really like the idea of styled components and the fact that style definitions are local by default. It is something that should be implemented to web development at large, even outside of React. How? I have no idea.

Confusion level: 2 MacGyver

Universal React Apps Using Next.js — Sia Karamalegos

Sia’s talk was entertaining and funny. She talked about next.js, which seemed quite impressive. Zeit.co is build using next.js and it feels super fast. At the beginning of talk we saw interesting statistics about why web performance matters.

As a WordPress-developer, I must say that I’m a little jealous about the level of documentation and examples that zeit.js has! It is really impressive and certainly something that is missing in so many WordPress -plugins or PHP-libraries.

What people though about performance is not always the same as the actual performance.
Sia Karamalegos

Confusion level: 2 MacGyver

State Management in React Apps with Apollo Client — Sara Vieira

I missed the beginning of Sara’s talk. It was a funny and fast pace presentation, but waay over my head.

Confusion level: 4,5 MacGyver

Detox: A year in. Building it, Testing with it — Rotem Mizrachi-Meidan

Talk was about Detox a testing framework for React Native. It was interesting to see how mobile apps could be tested. Not much to say about this talk. I understood some stuff, but mostly it was really unrelated to my work. Although I’m planning to write React Native app for my master thesis, so it was nice to see one solution for testing mobile apps.

Confusion level: 3 MacGyver

Lightning talks

At this point of day I was quite exhausted and it started to be really hard to concentrate on the talks. Luckily last talks was lighting talks and not so super complicated stuff anymore.

Make linting great again! — Andrey Okonetchnikov

“Linter is a tool that find stupid bugs”
https://twitter.com/okonetchnikov

Andrey’s talk was about linting. Lint-staged seemed nice, but since I haven’t really used linting for JS before (I know, I’m that React-newbie!) I can’t say much more. Linting is definitely something that I should make myself more familiar, because no one likes 💩-code.

Confusion level: 1 MacGyver

Understanding the differences is accepting — Sven Sauleau

Sven’s lightning talk was totally different that I though it would be, when I read the subject from schedule. Sven showed some interesting twists of Javascript language. This talk was interesting, not least because I have just finished Anthony Alicea’s great course “JavaScript: Understanding the Weird Parts”. If you are like me and want to truly understand Javascript, I can’t recommend the course enough.

Confusion level: 1 & 5 MacGyver (5 because Javascript is weird)

Why I YAML — Eemeli Aro

This was an extra talk, because we had time. Not much to say about this. I was too eager to finish up the day and get to the sauna.

--

--

Sauli Rajala

WordPress specialist at Valu Digital (www.valu.fi) and writer of master thesis from Finland