Node.js Digest #3: Bun 1.0, підтримка .env у Node.js, новини від Google, анонси від Deno, State of Serverless

💡 Усі статті, обговорення, новини про Front-end — в одному місці. Приєднуйтесь до Front-end спільноти!

Усім привіт, мене звати Олександр Зіневич, я працюю Engineering Director (Node.js, Ruby) в компанії Avenga.
Зустрічайте новий Node.js digest за серпень, і трішки вересня (бо у серпні було дуже скупо із новинами 😉).

Коротко про головне

🔹Prisma 5.2 — оновлення до однієї з найпопулярніших сьогодні ORM. Основні імпрувменти стосуються того як Prisma Client працює з Prisma Accelerate та Prisma Data Proxy;

🔹Deno KV in open beta — команда Deno продовжує розвивати свій продукт і цього разу в бету вийшов функціонал, про який Ryan Dahl згадував на весняному Node.js Congress;

🔹TypeScript 5.2 — нарешті розробниками дали такі очікувані using-и та інші вже анонсовані покращення;

🔹Turbo відмовляються від TypeScript;

🔹Deno Deploy анонсували підтримку npm.

Оновлення Node.js

4 вересня у світ вийшла нова версія Node.js v20.6.0. Основною кіллер фічею цього релізу є вбудована підтримка .env файлів. Як це відбувалось, можете глянути у цьому PR. Є великі сумніви наскільки цей вбудований функціонал зможе замінити наш улюблений dotenv пакет, це покажуть лише час та наступні версії Node.js. Як завжди, у цьому релізі є багато інших покращень та виправлень з повним списком яких можна ознайомитись тут.

Якщо ж ви користуєтесь старішими версіями Node.js, то нагадуємо, що з 11 вересня Node.js v16 переходить в EOL, тому саме час подумати про перехід на новішу версію.

7 вересня — це день офіційного релізу Bun 1.0. Для тих, хто не в курсі, Bun — це ще один убивця Node.js. Тривалий час Bun тестувався спільнотою і ось, нарешті, світ побачила версія 1.0. У зв’язку з такою подією розробники навіть святково-рекламний відосик записали, де розповідають чим Bun кращий за Node.js і що дається з коробки:

Bun 1.0 is here

Тут нам дають і продуктивність вищу у десятки разів, і підтримку Typescript з коробки, hot-reloading, backward compatibility з Node.js і купу всього іншого. Виглядає звісно цікаво, але після того, як ви подивились за літаючою з кадру у кадр булочкою, рекомендую почитати відповідний тред на YCombinator . Нижче наведу приклад одного з моїх улюблених коментарів:

Звісно, Bun.js має ряд переваг над Node.js, якщо вірити демо та бенчмаркам, але чи настільки все добре на реальних проектах, покажуть фідбеки спільноти та час.

npm under attack! (знову)

Серпень, як і все літо, був важким для npm-у. Знову атакують і знову схожим способом, про який ми вже згадували у попередньому дайджесті.

У своєму блозі команда Phylum розповіла про нову атаку, яку вони зловили та дослідили у серпні. З одного боку, все як завжди: підозрілий npm пакет, що містить підозрілий код. Цікавим є те, що цього разу шкідливий код запускає демон процес, що кожних 45 секунд робить запит на сторонній сервер і виконує отриманий пейлоад. Це дає змогу зловмисникам точково та цілеспрямовано відправляти правильні пейлоади на відповідні хости, для досягнення своїх ворожих цілей. Детальніше звіт про цю атаку можна почитати ось тут.

Від себе нагадаємо, аби ви були обачними із залежностями на проектах та дуже обережно приймали рішення стосовно npm пакетів, які ви обираєте для встановлення та роботи, адже кожна атака такого типу, починається саме з встановлення неправильного пакета 😉

Google’s Project IDX

Компанія Google продовжує свої експерименти у напрямку розробки мультиплатформенних додатків. Цього разу нам презентують нове браузерне середовище розробки — Project IDX.

