Skip to main content

Node.js проти браузера

1. Де виконується код

СередовищеДе працюєОсновне призначення
Node.jsНа сервері або локально на машиніСерверна логіка, API, автоматизація, утиліти
БраузерНа стороні клієнта (у браузері користувача)Робота з інтерфейсом, DOM, взаємодія з користувачем

2. Доступні API та середовище

МожливістьNode.jsБраузер
Робота з файловою системоюТак, fsНемає
Робота з мережею (TCP, HTTP-сервер)Так, http, netЧастково: тільки HTTP-запити через fetch
Робота з DOM (HTML, елементи сторінки)НемаєТак
Web API (fetch, localStorage, WebSocket)Частково (Node 18+ додав дещо)Повний доступ
Глобальні об'єктиglobal, process, __dirnamewindow, document, navigator

3. Модулі та залежності

ОсобливістьNode.jsБраузер
Система модулівCommonJS (require) і ES Modules (import)Тільки ES Modules
Менеджер пакетівnpm, pnpm, yarnНемає (потрібен збирач - Webpack, Vite тощо)
Імпорт пакетівНапряму з node_modulesЧерез збірку в один файл

4. Архітектура та асинхронність

  • Обидва середовища використовують рушій V8 - але Node.js має власну обгортку із системними API.
  • Node.js застосовує event loop для асинхронного I/O - читання файлів, запитів, процесів.
  • У браузері event loop обробляє події інтерфейсу - кліки, таймери, запити до сервера.

5. Безпека та доступ

АспектNode.jsБраузер
Доступ до системиТакНемає
Ізоляція кодуНемає (код має доступ до диска й мережі)Так (sandbox)
Рівень довіриСерверний кодНедовірене середовище (браузер користувача)

6. Приклади відмінностей у коді

Node.js:

javascript
// Робота з файлами const fs = require('fs'); fs.writeFileSync('text.txt', 'Hello from Node.js!');

Браузер:

javascript
// Робота з DOM document.body.innerHTML = '<h1>Hello from Browser!</h1>';

Короткий підсумок

КритерійNode.jsБраузер
Середовище виконанняСерверКлієнт
DOM / UIНемаєЄ
Доступ до файлової системиТакНемає
БезпекаМенш обмеженийІзольований
Основне завданняСерверна логіка, APIВідображення інтерфейсу, UX

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.