В чем разница между браузерной и серверной средой

«В чем разница между браузерной и серверной средой» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Браузерная среда (клиентская) выполняется на стороне пользователя в браузере. Доступны Web API (DOM, localStorage, fetch), но нет доступа к файловой системе или процессам ОС. JavaScript ограничен sandbox'ом браузера.

Серверная среда (Node.js) выполняется на сервере. Есть доступ к файловой системе, процессам, сетям, но нет DOM и других браузерных API. Может обрабатывать тяжелые вычисления без блокировки UI.

Пример:

// Браузер
document.getElementById('btn').addEventListener('click', () => {
  localStorage.setItem('key', 'value');
});

// Сервер (Node.js)
const fs = require('fs');
fs.writeFileSync('file.txt', 'Hello');