Узнайте, почему компании из списка Fortune 500 выбирают нас в качестве партнера по разработке программного обеспечения. Исследуйте наш портфель. Проверено более 2500 проектов. Есть идея проекта, чтобы поделиться с нами? Давай поговорим.
Узнайте, почему компании из списка Fortune 500 выбирают нас в качестве партнера по разработке программного обеспечения. Исследуйте наш портфель. Проверено более 2500 проектов. Есть идея проекта, чтобы поделиться с нами? Давай поговорим.
Nodejs 14

Node.js 14 улучшает функции для ускорения разработки приложений

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

Мы с большим удовольствием заявляем, что Node.js 14 был запущен 21 апреля 2020 года. Эта последняя версия предлагает несколько функций и улучшений, которые должны заинтересовать разработчиков, включая возможность хранения данных через онлайн-запрос и встроенную диагностическую отчетность.

В этом выпуске основные моменты включают обновление V8, улучшенную диагностику, модификации API Streams, экспериментальный API локального хранения Async, сокращение нескольких давно неодобренных API и сокращение предупреждения об экспериментальных модулях.

Node.js 14 заменил Node.js 13. Согласно графику выпуска, GitHubВ течение следующих шести месяцев Node.js 14 будет выпущен в октябре 2020 года и будет дополнительно продвигаться в LTS (Long-Term Support).

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

Особенности Node.js 14

Прежде чем углубляться в выделенные функции для этого релиза, вы должны отметить, что последние функции, добавленные к большому потоку, быстро попадают в настоящий запуск. Это означает, что основные функции становятся доступными в небольших релизах без многих демонстраций.

Давайте рассмотрим некоторые интересные особенности Node.js 14:

1.Экспериментальный API локального хранения Async

Разработчики Node.js Очень ценю эту особенность. Эксперимент высокого уровня AsyncLocal Хранение API упростит для приложений достижение постоянства, поскольку он не будет выставлять больше внутренних компонентов.

AsyncLocal Хранение Используется для создания асинхронного состояния внутри цепочек обещаний и обратных вызовов. Он позволяет хранить данные в течение всего срока действия онлайн-запроса. В других языках это то же самое, что хранилище потоков.

Хотя вы можете обнаружить другие модули npm, которые предлагают ту же производительность, использование различных пакетов было очень сложным. Из-за этого было определено, что API должен быть предоставлен.

2.Диагностический отчет обеспечивает стабильность

В Node.js 12 диагностический отчет был добавлен в качестве экспериментального признака, однако в Node.js 14 он будет запущен в качестве стабильного признака.

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

Эта функция позволяет создавать отчет по требованию или при возникновении конкретных событий. Этот отчет содержит полезные данные, помогающие диагностировать проблемы в разработке приложений, включая нежелательные ошибки, высокое использование процессора, утечки памяти, медленную функциональность, сбои и многое другое.

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

3. Экспериментальный интерфейс системы веб-сборки (WASI)

Это еще одно дополнение в выпуске Node.js 14. Web Assembly - это растущий подход, который позволяет коду приложения работать в нескольких средах без изменений. Экспериментальный интерфейс веб-сборки - это средство, которое позволяет WASI-коду получать доступ к ресурсам типа ОС, таким как сокеты и файловая система.

Разработчики, возможно, будут писать и экспериментировать с модулями WASI, которые имеют это требование. Как и другие функции, это требует достаточного использования, чтобы API были в надлежащей форме и могли поддерживаться.

4. Изменения в API потоков

Этот бюллетень включает в себя множество модификаций, помеченных как Semantic Versioning major в приложении Node.js Streams. Ожидается, что эти изменения увеличат постоянство API Streams для снижения поведения и неоднозначности в разных частях ядра Node.js.

Например, Net.Socket Поведение аналогично тому, как Интервью.Duplex и http.OutgoingMessage То же самое, что и stream.ritableЗаслуживает внимания изменение, которое в настоящее время самоуничтожение Опция по умолчанию является истинной, и она делает поток, называемый Уничтожить Всегда после завершения.

