JavaScript started out living only inside web browsers. But it's moved out of its parents' house and now lives pretty much everywhere:
| Where | What it's doing | Examples |
|---|---|---|
| Web browsers (the "front end") | Making web pages interactive | Menus, forms, games, animations, web apps |
| Servers (the "back end") | Handling requests, talking to databases, sending data | Node.js, Deno, Bun |
| Mobile apps | Building apps for phones | React Native, Ionic |
| Desktop apps | Building apps for Windows, Mac, Linux | Electron, which powers apps like VS Code and Discord |
| Games | Browser games and game engines | Phaser, Three.js, Babylon.js |
| Gadgets | Controlling small devices and robots | Microcontrollers, smart home gadgets |
The words front end and back end come up a lot, so let's define them:
- The front end is everything you see and interact with in your browser: the buttons, the text, the images, the animations.
- The back end is everything that happens behind the scenes, on a computer somewhere else (called a server): storing your account details, processing your payment, sending your messages.
Most programming languages only work on one side. JavaScript works on both. A developer who works on both sides is called a full-stack developer, and they get to wear a very fancy imaginary hat.