Node или NodeJS — платформа, основанная на движке V8, превращающая JavaScript в язык общего назначения.

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

Мы очень редко используем возможности NodeJS для бэкенд-разработки, так как сознательно предпочитаем разрабатывать эту часть веб-приложений на Ruby on Rails. Но активно используем NodeJS в разработке десктопных приложений и для упрощения работы с фронтендом.

JavaScript (JS) — язык программирования, который наиболее широко JS используется в браузерах как язык сценариев для придания интерактивности веб-страницам.

Также JS может использоваться для бэкенд-разработки, для разработки мобильных приложений и для других задач. В языке отсутствуют стандартная библиотека, стандартные интерфейсы к веб-серверам и базам данных, а также нет встроенной системы управления пакетами. Но всё это решается подключением сторонних библиотек и использованием дополнительного ПО.

Узнать больше →

Node Package Manager (npm) — менеджер пакетов, входящий в состав Node.js.

Инфраструктура пакетного менеджера состоит из консольного клиента (npm) и доступной онлайн базы данных публичных и приватных пакетов — npm registry. Клиент позволяет скачивать пакеты из реестра и устанавливать их. Для хранения списка используемых в проекте пакетов используется файл package.json

Узнать больше →

Yarn — это альтернативный npm-клиент для работы в качестве пакетного менеджера JavaScript.

Этот менеджер пакетов ускоряет сборку пакетов и делает её более безопасной. Yarn поддерживает параллельную установку, что обычно в несколько раз быстрее, а также позволяет точно зафиксировать версии зависимостей в файле yarn.lock

Узнать больше →

Тематические технологии:

Библиотека React
Библиотека MobX
Библиотека MobX State Tree
Система сборки WebPack
Язык разметки HTML
CSS — каскадные таблицы стилей
SASS
Websockets

Cтатьи по теме:

Все технологии фронтенд-разработки: язык разметки HTML, таблицы стилей CSS и язык программирования JavaScript
Содержание и внешний вид каждой страницы сайта определяется HTML-кодом и содержанием таблицы стилей CSS, а поведение интерфейса — скриптами JavaScript.
Увеличиваем скорость работы сайта при помощи оптимизации JavaScript
Сайт может работать быстрее, если выполнены следующие рекомендации по оптимизации JS-кода. Если же этого не сделать, то сайт будет недостаточно быстро отображаться на стороне клиента.
Чек-лист проверки фронтенда
По данному списку можно проверить фронтенд сайта или веб-приложения для выявления и последующего исправления ошибок или недочётов.
Ajax-навигация Turboliks & Wiselinks
Увеличить отзывчивость интерфейса и снизить нагрузку на сервер можно при помощи Ajax-навигации: если не перезагружать страницу целиком, а обновлять только содержание или отдельные фрагменты, то скорость работы сайта или приложения существенно возрастёт.
History API и HASH-навигация на Ajax-сайтах
Загрузка контента при помощи Ajax и навигация, построенная на этой схеме, позволяют значительно повысить отзывчивость интерфейса разрабатываемого сайта или веб-приложения. Однако такой подход заставляет решать проблемы, связанные с отображением адреса в браузере.
Ленивая загрузка или загрузка по требованию на клиентской части
Бывает так, что некоторое содержание страницы нужно не всем или не всегда, но на генерацию этого материала или для его передачи тратится много ресурсов. В этом случае имеет смысл сделать загрузку «ленивой», то есть не генерировать и не загружать в браузер информацию до тех пор, пока она не понадобится.
Валидность и семантичность HTML
Валидность и семантичность HTML кода определяет качество сайта с точки зрения поисковых систем.