These terms aren’t interchangeable, but both frameworks and libraries are terms for code that’s written by other developers to help solve your problems and make your life easier. Where they differ is in how they do it.
Think about redecorating a house. A library would be like going to IKEA, finding the furniture you want, assembling it, mixing and matching, choosing different colors, etc. In a library, you’re in control and you have more freedom, but they generally do less for you.
On the other hand, a framework is like choosing a model home in a neighborhood with five or six different model homes to choose from. You have to work within that structure – frameworks give developers less control and flexibility. A framework is more opinionated, but if you work within those confines, you can get things done much faster.
React exists in a gray area between library and framework. React by itself has the qualities of a library – it’s easier to learn than frameworks like Angular and Vue, and it doesn’t have a lot of opinions.
Don’t think about React as a tool to build a specific feature. Instead, it is generally used to build the entire front end of an application and it’s a useful tool when it comes to making dynamic content.
For example, when two different users log into Netflix, their homepages display different, dynamic content based on their viewing history and preferences. A developer uses React to display and create that dynamic content on the front end.
React was also originally used to power the newsfeed on Facebook and subsequently on Instagram.
React Native is a framework or library used to create native apps for mobile devices written with React syntax. It’s not exactly the same as React, but if you are a React developer and you can already create React components on the front end, then you can use similar syntax and principles to create a mobile app.
While React Native and React are linked, they are distinct and separate. Knowing how to use React doesn’t mean you’ll know how to use React Native. However, it will give you a leg up when it comes to creating mobile apps with React Native.
I see a lot of students panic about choosing between React and Angular and my advice is to just pick one. We teach React at Springboard, but students would be just as successful if we taught Angular. If you learn React and you get a job that requires Angular, you’ll get time to learn that and you’ll do that on the job.
React is a popular choice at Springboard because it’s popular with employers and we want students to get jobs. It’s beginner-friendly for anyone with a basic foundation because it’s lightweight and it forces you to build better habits. Frameworks provide more structure, which might seem better for beginners, but in my experience, students end up relying on that structure. They don’t build the habits that give them an understanding of how things work.
Job titles in tech are often inconsistent from firm to firm, but React job titles can include:
Many different jobs require knowledge of React. Some companies specifically seek out specialized “React Engineers,” but other times you’ll be hired as a Web Developer and React is simply the company's preferred tool.
A coding bootcamp grad can work with React for 5-10 years and be in a senior-level role.
Brook from Code Fellows compares Python vs Java – and tells you which you should learn first!
LearningFuze's new Part-Time Data Science Bootcamp was created for working adults!
Here's how NGT Academy supports the next generation of cybersecurity professionals...