DEV Community

Cover image for From Basics to Brilliance: React, SPAs, MPAs & More
Hariharan S J
Hariharan S J

Posted on

From Basics to Brilliance: React, SPAs, MPAs & More

1. What is React?

React is a JavaScript library for building fast, interactive, and reusable user interfaces using components.

2.Key Difference Between React and JavaScript

Definition

  • Javascript

A programming language used to build logic for web pages (and more)

  • React

A library built using JavaScript to create UI components

Purpose

  • JavaScript

  • Handles logic, events, API calls, calculations

  • Works everywhere (frontend + backend with Node.js)

  • React

  • Specifically used for building user interfaces (UI)

  • Focuses on rendering and updating the view

DOM Handling

  • JavaScript

Direct DOM manipulation (can get complex)

  • React

Uses Virtual DOM (TBD) for efficient updates

JavaScript is a programming language used to build web functionality, while React is a JavaScript library used specifically for building user interfaces in a more efficient and structured way.

3. Why We Use React

React is mainly used to build fast, scalable, and maintainable user interfaces. Here’s the real reasoning behind it

To Build Complex UIs Easily

In Plain Javascript

  • UI becomes messy as the app grows

  • Too many DOM manipulations

React solves this with components

  • Break UI into small reusable parts

  • Easy to manage large applications

Reusability (Write Once, Use Many Times)

Example

  • Button component

  • Card component

  • Navbar

You create once and reuse everywhere

Saves time

Reduces duplicate code

4. What is a Single Page Application (SPA) in React

A Single Page Application (SPA) in React is a web application that loads a single HTML page and dynamically updates content without reloading the entire page, providing a fast and seamless user experience

How it works in React

In a React app:

  1. Only one main HTML file is loaded (index.html)

  2. React controls everything inside it

  3. When you navigate:

  • React updates components

  • No full page reload happens

  • No full page reload happens

Example (Real Life)

Think about:

  • Instagram

  • Gmail

When you click:

  • Home → Profile → Messages
  1. Page doesn’t reload

  2. Only content changes

That’s an SPA behavior.

Advantages of SPA

  • Faster navigation

  • Better user experience

  • Less server load after first load

  • Feels like a mobile app

Disadvantages

  • Initial load can be slow

  • SEO can be tricky

  • Requires JavaScript

5.What is a Multi Page Application (MPA)?

A Multi Page Application (MPA) is a type of web application where every action loads a new HTML page from the server.

In simple words:

  • Every time you click something, the whole page reloads.

How it works

  • User clicks a link (e.g., Home → About)

  • Browser sends request to server

  • Server sends a new HTML page

  • Browser reloads the entire page

Example (Real Life)

Think about:

  • Amazon (when switching pages)

  • Old-style websites

Each click = full page refresh

You can actually see the page loading

Advantages of MPA

  • Better for SEO

  • Simple architecture

  • Each page is independent

Disadvantages

  • Slower navigation

  • Full page reload every time

  • Not as smooth as SPA

Easy Analogy

  • MPA = Opening a new book page every time

  • SPA = Scrolling inside the same page

6.Libraries vs Frameworks (Key Difference)

Definition

  • Library

A collection of pre-written functions that you call when needed

  • Framework

A complete structure that calls your code and controls the flow

Control

This is the core concept:

  • Library → You are in control

  • Framework → It is in control

Example

Using React

function App() {
  return <h1>Hello</h1>;
}
Enter fullscreen mode Exit fullscreen mode

You decide:

  • when to create components

  • how to structure your app

You control the flow

Framework Example

Using Angular

Angular decides:

  • folder structure

  • architecture

  • how components interact

Framework controls everything

In Simple Words We Can Say That

A library is a set of tools that developers call when needed, while a framework provides a complete structure and controls the flow of the application using inversion of control.

Inversion Of Control (TBD)

So far you are thinking react is a javascript library and it is not a framework what if i tell you react can be used as a framework by using React Native

React Native(TBD)

Top comments (1)

Collapse
 
buddingdeveloper profile image
Ebenezer

Nice write-up , Can you say more about Virtual DOM?