Появившийся несколько лет назад язык программирования Node.js вызвал небывалый ажиотаж в среде разработчиков. Сегодня он продолжает развиваться и оставаться одним из самых востребованных на рынке.
В связи с этим, а также недавним релизом Node.js 5.1.0. предлагаем вам наш перевод статьи о преимуществах Node и причинах его стремительного развития.
Подъём Node.js – и почему он будет лидировать в разработке корпоративного ПО как минимум в течение ближайшей декады
Основанный на JavaScript язык программирования Node.js внезапно стал очень популярным среди разработчиков мобильных приложений – и пока не даёт повода думать, что он скоро уйдёт.
Количество модулей Node.js (и других JavaScript-библиотек), добавленных пользователями с 2010 года, превзошло весь репозиторий Perl CPAN, который заполнялся последние 20 лет.
Node.js появился после того, как Google выпустил релиз JavaScript движка V8, который задумывался как JavaScript-интерпретатор для браузера Google Chrome. Вскоре после открытия исходного кода V8 Райан Дал (Ryan Dahl), создатель Node.js, понял, что интерпретатор может быть использован для создания совершенно нового концепта серверного JavaScript.
Недавно рынок стал свидетелем приобретения нескольких пионеров Node.js, включая StrongLoop компанией IBM, FeedHenry компанией Red Hat и Modulus компанией Progress Software.
Эксперты в IT-индустрии отмечают, что скриптовый язык на основе JavaScript – обязательный инструмент для разработки и поставки приложений в современных компаниях.
Node.js продолжает развиваться с практически беспрецедентной скоростью. За последние пять лет разработчиками было добавлено более 190 000 модулей для Node.js (и других библиотек JavaScript). Это превышает весь репозиторий Perl CPAN, составлявшийся на протяжении 20 лет, и обходит Java Maven Central, несмотря на меньшее количество разработчиков Node.js.
Что стало причиной такой популярности среди enterprise-разработчиков, и могут ли директора по информационным технологиям быть уверенными, что Node.js будет активно использоваться в течение хотя бы десяти лет?
Экосистема поддержки модулей Node.js вокруг ядра пережила сильный рост. Сообщество Node много выиграло от существования менеджера пакетов Node (npmjs), предоставляющего центральный репозиторий общих модулей.
Это ключевая часть гибкого и лёгкого метода работы с Node.js. Он позволяет каждому приложению иметь необходимые модули в собственном дереве зависимостей. Таким образом, каждое приложение может иметь свой собственный набор модулей, что позволяет избежать конфликта зависимостей с другими приложениями.
Этот гибкий инструмент, основанный на Node.js с использованием сервиса npmjs.org, привёл к значительному росту количества общих модулей и к тому, что npmjs.org стал репозиторием не только для серверного Node.js, но и для клиентских JavaScript-модулей.
В сентябре 2015 года центральный репозиторий npm.js преодолел рубеж в 2 миллиарда загрузок.
На раннем этапе развития Node.js его начали использовать такие компании, как Netflix, Walmart, PayPal, Dow Jones и Groupon. Они создавали внутренние команды, которые использовали Node, применяя подход «разделяй и властвуй»: разбивая то, что раньше было скорее “монолитным” подходом к созданию веб-сервисов. Это позволило им быстро разрабатывать и обновлять решения для тех или иных областей бизнеса и немедленно разворачивать микросервисы на продакшене.
Node.js становится мейнстримом
Node.js особенно хорошо подходит компаниям, имеющим веб-инфраструктуру и мобильные приложения, в бэкенд которых надо оперативно вносить нововведения, используя архитектуру, построенную на микросервисах. Сюда входят организации, которые могут показаться консервативными, но сталкиваются с необходимостью разрабатывать приложения, соответствующие стремительным изменениям в мире бизнеса, сохраняя при этом стабильность и безопасность существующих систем.
Эти двойные требования заставили IT-команды изменить образ
Node.js часто хвалят за то, что он отвечает запросам корпораций и позволяет собирать приложения с API, которое может обращаться к серверной части и большим объёмам данных в лёгкой и эффективной манере. Действительно, концентрация на переиспользуемом RESTful API как более гибком способе построения архитектуры масштабных программных систем позволила Node.js найти своё место.
Node.js способен значительно сократить время разработки приложения, сохраняя при этом тот же функционал. Джон Оустерхаут (John K. Ousterhout), помогавший в разработке значимого скриптового языка и набора инструментов Tcl/Tk, ещё в 1990-х привёл аргумент о том, что скриптовые языки программирования по своей сути более продуктивны, нежели более тяжеловесные, такие, как С или С++.
По сравнению с более тяжёлыми стеками, разработка приложений с помощью Node.js происходит быстрее, и с развитием экосистемы Node только ускоряется. Это тот случай, когда стоит потратить время на поиск того, что уже есть в сообществе Node, и выяснить, можно ли переиспользовать какие-то из общих модулей.
В среде разработчиков к Node относятся очень благосклонно и уважают специалистов по этой технологии. Сплочённость разработчиков и их моральный дух поднимаются, если в IT-структуре организации есть команда, работающая с Node.js. Это воспринимается как интересная и по-настоящему классная возможность.
Node.js отлично подходит для приложений, построенных на архитектуре микросервисов, благодаря низкому потреблению ресурсов процессора, своей вычислительной мощности и эффективному использованию ОЗУ. Это преимущество особенно проявляется для задач, связанных скорее с операциями, затратными на ввод/вывод, нежели на использование процессора, так как реализация модели выполнения Node.js позволяет использовать “легкий” параллелизм, основанный на модели единого потока выполнения, которая не требует сложных техник параллельного программирования.
Благодаря сочетанию всего этого – образа мыслей программистов и различных технических преимуществ легкого подхода – компании получают новый подход к решению IT-проблем с командой разработчиков, которая мотивирована их решать и вооружена высокоскоростным набором инструментов.
Будущее Node
Даже наиболее консервативные части IT-сообщества теперь признают, что Node стремительно взрослеет. У него есть стабильное ядро с поддержкой обратной совместимости для большинства версий и возможность запускать на продакшене реальные решения в крупнейших корпорациях.
В прошлом месяце на NodeConf EU был анонсирован Node 4.0.0 и и довольно сжатый релиз-цикл. Первый релиз Node с длительным периодом поддержки (LTS) был назначен на октябрь с последующими релизами каждые 12 месяцев. Каждый LTS-релиз будет активно поддерживаться в течение 18 месяцев и после этого переходить в режим поддержки ещё на 12 месяцев.
От переводчика: Node.js действительно развивается очень активно: с момента публикации статьи (а это было 27 октября) вышло ещё два релиза – LTS релиз 4.2.2, и следом за ним «не LTS» 5.1.0.
Длительный план поддержки даёт enterprise-разработчикам чёткое представление о том, какую версию Node безопасно использовать для экспериментов, а какую – для развёртывания на продакшене. Кроме того, успокаивает, что Node.js Foundation имеет открытую модель управления.
Несмотря на то, что Node не стремится вытеснить другие языки программирования, он безусловно займет место среди инструментов для разработки корпоративного ПО в течение как минимум декады. Node уже показал себя многообещающим для разработки в области Интернета Вещей. Что же касается серверных решений для веб и мобильных приложений, Node по-прежнему силён.
Перевод: http://blog.noveogroup.ru/post/133579652417/
Оригинал: http://www.information-age.com/technology/applications-and-development/123460405/rise-nodejs-and-why-it-will-rule-enterprise-software-development-least-decade
Автор: mahnunchik