По своїй суті, це такий собі VS Code у браузері, у якому можна працювати з Javascript/Typescript проектами (React, Angular, Next), із вбудованим автокомплітом коду та чат-ботом, які працюють на розроблених у компанії Google моделях. Додатково з коробки підтримується розгортання вашого додатка на Firebase. На цьому етапі проект перебуває у превʼю фазі, лише на самому початку розробки, а тому я би точно не сказав, що це вбивця VS Code чи будь-якого вашого улюбленого середовища розробки. Проте, нам обіцяють багато нових фіч, серед яких підтримка Go та Python, а також вбудований емулятор Android та iOS, а це вже може бути цікавим 🤔

На момент написання дайджесту, доступ можна було отримати лише через список очікування, тому хто хотів би спробувати, реєструйтесь і очікуйте свого запрошення.

Почитати більше про цей проект можна за лінком, а тут можна подивитись:

Project IDX: Full-stack application development with generative AI

State of Serverless

Компанія Datadog опублікувала свій звіт про те, як їхні клієнти використовують Serverless підхід на своїх проектах та для вирішення різних потреб. З цього звіту можна побачити, що Serverless підхід стає все популярнішим у більшості респондентів. Для Node.js спільноти ж буде дуже приємним той факт, що Node.js — найпопулярніша мова, що використовується для написання Serverless коду:

А також, холодний старт Lambda функцій на Node.js майже такий самий, як і на Python:

Щось подивитись

🎬 Нове відео від Віктора Турського про те, як працює інтернет. Цього разу Віктор розповідає про DNS і яку функцію виконує:

🎬 Juri Strumpflohner, Sr. Director of Developer Experience в Nx, та Lukas Holzer, Staff Engineer з компанії Netlify, розмовляють про те, як ефективно використовувати monorepo підхід разом з платформою Netlify

🎬 На каналі Serverless Land вийшло кілька цікавих стрімів які варті уваги:

— Harold Sun розповідає про те, як можна використовувати Lambda Web Adapter, щоб запускати веб застосунки на AWS Lambda:

— Архітекти Giedrius Praspaliauskas та Luca Mezzalira зібрались, аби провести невеличкий воркшоп по патернах, які вартує використовувати в роботі з Serverless архітектурою:

🎬 Далеко не всім буде до вподоби працювати у такому середовищі, але якщо ви б хотіли працювати у Vim і мати можливість підлаштувати його під свої потреби, то це відео саме для вас:

Щось почитати

Node.js reference architecture by Red Hat наприкінці липня отримала оновлення у вигляді розділу про Transaction Handling. Цей та інші наявні розділи будуть точно цікаві для ознайомлення тим, хто цікавиться архітектурою.

У кінці серпня відбулась величезна конференція Google Cloud Next 2023, де розповідали про нові продукти та ініціативи платформи. Тут можна переглянути підсумок всього, що нам презентували на конференції. Готуйтесь до того, що штучного інтелекту багато не буває, а тому на 161 анонс буде 138 згадувань AI 🥲

Розробники Deno продовжують демонструвати, як їх середовище розвʼязує типові проблеми, з якими щодня стикаються Node.js розробники. Цього разу мова йде про конфігураційне пекло.

Ну і раз ми у цьому дайджесті вже згадали про різні середовища виконання Javascript, то у блозі компанії Snyk вийшла стаття, де порівнюють якраз Node.js, Bun і Deno.

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

Розповідь про те, як завантажити CSV файл на 1 мільйон записів за 10 секунд.

Бібліотека місяця

Opossum — імплементація CircuitBreaker патерну для Node.js, отримала у серпні нову версію з всілякими покращеннями. Хто не знає що це за патерн, то є детальна стаття від Martin Fowler, а хто не хоче читати, є відео: Node.js Circuit Breaker with Prometheus Metrics

На цьому все, лишайте коментарі та пишіть про що було би цікаво почитати у наступних дайджестах 🙃

👍ПодобаєтьсяСподобалось13
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Ну єрунда про колдстарти лямб на java, бо є snapstart і graal

Підписатись на коментарі