История JavaScript и Node.JS
Javascript (1995–2009 апрель) был создан как клиентский язык. Он мог обрабатывать только внешнюю логику. Javascript не может взаимодействовать с сервером.
Но Javascript не мог сделать:
- Запрос в базу данных
- Обработка запроса и ответа на стороне сервера.
- Чтение/запись файла на сервере.
- операции на стороне сервера.
Райан Даль (в мае 2009 г.) создал волшебную вещь, которую теперь мы называем node.js.
Затем ему пришла в голову идея использовать JavaScript в бэкенде.
Теперь Javascript может делать
- Запрос в базу данных
- Обработка запроса и ответа на стороне сервера
- Чтение/запись файлов на сервере
- Работа на стороне сервера
Итак, что такое node.js?
Node.js — это среда выполнения javascript на стороне сервера. Не язык программирования.
Node.js = среда выполнения + библиотека Javascript
JS-узел —
- Открытый источник
- Кроссплатформенность
- Среда выполнения JS
- Позволяет выполнять сценарии на стороне сервера
- Однопоточный, неблокирующий
- Возможность асинхронного ввода/вывода
- Имеет событийно-ориентированную архитектуру
JS-узел —
- Бесплатно
- Использует Javascript на сервере
- Серверная среда с открытым исходным кодом
- Работает на различных платформах (Windows, Linux, UNIX, Mac OS X и т. д.)
Некоторые из функций node.js —
- Очень быстро
- Нет буферизации
- Асинхронный и управляемый событиями
- Однопоточный, но хорошо масштабируемый
Какие компании используют node.js?
- eBay
- Дженерал Электрик
- GoDaddy
- Майкрософт
- PayPal
- Убер
- Википины
- Яху!
Вы смотрите фильм на? Нетфликс. Ну, это также использует NodeJS :)
Где использовать?
- Приложения, привязанные к вводу-выводу
- Приложения для потоковой передачи данных
- Приложения реального времени с интенсивным использованием данных (DIRT)
- Приложения на основе JSON API
- Одностраничные приложения
Зачем нам изучать node.js, когда существует так много альтернатив (java, python, c# и т. д.), таких как Node.js для серверных сайтов?
Google говорит, что они используют node.js и express.js как лучшие бэкенды для своего фреймворка React Selected.