img
img
09 июня 2022
09 июня 2022
5 мин
75

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

Node.js — платформа с открытым исходным кодом для работы с JavaScript.

img

JavaScript разработала компания Mozilla для интеграции клиент-браузерных скриптов. Этот язык программирования работал только в браузере пользователя, но в 2009 году появилась Node.js — платформа, позволяющая исполнять скрипты на сервере. 

Для чего нужна Node.js

Node.js написана на С++ и основана на движке V8, который используют в браузере Chrome. Это программа-интерпретатор: позволяет расширить области применения JavaScript.

Node.js подходит для разработки серверных и десктоп-приложений. Ее используют и чтобы создавать RTA — веб-приложения, которые откликаются на действия пользователя в реальном времени. А еще для SPA — одностраничных веб-приложений. Одно из основных преимуществ Node.js в том, что приложения можно запускать на любой операционной системе.

Но чаще Node.js используют, чтобы разработать backend-часть сайта. То есть ту, которую не видит пользователь, но благодаря которой работают кнопки и функции сайта. Платформу на бэкенде применяют Netflix, Uber, eBay, Trello и прочие известные сервисы и компании.

Чем отличается от PHP и Python

Node.js обгоняет PHP, но уступает Python в популярности. В арсенале Node.js — пакетный менеджер npm и большое количество готовых библиотек и фреймворков под типовые задачи. Но Node.js заточена скорее под веб-разработку. Позволяет создавать сложные веб-приложения, обрабатывающие большое количество запросов.

Сферы, в которых используют Python, не ограничиваются веб-разработкой. Его также применяют:

  • для машинного обучения;
  • создания CLI-приложений, скриптов автоматизации;
  • работы с анализом данных;
  • создания десктоп-приложений и игр. 

У Python тоже есть готовые библиотеки и фреймворки, которые можно найти и установить с помощью пакетного менеджера pip.

На PHP работает примерно одна треть всех сайтов в сети. На нём написали множество CMS — систем управления контентом. Например, WordPress или Joomla, которые часто используют в русскоязычном сегменте интернета. 

Его пакетный менеджер называют Composer. В нём тоже много различных библиотек и фреймворков, но меньше, чем у Node.js или Python.

Как установить

Процесс зависит от операционной системы. Чтобы установить на Windows, скачайте и запустите установочный пакет с официального сайта.

Чтобы установить на Linux или MacOS, воспользуйтесь встроенным в операционную систему менеджером пакетов:

brew — для MacOS;

apt — для Linux.

Или соберите исходники программного обеспечения node и npm самостоятельно.

Рассмотрим компиляцию Node.js из исходников в среде Debian — дистрибутив Linux. Вам потребуются компилятор make, пакет wget для скачивания файлов из командной строки:


# установите зависимости

sudo apt install make wget

 

# скачайте и распакуйте архив с исходниками

wget https://nodejs.org/dist/v16.15.0/node-v16.15.0.tar.gz

tar -xvf node-v16.15.0.tar.gz

 

# скомпилируйте программу

cd node-v16.15.0/

./configure

make

sudo make install

С чего начать изучать

В сети найдете видеоуроки, инструкции, переводы зарубежных материалов и русскоязычный контент. 

✅ На medium.com опубликовали хороший перевод книги Node Hero. Из первой главы узнаете, что такое Node.js, как установить ее на компьютер и как начать работать. Далее приступите к реальной разработке.

Что такое Node.js и как установить ее на компьютер

Найдете полезные подсказки

✅ На nodejsdev.ru сделали подробное руководство по Node.js. В нём — работа с модулями и файлами, события, потоки, шаблоны.

Работа с модулями и файлами, события, потоки, шаблоны

Малая часть руководства

✅ На Stepik лежат видеокурсы, нужно только начальное знание JavaScript. На практике познакомитесь со всеми концепциями Node.js и напишете несколько приложений. Например, простую CLI-утилиту прогноза погоды и архитектурно сложное API.

Как работает Node.js

Часть программы

✅ В телеграм-канале «Node.js — русскоговорящее сообщество» можно задать вопросы опытным разработчикам. 

Пример использования

Начните с простого Hello, World! Создайте файл example1.js со следующим содержимым:


console.log("Hello, World!");

Запустите его в терминале с помощью команды node example1.js:


node example1.js

Hello, World!

Сделайте сервер, который будет отвечать на запросы текстом Hello, World! Для этого создайте файл example2.js и напишите:


