Прежде всего, производительность. При использовании кажется, что производительность node.js не так хороша, как ожидалось. Использование памяти примерно на том же уровне, что и Ruby, и это больше, чем Python и PHP. С точки зрения вычислительной производительности (то есть использования ЦП), чистые вычисления не имеют большого преимущества, но поскольку он может хорошо контролировать асинхронный процесс, общая производительность намного лучше, чем PHP. Я лично думаю, что node.js обладает большим потенциалом в производительности, потому что есть много крупных проектов, которые стремятся повысить производительность виртуальных машин JavaScript, таких как основные браузеры; В то же время JavaScript - это язык с простым синтаксисом и открытым стандартом. В отличие от Python и PHP, трудно выполнить крупномасштабные реконструкции для повышения производительности из-за соображений совместимости.
Тогда есть менеджер пакетов и библиотека. У node.js есть встроенный NPM, потому что NPM является очень простым в использовании менеджера пакетов, потому что JavaScript имеет низкий порог письма, а у JavaScript есть много отличных библиотек, которые были перенесены в конец, так что на NPM есть больше пакетов, чем PYPI и Rubygems, а затем далекие Peer и Composer. Разница от PHP в разработке Node.js заключается в том, что каждый не боится добавлять зависимости. Каждое небольшое требование идет в NPM, чтобы найти существующие библиотеки для реализации - и его часто можно найти. Следовательно, разработка node.js в основном связана с объединением зависимостей, а затем имеет тенденцию писать библиотеку, даже если она невелика, что больше похоже на идею Unix. С другой стороны, сообщество Node.js очень дружелюбно с открытым исходным кодом. Дружелюбие здесь означает, что большинство библиотек открыто разрабатываются на GitHub и используют очень свободные протоколы, такие как MIT, что не так «агрессивно», как GPL.
В сообществе большинство приложений node.js все еще находятся на бэкэнге, а библиотеки, связанные с бэкэндом, в основном сделаны несколькими большими снимками. Например, Express, JSHTTP, Jade, Mocha и KOA были разработаны четырьмя или пятью людьми во главе с TJ Masters, что является интересным явлением. - Хотя TJ God наконец решил исчезнуть из сообщества Node.js.
Toolchain, node.js является относительно молодым, и за последние два года появилось много полезных инструментов, таких как предварительные диалекты, модульные тесты и имитационные тесты, строительные инструменты и т. Д.; Я не смею говорить, насколько это хорошо, но это намного лучше, чем PHP. Что касается причины, во-первых, это в значительной степени потому, что эти библиотеки являются как передовым, так и в конце концов, из-за жестких требований веб-фронта, которые, кстати, приносят пользу Node.js; Затем из -за гибкого и простого синтаксиса JavaScript эти инструменты могут быть реализованы некоторыми очень умными и элегантными способами. Что касается IDE, он по -прежнему выигрывает от веб -фронта, и есть все еще доступные IDE - хотя сам язык JavaScript не очень благоприятен для статического анализа.
Синтаксис, я хотел бы подчеркнуть простой и гибкий синтаксис JavaScript. Важным моментом является то, что JSON, JSON, является почти самым распространенным форматом данных в веб -области в настоящее время, и JavaScript имеет собственную поддержку JSON! Все структуры данных в JavaScript расширяются вокруг суперсета JSON, объекта, включая массивы, функции, объекты и классы. Конечно, это также доставляет проблемы, потому что существует мало ограничений на написание, что приводит к тому, что не знает, как писать. Когда вы впервые начнете учиться, вы неизбежно рефактируете его, чтобы понять преимущества и недостатки различных моделей дизайна в разных ситуациях и найти способ написать их, которые вам подходят и подходят для конкретных проектов. Следовательно, можно сказать, что Node.js легко начать, но создание крупномасштабных проектов по-прежнему является испытанием навыков разработчиков. Из-за исторических вопросов синтаксис JavaScript не красив, но, к счастью, у нас есть различные предварительно скомпилированные диалекты, такие как сценарий кофе, типография, DART, Livescript и Clojurescript. Всегда есть тот, который вам подходит.
Используйте сценарии, JavaScript - это общий язык программирования, поэтому нет необходимости упоминать передние и задние концы сети, давайте посмотрим на другие аспекты. Я лично думаю, что node.js по -прежнему очень подходит для написания инструментов сервера или инструментов эксплуатации и обслуживания, потому что многие ситуации в эксплуатации и техническом обслуживании могут работать асинхронно, а JavaScript имеет относительно хорошую регулярную поддержку, поэтому не является большой проблемой для замены Bash и Python; Node.js должен только установить интерпретатор и может использоваться случайно, не опасаясь избежать введения зависимостей. Для программирования настольных и мобильных устройств Node.js имеет Node-Webkit и различные другие оболочки. Хотя текущий опыт использования не очень хорош, он может значительно снизить затраты на разработку и легко кроссплатформы. Считается, что будущее также яркое.
Наконец, давайте поговорим об обучении Node.js. На мой взгляд, у Learning node.js есть два момента. Одним из них является уточнение «асинхронного ввода -вывода на основе обратных вызовов событий» node.js. Это самая другая точка между node.js и другими основными языками программирования. Затем второй шаг - взглянуть на 100 лучших библиотек на NPM. Нет необходимости смотреть внимательно. Просто познакомитесь с этим и знайте, что делает каждая библиотека. После завершения этих двух шагов, поздравляю, вы уже являетесь разработчиком Node.js.