Что такое Node.js?
Согласно википедии
Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения.
Но чем же на самом деле является Node.js?
На данный момент Node.js это уже целая экосистема, для разработки приложений на языке JavaScript, включающая в себя не только сам язык, но и множество других неотъемлемых компонентов (среда выполнения, репозиторий) без которых невозможно его существование.
Откуда Node вообще взялся?
Node появился в 2009 году благодаря Райану Далу после двух лет экспериментирования над созданием серверных веб-компонентов. До этого в серверах царил подход «один поток на каждое соединение», а Дал придумал использовать систему, которая ориентирована на события. То есть реагирует на действие или бездействие и выделяет под это ресурс.
Главная цель Node — построение масштабируемых сетевых серверов.
Что можно написать на Node.js?
Практически любую полноценную программу для веба, Linux, OS X и Windows.
Так-же Node — это родной дом всего «интернета вещей» (Internet of Things, IoT). Термостаты, фитнес-трекеры — всё это можно запрограммировать через Node.
Node удобен для создания API — уже существуют удобные библиотеки вроде Loopback.
На этом языке можно писать кроссплатформенные приложения — в связке мобильный + десктоп Node помогает достигать синхронности. Например, когда вы пишете сообщение с телефона, оно сразу же появляется и на ноутбуке, и в вебе.
Событийная модель
События – это все, что произошло в нашем приложении, и на что мы можем ответить.
В Node есть два типа событий:
- Системные события: ядро C ++ из библиотеки libuv. (Например, окончание чтение файла).
- Пользовательские события: ядро JavaScript.
Среда исполнения
V8 ускоряет JavaScript, используя C ++
V8 – движок с открытым исходным кодом, написанный на C ++.
JavaScript -> V8 (C ++) -> машинный код
V8 реализует сценарий ECMAScript, как указано в ECMA-262. ECMAScript был создан Ecma International для стандартизации JavaScript.
V8 может работать автономно или может быть встроен в любое приложение C ++. Благодаря этому, вы можете написать свой собственный код на C ++, и сделать его доступным для JavaScript.
Репозитории
Npm - это библиотеки, построенные сообществом. Они решат большинство часто встречающихся проблем. npm (менеджер пакетов Node) содержит пакеты, которые вы можете использовать в своих приложениях, чтобы сделать вашу разработку более быстрой и эффективной.
Так же вы можете использовать и свои собственные репозитории, либо воспользоваться приватными репозиториями от NPM.
Node в крупных компаниях
- PayPal. ...
- LinkedIn. ...
- Yahoo! ...
- Wall Street Journal Online. ...
- MEDIUM. ...
- Groupon.
И это далеко не полный список..
Стоит ли изучать Node.js сейчас?
Однозначно стоит!
Но перед тем, как осваивать Node, нужно освоить JavaScript и в общих чертах понимать, как устроен клиент и сервер. Node — платформа для full-stack программистов, то есть для тех, кто может сделать приложение сам, а не специализируется на какой-то его части.
И не стоит беспокоиться о развитии самой платформы, так как она поддерживается гигантами рынка и сообществом вцелом, а популярность платформы только растет!
Хорошего вам программирования!