Should you learn React? Sabio coding bootcamp graduate Sara Inés Calderón uses React every day in her engineering role at Musx in Austin. Here, Sara shares her four top benefits for learning React (plus a couple of inevitable drawbacks), and how you can use React in your own development projects.
In the ensuing year, I’ve not only built multiple applications in React and React Native, I’m also currently the Lead Front End/React Native Engineer at a music startup in Austin, Texas. I’ve learned all sorts of things about React since I started down this snazzy path, and so I wanted to share some thoughts on why I think you might benefit from joining me.
What is React?
If you’re looking for examples, React is obviously used by Facebook and Instagram, as well as other websites like Airbnb, Coursera, Dropbox, eBay, Expedia, Netflix, The New York Times, and Reddit. In 2017, Stack Overflow’s Developer Hiring Trends Survey saw a huge increase in demand for React developers.
What is React Native?
React Native can combine with native modules written in Swift, Objective-C, and Java, so programmers have the option to build part of an app in React Native, and part of it in native code.
1. React expands your reach to mobile.
I learned React for web first, then transitioned to React Native. That transition from React to React Native wasn’t as daunting as I had anticipated. The real challenges were the concepts of web vs. mobile that I found difficult, specifically things like styling, routing/navigating, setup, design, etc. That is to say, the way you design/build a website is very different from a mobile site. The technology itself was not the big barrier.
So, if you think you might want to do a bit of mobile development one day, React is a great place to start.
3. React saves you time.
4. You can use any technology with React.
React is super flexible in terms of how it renders a view, so you can use this library with basically any other framework of your choosing. For example, many developers will use Node.js with React to utilize server-side rendering. It gives you the flexibility to write awesomely fast and clean code while using any other technologies that your project calls for.
You get the idea. React developers end up with a long list of dependencies that need to be manually tracked and added to a dev environment. Whereas in other frameworks like Angular, these tools come standard and you may not have to stop and think about them.
One of the most common complaints about React is that it doesn’t quite handle State, so you’ll need to use some state management tool (ie. Redux, Flux, or MobX). One thing I do sorely miss about Angular is how lovely it is to not to have to stop and think about managing your state before you do literally anything. On the other hand, that also gives developers the flexibility to create a cool, fast, custom app.
Flatiron School instructor Graham Troyer-Joy explains object-oriented programming for beginners!
Thinkful Design Product Manager Terry Million explains the differences, and how to get started!