React is like cooking. Vue is like surgery.

Swizec Teller
5 min readMay 29, 2018

--

When I was a wee lad, my mum taught me how to cook. You pick a carb and a protein, see what veggies you have in the fridge, add a little bit of this, a little bit of that, and you have a delicious meal. 👩‍🍳

I was like, “MUM!!! How am I gonna learn to cook if you don’t tell me what to do!? 😡

And then she said something I will never forget.

“You have to develop an intuition for it. Otherwise, you’ll never be able to create. You’re just going to follow recipes and you won’t know what to do if something goes wrong because you have the wrong brand of flour”

React is a lot like that. You are in control.

NOTE: This is a cross-post from my newsletter. I publish each email two weeks after it’s sent. Subscribe to get more content like this earlier right in your inbox! 💌

Sure, it does a lot of the annoying work for you. You don’t have to worry about rendering and you’re not thinking too hard about events and stuff. Just like you don’t think about what it takes to grow a carrot.

But it’s still you going right in there, feeling ingredients with your hands, and building things.

Like Jamie Oliver squeezing a lemon.

It’s amazing. You write a JavaScript function and out comes some DOM.

const SomeDOM = () => <video src={JamieOliver} width="640" height="320" />

You have full control of what happens. If something goes wrong, you can fix it. If you wanna do something the unusual way, no worries, you do you.

You pick a carb (React) and a protein (styling lib), grab some veggies (router, state management, off-the-shelf components), and you make magic.

At first, it’s hard and confusing.

You make mistakes. Your apps don’t make sense. You shoot yourself in the foot. You ask for help and get opinions.

But you’re developing that intuition. That feel for how things work. For the best architecture to use. For the right opinion to have. Ten years from now, when the web is nothing like it is today, you’ll know which new framework is gonna win.

➡️ Become a React chef 👨‍🍳 with daily videos 👉

Vue … is not like that 👩‍⚕️

Vue comes with opinions baked in. There is an official way to style your components, the <style> tag. There's an anointed state management library, vuex. There's an official way to do just about anything.

And if something goes wrong, if you want to do something your way, you’re shit out of luck. Vue will throw a hissy fit and get in your way.

Much like a developer who likes React will grumble when you make them use Vue. 😛

It’s what I imagine surgery is like. Kind of high stakes, low margin for error, a strict procedure for everything, and if you get it wrong the patient dies. With modern laparoscopic surgery, you don’t even have direct control of what you’re doing.

Modern surgeons look at a monitor, fiddle with joysticks, and a robot does things for them. Or they use looooooong finicky tools to do things at a distance.

You know, like this 👇

<template> <video src="jamieOliver" width="640" height="360" /> </template> <script> export default class Video extends Vue { data: { jamieOliver: "some/url/somewhere" } } </script>

This works for some people. They don’t trust themselves to make the right choice. Or they don’t trust their team members to write good code.

They use frameworks to enforce the rules. Rules somebody somewhere came up with. Rules that might not even be a good fit for their project and their team.

It’s not a philosophy I can agree with. I want my team members to feel empowered to write the best code they can write. To tinker, to experiment.

I want you to feel empowered. 💪

Become a React chef 👩‍🍳

Forget about those other libraries. Be a chef. An artist. Create! Don’t just follow other people’s recipes then cry in the corner when it doesn’t work.

That’s for suckers. You’re not a sucker. You’re the real deal. An engineer. 💪

With my new Learn While You Poop program, you can learn a little every day so you never get overwhelmed. Watch a video, get the gist, then dig in, understand the nitty-gritty, get some practice in a safe environment, and go out to conquer the world.

Module 1: React Essentials gets you from your first React component all the way to the advanced stuff like render props, context, and HOC.

➡️ Learn React Essentials for $29 Or

➡️ Learn all the things for $19/month

and get access to all content past present and future.

Some of what’s coming in the next few months includes 👇

  • Redux and MobX
  • GraphQL
  • React Testing
  • Building a full-stack app

And subscribers get to suggest topics too :)

In other news:

It’s been a stressful week, best summarized with this tweet

My blockchain webrtc redux research for the WeAreDevelopers talk this Friday still isn’t done. But I got two browsers talking to each other without a server this weekend so I got that going for me.

You can read part 1 of Learning how to WebRTC on my blog.

The rest coming soon to a blog near you.

A Slovenian national radio station has asked for an interview because it’s such a big deal for someone from our little land to speak at this huge WeAreDevs conference. Now I feel really shitty about being so underprepared. No pressure 😅

But I collected my MicroConf 2018 learnings in a recap post: What I learned at MicroConf Growth 2018. People tell me it’s a good one.

Oh and I built and launched the learnwhileyoupoop.com site. Well, I write this at 3:30 pm on Sunday and it’s going out at 10 am on Monday and fingers crossed it all works out 🤞

5 am update: it’s up 😴

Also, I’m flying to Europe tomorrow right after work. Guess who hasn’t packed yet.

Except replace “crap” with “packed” and Bob Kelso with Swizec.

Should I vlog my WeAreDevs experience? 🤔

A few cool things

Cheers,

~Swizec

P.S. If you like this, make sure to subscribe, follow me on Twitter, buy me lunch, and share this with your friends 😀

More where this came from

This story is published in Noteworthy, where thousands come every day to learn about the people & ideas shaping the products we love.

Follow our publication to see more product & design stories featured by the Journal team.

--

--

Swizec Teller

A geek with a hat, author of Why programmers work at night, React+D3v4 and others