Хотя это невероятно, что эти основные изменения SemVer повлияют на многие приложения, поскольку они просто изменяют граничные случаи, если вы сильно зависите от потоков, вам следует лучше протестировать, в то время как Node.js 14 является последней версией, чтобы она была готова к тому, когда Node.js станет долгосрочной поддержкой в октябре 2020 года.

5. V8 Engine обновлен до версии 8.1

Новая версия JavaScript Engine принесет повышение производительности и несколько новых функций:

  • Intl.DateTimeFormat - Эта функция позволяет нумерация Система и календарь Варианты.
  • Intl.DisplayNames - Он предлагает постоянство переводов регионов, языков и имен дисплеев сценариев.
  • Нуллиш-уголь - Логический оператор возвращает правый операнд, когда левый операнд не определен или не является нулем.
  • Опциональная цепь – Он позволяет получить доступ к стоимости объекта, расположенного глубоко в цепи связанных вещей, без необходимости явного подтверждения каждой ссылки в цепи.

6. Удаление экспериментальных модулей

Несмотря на требование о включении экспериментальные модули В версии 13 флаг был уничтожен, а запуск модулей EcmaScript в Node.js все равно даст результат в качестве предупреждения: «Экспериментальное предупреждение: загрузчик модуля ESM является экспериментальным».

Это предупреждение больше не требуется в Node.js 14 при использовании ESM в Node.js. Тем не менее, применение ESM в Node.js остается экспериментальным. Согласно индексу стабильности, эта функция не подчиняется правилам SemVer.

Удаление или неответные совместимые изменения могут произойти в предстоящем выпуске.Пользователи должны быть бдительны при использовании этой функции в производственной среде.

Кроме того, обратите внимание, что приложение ESM в Node.js отличается от опыта разработчика, который у вас может быть. Максимальные рабочие процессы транспилирования поддерживают такие функции, как модули JSON или дополнительные расширения файлов, которые не поддерживают приложение ESM в Node.js.

Модули из транспилированных сред могут нуждаться в определенном уровне рефакторинга для работы в Node.JS. Следует отметить, что многие дизайнерские решения были созданы с 2 основными целями: Web-совместимость и Spec Compliance.

Считается, что настоящее приложение обеспечивает устойчивую модель для создания модулей ESM, которые создают путь к универсальному JavaScript. В Node.js приложение ESM все еще экспериментально, но считается, что оно будет стабильным в Node.js очень скоро. Искоренение предупреждения является большим шагом в этом направлении.

7.Минимальные платформы и новый компилятор

Node.js предлагает готовые двоичные файлы для нескольких платформ. Для каждого простого выпуска минимальные наборы инструментов измеряются и увеличиваются там, где это необходимо. Этот выпуск идет вместе со всеми двоичными файлами macOS для компиляции на macOS 10.15 (Catalina) с Xcode 11 для нотариального заверения пакета.

Поскольку двоичные файлы все еще составляются для помощи в достижении значительных целей компиляции для линий выпуска, не прогнозируется, что это плохо повлияет на пользователей Node.js на предыдущих версиях macOS. Минимальная целевая версия macOS была увеличена для Node.js 14 до macOS 10.13 (High Sierra).

Для Node.js 14 минимальный уровень GCC на платформах на базе Linux остается на уровне GCC 6; тем не менее, двоичные файлы могут быть сделаны или выпущены для нескольких платформ с GCC 8.

вынос

В течение следующих шести месяцев, хотя Node.js 14 находится на нынешнем этапе, он получит новейшие функции, которые вносят вклад в Node.js. Эта линия релиза подходит для следующих 6 месяцев для тестирования самых последних функций, проверки совместимости вашего проекта с последними обновлениями Node.js и предоставления обратной связи, чтобы этот релиз был готов перейти к долгосрочной поддержке в октябре 2020 года.

Нашел этот пост проницательным?Не забудьте поделиться им с вашей сетью!
  • facebbok
  • twitter
  • linkedin
  • pinterest
Rahul Gauswami

Рахул Гаусвами является лидером команды MindInventory и имеет опыт работы в PHP, Laravel, MYSQL, Postgres, GoLang, Node.js, ReactJS, Next.js, Microservices и WordPress.