// Подключите библиотеку http

var http = require('http');

 

// создайте сервер

http

  .createServer(function (req, res) {

    // реализуйте функцию-обработчик

    res.writeHead(200, { 'Content-Type': 'text/html' });

    res.end("Hello, World!");

  }).listen(3000);

Запустите скрипт командой node example2.js и перейдите в браузере по адресу http://localhost:3000/. В окне увидите текст: Hello, World!

Если хотите отобразить заданный текст, улучшите пример до передачи текста в виде ключевого параметра адресной строки. Создайте файл example3.js, в нём напишите код:


// Кроме библиотеки http подключите библиотеку url, чтобы работать с параметрами

var http = require('http');

var url = require('url');

 

http

  .createServer(function (req, res) {

    var queryObject = url.parse(req.url, true).query; // парсите url, получите словарь параметров

    res.writeHead(200, { 'Content-Type': 'text/html' });

    res.end(queryObject['message']); // верните текст, полученный по ключу message

  })

  .listen(3000);

С помощью библиотеки url получите аргументы адресной строки в виде словаря, переданные после знака вопроса. И в теле запроса верните текст аргумента message.

Запустите скрипт (node example3.js) и в браузере перейдите по адресу http://localhost:3000/?message=Hello,%20Node.js!

Сколько платят Node.js-разработчикам

Зарплата специалиста зависит от профессионального уровня. Новичкам (джунам) на хедхантере в вакансиях указывают от 40 000 ₽ до 70 000 ₽. Разработчики среднего уровня (мидлы) получают от 100 000 ₽. Старшие спецы (сеньоры) — от 250 000 ₽.

 

Junior Backend-разработчик на Node.Js

 Middle backend-разработчик на Node.js

Senior Backend-разработчик на Node.js

Примеры вакансий на хедхантере

Сервис zarplan.com в апреле 2022 года проанализировал 673 вакансии и выделил среднюю зарплату: 238 511 ₽. При этом в десяти процентах предложений сумма была от 401 000 ₽.

Лидеры по уровню средней зарплаты — Москва, Казань, Калининград, Санкт-Петербург, Нижний Новгород.

Главное о Node.js

  • Node.js — программное обеспечение для JavaScript вне браузера — на сервере. 
  • Платформа превращает JavaScript в язык общего назначения, поэтому на Node.js можно писать любые компьютерные программы. Но в основном ее применяют для backend-разработки сайтов.
  • Изучают Node.js по переводам зарубежных книг, еще есть руководства и видеокурсы. Достаточно материалов для новичков, но нужны знания JavaScript. 
  • Средняя зарплата разработчика — 238 511 ₽. На нее влияют опыт и квалификация.
