Главное Свежее Вакансии Образование
Выбор редакции:
2 837 5 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Подъём Node.js – и почему он будет лидировать в разработке корпоративного ПО

Появившийся несколько лет назад Node.js вызвал небывалый ажиотаж в среде разработчиков. Сегодня он продолжает развиваться и оставаться одним из самых востребованных на рынке.

В связи с этим, а также недавним релизом Node.js 5.1.0. предлагаем вам наш перевод статьи о преимуществах Node и причинах его стремительного развития.

Онованный на JavaScript язык программирования Node.js внезапно стал очень популярным среди разработчиков мобильных приложений – и пока не даёт повода думать, что он скоро уйдёт.

b_5652d32af20b6.jpg

Количество модулей 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-модулей.

b_5652d343d64fd.jpg

В сентябре 2015 года центральный репозиторий npm.js преодолел рубеж в 2 миллиарда загрузок.

На раннем этапе развития Node.js его начали использовать такие компании, как Netflix, Walmart, PayPal, Dow Jones и Groupon. Они создавали внутренние команды, которые использовали Node, применяя подход «разделяй и властвуй»: разбивая то, что раньше было скорее “монолитным” подходом к созданию веб-сервисов. Это позволило им быстро разрабатывать и обновлять решения для тех или иных областей бизнеса и немедленно разворачивать микросервисы на продакшене.

Node.js становится мейнстримом

Node.js особенно хорошо подходит компаниям, имеющим веб-инфраструктуру и мобильные приложения, в бэкенд которых надо оперативно вносить нововведения, используя архитектуру, построенную на микросервисах. Сюда входят организации, которые могут показаться консервативными, но сталкиваются с необходимостью разрабатывать приложения, соответствующие стремительным изменениям в мире бизнеса, сохраняя при этом стабильность и безопасность существующих систем.

Эти двойные требования заставили IT-команды изменить образ мышления. Практически всем компаниям пришлось искать способы оперативно отвечать на запросы к ПО для бизнеса, поддерживая при этом текущий legacy-код, который изменяется заметно реже. Node.js – один из инструментов для команд, разрабатывающих системы взаимодействия, такие, как мобильные решения.

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-проблем с командой разработчиков, которая мотивирована их решать и вооружена высокоскоростным набором инструментов.

b_5652d3578e2b1.jpg

Будущее 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

+7
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Adtracker
Сервис мониторинга и аналитики объявлений контекстной рекламы (не ключевых слов)
helloworld 21087
Язык программирования? 0_о
Ответить
Noveo
Прогрессивная и квалифицированная IT‑компания
Евгений Власенко
Спасибо, исправил.
Ответить
Антоха Алфимов
Сам использую в работе Node.JS - крутая вещь.
Но когда статья не имеет критической оценки, то ценность текста стремится к нулю. Этот текст слишком нахваливает инструмент, не прибегая к конкретике, так можно нахваливать любой инструмент. Сейчас наивные менеджеры почитают и побегут использовать Node где ни попадя. А если ещё и про MEAN full-stack узнают - быть беде.
Ответить
Калинов Руслан
>Что стало причиной такой популярности среди enterprise-разработчиков
Эмм... Откуда мнение, что node.js популярен среди "enterprise-разработчиков"? Пока виден интерес только среди opensource и стартап-разработчиков. Покажете enterprise-системы, написанные на node.js?

>Это ключевая часть гибкого и лёгкого метода работы с Node.js.
Которая есть в подавляющем большинстве других языков.

>На раннем этапе развития Node.js его начали использовать такие компании, как Netflix, Walmart, PayPal, Dow Jones и Groupon.
Про данные компании не знаю, но многие другие, использовавшие node.js, начали переходить на go/rust/erlang. Например, vk.com (http://habrahabr.ru/post/265731/).

В целом пост какой-то маркетинговый. Перечитал 2 раза - так и не понял, для чего enterprise-у node.js. Абсолютно все, что написано, реализовано почти во всех современных языках. А если сравнить хотя-бы по качеству кода модули для node.js и, например, go/rust - первый окажется в аутсайдерах (уж слишком много г..на встречается).
Ответить
152ФЗ.РФ
Виджет защиты сайта по 152ФЗ
Марк Тлен
Функциональность, не функционал
Ответить
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.