Hardware
│
Operating System
│
Programming Language (Python, JavaScript, Java)
│
Runtime Environment (CPython, Node.js, JVM)
│
Web Server (Uvicorn, Gunicorn, Node HTTP Server)
│
Application
├── Framework
├── Libraries
└── Business LogicHardware
│
Operating System
│
Programming Language (Python, JavaScript, Java)
│
Runtime Environment (CPython, Node.js, JVM)
│
Web Server (Uvicorn, Gunicorn, Node HTTP Server)
│
Application
├── Framework
├── Libraries
└── Business LogicA framework provides the overall structure of an application.
Examples: FastAPI, Flask, Next.js, Laravel, Spring Boot
A library is a reusable tool that your application calls to perform a specific task.
Examples: SQLAlchemy, LangChain, NumPy, Requests, Redis Client
You call the library.
result=requests.get(url)result=requests.get(url)Your code decides when to execute it.
The framework calls your code.
@app.get("/hello")
def hello():
return {"message": "Hello"}@app.get("/hello")
def hello():
return {"message": "Hello"}FastAPI executes hello() when an HTTP request arrives.
This concept is called Inversion of Control (IoC).
Operating System
│
Runtime
│
Web Server
│
Framework
│
Libraries
│
Business LogicOperating System
│
Runtime
│
Web Server
│
Framework
│
Libraries
│
Business Logic| Technology | Type | Built On |
|---|---|---|
| React | Library | JavaScript |
| Next.js | Framework | React |
| Vue | Framework | JavaScript |
| Nuxt | Framework | Vue |
| Svelte | Framework | JavaScript |
| SvelteKit | Full-stack Framework | Svelte |
| Angular | Framework | TypeScript |