Core Concepts
Single Page Application (SPA)
- An application that loads a single HTML page and dynamically updates it as the user interacts
- Requires JavaScript frameworks/libraries like React, Angular, or Vue.js
- Advantages:
- Fast performance (similar to native apps)
- Responsive to user interactions and screen sizes (using CSS media queries)
- User-friendly interface
React Fundamentals
- React is a JavaScript library for building user interfaces
- Uses a Virtual DOM to improve performance
- Component-based architecture for reusable UI elements
React vs Angular
- React is a Library (JS-based) while Angular is a Framework (TypeScript-based)
- React development and performance is faster
- React has less memory consumption/footprint
- React has a gentler learning curve
- React doesn't enforce architecture, Angular has predefined architecture and tooling
Functional Programming Concepts
Functional Programming in React
- Functions are first-class citizens
- Functions can be created as variables
- Functions can be passed as arguments to other functions