Что такое Node.js и зачем его учить

29 июля в «Нетологии» стартует курс «Node, Angular и MongoDB: разработка полноценных веб-приложений». Сегодня рассказываем, зачем нужен язык Node.js и почему его стоит выучить прямо сейчас.

Что такое Node.js?

Node.js (или просто Node) — это серверная платформа для работы с JavaScript через движок V8. JavaScript выполняет действие на стороне клиента, а Node — на сервере. С помощью Node можно писать полноценные приложения. Node умеет работать с внешними библиотеками, вызывать команды из кода на JavaScript и выполнять роль веб-сервера.

В чём преимущество Node?

C Node проще масштабироваться. При одновременном подключении к серверу тысяч пользователей Node работает асинхронно, то есть ставит приоритеты и распределяет ресурсы грамотнее. Java же, например, выделяет на каждое подключение отдельный поток.

Откуда Node вообще взялся?

Node появился в 2009 году благодаря Райану Далу. До этого в серверах царил подход «один поток на каждое соединение», а Дал придумал использовать систему, которая ориентирована на события. То есть реагирует на действие или бездействие и выделяет под это ресурс. Главная цель Node — построение масштабируемых сетевых серверов.

Кто-то из крупных компаний использует Node?

Конечно, вот неполный список:

big-brands.png.pagespeed.ce.Q2vvECIiCx.png
Источник: strongloop.com

eBay постепенно переходит на Node, как и веб-версия PayPal. В LinkedIn ещё в 2012 году переехали с Ruby On Rails на Node и сразу ощутили преимущества этой платформы: 27 серверов показали 20-кратное увеличение скорости работы.

Что я могу написать на Node?

Полноценную программу для веба, Linux, OS X и Windows.

А если подробнее?

Не вопрос. Node удобен для создания API — уже существуют удобные библиотеки вроде Loopback.

На этом языке можно писать кроссплатформенные приложения — в связке мобильный + десктоп Node помогает достигать синхронности. Например, когда вы пишете сообщение с телефона, оно сразу же появляется и на ноутбуке, и в вебе.

А что-нибудь модное Node умеет?

Конечно. Node — это родной дом всего «интернета вещей» (Internet of Things, IoT). Термостаты, фитнес-трекеры — всё это можно запрограммировать через Node.

Node случайно не умирающий язык программирования?

Совсем наоборот. Вот график интереса к Node с 2009 года в поиске Google:

Интерес к Node стремительно растёт и уже обходит по этому показателю Ruby и Objective-C.

Убедили, хочу выучить Node. Что для этого нужно знать?

Перед тем, как осваивать Node, нужно знать JavaScript и в общих чертах понимать, как устроен клиент и сервер. Node — язык для full-stack программистов, то есть для тех, кто может сделать приложение сам, а не специализируется на какой-то его части.

У «Нетологии» есть курсы по всем этим темам: «HTML-верстка: с нуля до первого макета» и «JavaScript-разработка: создаем интерактивные веб-страницы».

Альтернатива курсу по Node — «PHP/SQL: back-end разработка и базы данных».

На курсе «Node, Angular и MongoDB: разработка полноценных веб-приложений» 5 опытных программистов не просто прочитают лекции, а обучат, подскажут и помогут. Их цель — чтобы вы поняли и усвоили материал. На курсе проходят эти темы:

  • Back-end разработка на JavaScript с помощью Node.js.

  • NoSQL база данных MongoDB.

  • Angular — front-end фреймворк для построение динамических интерфейсов.

  • Библиотека Express.js для организации REST API.

  • Библиотека Socket.io для организации real-time коммуникации между back-end и front-end частями веб-приложения.

  • Автоматизированное тестирование веб-приложений и TDD (Test Driven Development, разработка через тестирование).

После прохождения курса вы сможете создать собственное SPA (single page application) и получите звание junior full-stack разработчиком.

Записаться на курс по Node

Полный текст статьи читайте на Нетология