img
Подпишитесь на рассылку, чтобы Не упустить что-нибудь новое
Просто и понятно о том, как получить новую профессию


    Дадим нужные знания и поможем получить работу!
    Регистрируйтесь на курс и учитесь у экспертов-практиков.
    Профессия
    за 11 месяцев
    Java-разработчик
    • Даем знания и навыки, которые помогут найти высокооплачиваемую работу
    • Прикрепляем наставника: он ответит на любые вопросы
    • Много практики в среде коммерческой разработки
    • Всего 10 часов в неделю
    3 489 ₽/мес.
    Ещё по теме
    Что такое Agile

    Agile — это группа гибких методов, чтобы улучшать продукт.

    20 июня 2022
    4 мин
    5 причин освоить Python

    Это универсальный и перспективный язык, который подходит новичкам.

    Как отбирают кандидатов в IT-компаниях

    IT-рекрутер обращает внимание на то, как вы мыслите и рассуждаете.

    5 причин научиться программировать на Java

    Этот язык постоянно развивается, но остается стабильным, на нём кодят уже 27 лет.

    Как работать со словарями в Python

    Словарь создают с помощью ключевого слова dict, синтаксиса языка.

    Каково быть тестировщиком: 4 истории о боли и радости

    Рассказы тестировщиков: какие ошибки они замечают в обычной жизни.

    Что такое массивы в Java и как с ними работать

    Массив — это набор однотипных элементов, упорядоченных по номерам.

    Как написать тест-кейс

    Создавайте простые тест-кейсы и учитывайте интересы пользователя.

    06 июня 2022
    6 мин
    Мифы о программистах

    Есть стереотипы, что программисты — это мужчины, всемогущие хакеры и интроверты.

    17 мая 2022
    2 мин
    Код: что ты такое

    Код определяет внешний вид и внутреннюю логику программ, сайтов.

    17 мая 2022
    2 мин
    7 англоязычных подкастов для тех, кто хочет прокачаться в IT

    Про Python, frontend-разработку, мягкие навыки, работу над проектами.

    17 мая 2022
    3 мин
    6 ютуб-каналов для разработчиков

    Ответы на вопросы новичков, интервью успешных спецов, полезные советы.

    17 мая 2022
    2 мин
    Женщины в IT

    Достижения и цитаты шести героинь, которые не побоялись попробовать себя в IT.

    17 мая 2022
    2 мин
    Почему IT — сфера будущего

    Информационные технологии помогают бизнесу зарабатывать и упрощают жизнь.

    IT-компания — это не только Google

    Рассказываем про «Тинькофф», «Билайн» и другие компании.

    16 мая 2022
    2 мин
    Как составить и оформить баг-репорт

    Указывайте в отчете только одну ошибку, прикладывайте скрины, сообщения и коды.

    04 мая 2022
    6 мин
    Как работать со списками в Python

    Учимся добавлять и изменять элементы, объединять и копировать списки.

    02 мая 2022
    5 мин
    Цикл for в Java: что это, как с ним работать

    Конструкция, чтобы много раз выполнять один и тот же участок кода.

    Как работать с модулем JSON в Python

    JSON часто применяют, когда разрабатывают API и веб-приложения.

    25 апреля 2022
    9 мин
    Как IT-специалисту из России найти работу за рубежом в 2022 году

    Есть сервисы, платформы и телеграм-каналы с вакансиями по всему миру.

    21 апреля 2022
    6 мин
    Что такое HTML: основные теги

    С помощью HTML структурируют страницу на сайте, добавляют картинки, таблицы, списки.

    Как работает цикл for в Python

    Цикл for используют, когда количество повторов известно заранее.

    Комьюнити для разработчика

    Есть комьюнити на платформах, под эгидой компаний или самоорганизующиеся.

    07 апреля 2022
    6 мин
    Гайд: как определить, какое направление в IT тебе подходит

    Обязанности и зарплата аналитика, Python- и Java-разработчиков и не только.

    Правильное питание на удаленке. Почему это важно?

    Правильное питание — это не о жестких диетах и полном отказе от любимых продуктов.

    01 апреля 2022
    7 мин
    Как я нашла время на учебу, когда времени не было совсем

    Благодаря методу «круга-пирога» увидите свое время и возьмете его под контроль.

    9 причин, почему не получается внедрять полезные привычки

    Ищите мотивацию, хвалите себя, визуализируйте план и результат.

    Как больше успевать: зачем есть по одной лягушке в день и как справиться со слоном

    Лягушки — небольшие, но неприятные дела, слоны — долговременные задачи.

    Как поставить цель и не бросить на полпути

    Когда ставите цель, отталкивайтесь от проблемы и конкретизируйте решение.

    Кто такой менеджер проектов, чем занимается и как им стать

    Этот специалист контролирует все этапы проекта и приводит его к успеху.

    30 марта 2022
    8 мин
    Как не угробить здоровье на удаленке

    Советы всем удаленщикам — больше двигаться, делать зарядку, разминку для глаз.

    30 марта 2022
    9 мин
    Junior, Middle, Senior в разработке — кто есть кто и как перейти на уровень выше

    Junior зарабатывает от 40 000 ₽, Middle от 100 000 ₽, а Senior от 250 000 ₽ и выше.

    29 марта 2022
    12 мин
    Как банковская служащая в 32 года с нуля перешла в IT и в 40 открыла свою компанию по разработке онлайн-игр

    Совет от героини: сделайте первый шаг, дальше будет проще; учитесь и идите вперед.

    Пять приложений, чтобы не отвлекаться от учебы и работы

    Фишки и стоимость Forest, WaterDo, SleepTown, Alarmy, Pomodoro Timer Lite.

    29 марта 2022
    5 мин
    Язык SQL: что это такое и зачем он нужен

    SQL используют в банках, торговле, перевозках: везде, где много информации.

    29 марта 2022
    7 мин
    Как освоить c нуля IT-профессию и перейти на новую работу без опыта

    Сначала поставьте цель: выберите сферу и определите, кем видите себя через 10 лет.

    Словарь IT-сленга

    Термины разработки, Scrum, неформального общения, организационных процессов.

    29 марта 2022
    13 мин
    Подборка: 33 книги и подкаста для начинающих программистов

    Узнаете о работе программиста и поймете, как писать хороший код.

    28 марта 2022
    10 мин
    Хакнуть мозг: как современные знания помогают мозгу развиваться и учиться

    Мозг меняется всю жизнь. Мы можем на него влиять: изучать новое, развивать навыки.

    28 марта 2022
    8 мин
    Что такое CSS и как с ним работать

    С помощью CSS задают цвет, размеры, анимацию, адаптируют сайт под устройства.

    16 марта 2022
    9 мин
    css
    Как создать телеграм-бота на Python

    Python — самый популярный язык программирования в феврале 2022 года.

    16 марта 2022
    9 мин
    Какие профессии в IT подойдут гуманитарию

    Гуманитарию подойдут профессии тестировщика, веб-дизайнера и не только.

    15 марта 2022
    9 мин
    Frontend или backend: чем отличаются и какой вид разработки выбрать

    Фронтендер создает интерфейс продукта, бэкендер работает с серверной частью.

    15 марта 2022
    7 мин
    Кто такой Java-разработчик, чем занимается и как им стать

    Обязанности Java-разработчика — писать код, тестировать и улучшать его.

    15 марта 2022
    7 мин
    Что такое IT-сфера и почему она сейчас так популярна

    IT-отрасль привлекает удаленкой, карьерным ростом, высоким доходом.

    04 марта 2022
    7 мин
    it
    Как установить Python на компьютер и начать на нём писать

    Воспользуйтесь Google Colab, онлайн-интерпретаторами или скачайте Python.

    Postman: как пользоваться программой для тестирования API

    Бесплатный сервис позволяет писать тесты, поддерживает разные типы API.

    04 марта 2022
    6 мин
    api
    Google Colab: что это такое и как с ним работать

    Colab используют, чтобы создавать код на Python прямо в браузере.

    04 марта 2022
    4 мин
    Как перейти в разработчики из другой профессии

    Освоить новую профессию реально с нуля в любом возрасте, главное — мотивация.

    03 марта 2022
    8 мин
    Как помочь ребенку выбрать профессию

    Не выбирайте по принципу «чем проще, тем лучше» и уважайте желания ребенка.

    03 марта 2022
    7 мин
    Нужно ли высшее образование программисту: сравниваем все «за и «против»

    Важнее опыт и проекты в портфолио, но иногда высшее образование все-таки нужно.

    02 марта 2022
    5 мин
    Стоит ли переходить на удаленку: плюсы и минусы

    Сегодня удаленка доступна для разных сфер: ИТ, маркетинг, сервис, продажи.

    02 марта 2022
    6 мин
    Какой язык программирования выбрать новичку

    Выбирайте по уровню спроса у работодателей и направлению в программировании.

    24 февраля 2022
    7 мин
    Фильмы про программистов: лучшие фильмы и сериалы про компьютерных гениев

    20 фильмов и сериалов для тех, кому интересен мир информационных технологий.

    24 февраля 2022
    7 мин
    Фронтенд-разработчик: кто это такой и как им стать с нуля

    Frontend-разработчик создает внешнюю — пользовательскую часть веб-ресурса.

    24 февраля 2022
    8 мин
    Backend-разработчик: кто это такой и чем он занимается

    Backend-разработчик отвечает за внутреннюю — серверную сторону веб-ресурса.

    24 февраля 2022
    9 мин
    Что такое спринты в программировании и как их выполнять

    Спринты используют в долгих проектах и сложных продуктах.

    Как начать изучать Python

    Преимущества Python — понятный синтаксис и читаемость, готовые библиотеки.

    24 февраля 2022
    9 мин
    Jupyter Notebook: что это такое и как им пользоваться

    Jupyter-ноутбуки применяют для визуализации данных в big data и data science.

    24 февраля 2022
    7 мин
    Как развить soft skills

    Soft skills помогают развивать компетенции, осваивать новые тенденции в работе.

    24 февраля 2022
    11 мин
    Как начать изучать Java

    На Java разрабатывают всё: от приложений и ПО до технологий Big Data.

    kralbetbetturkeyikimislibahis1xbetm.infohipas.infohttps://www.wiibet.com/restbetcdn.com
    Вставить формулу как
    Блок
    Строка
    Дополнительные настройки
    Цвет формулы
    Цвет текста
    #333333
    Используйте LaTeX для набора формулы
    Предпросмотр
    \({}\)
    Формула не набрана
    Вставить