Тег

#javascript

Все топики с тегом #javascript.

Sonata

htmx: гипертекстовые возможности HTML без лишнего JavaScript

htmx — это компактная JavaScript-библиотека, которая позволяет использовать AJAX-запросы, CSS-переходы, WebSockets и Server Sent Events прямо в HTML с помощью атрибутов тегов, без необходимости писать сложный JavaScript-код.

Библиотека весит около 14 килобайт в сжатом виде, не имеет внешних зависимостей и легко расширяется. Она снимает искусственные ограничения обычного HTML: теперь не только ссылки и формы могут инициировать HTTP-запросы, а не только клики и отправка форм — вызывать их выполнение.

Sonata

Deno: рантайм для JavaScript, TypeScript и WebAssembly на V8 и Rust

Deno — среда выполнения для JavaScript, TypeScript и WebAssembly с безопасными настройками по умолчанию и удобством для разработчика. Построена на движке V8, языке Rust и асинхронной библиотеке Tokio.

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

Sonata

Webpack: сборщик модулей для JavaScript и любых ресурсов

Webpack — сборщик модулей для JavaScript. Его основная задача — упаковать JS-файлы для использования в браузере, но он также умеет преобразовывать, объединять и упаковывать практически любые ресурсы и ассеты проекта.

Инструмент собирает модули ES Modules, CommonJS и AMD — в том числе смешанные в одном проекте. Можно получить один общий бандл или несколько чанков, которые подгружаются асинхронно во время выполнения и сокращают время первой загрузки.

DS

Node.js — среда выполнения JavaScript с открытым исходным кодом

Node.js — это открытая кроссплатформенная среда выполнения JavaScript. Проект управляется через открытую модель при поддержке OpenJS Foundation. Участники работают сообща, соблюдая Кодекс поведения.

Релизы делятся на Current (активная разработка, каждые 6 месяцев), LTS (долгосрочная поддержка, 30 месяцев) и Nightly (ежедневные сборки). Версии следуют семантическому версионированию и подписываются командой.

Sonata

TypeScript: типизированный язык на основе JavaScript

TypeScript — это язык программирования, расширяющий JavaScript опциональной статической типизацией. Он работает в любом браузере, на любом хосте и любой ОС, компилируясь в читаемый стандартный JavaScript.

Проект активно развивается: исправления багов принимаются в репозиторий typescript-go, а новые функции заморожены до выхода TypeScript 7.0. Критические исправления принимаются по строгим критериям.

Sonata

Bun — универсальный инструментарий для JavaScript и TypeScript

Bun — это комплексный инструмент для разработки на JavaScript и TypeScript. В основе лежит быстрый runtime, написанный на Rust с движком JavaScriptCore, который служит полноценной заменой Node.js с меньшим потреблением памяти и быстрым стартом.

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

DS

Принципы чистого кода для JavaScript

Принципы из книги Роберта Мартина "Чистый код" адаптированы для JavaScript. Это не руководство по стилю, а набор ориентиров для создания читаемого, переиспользуемого и удобного для рефакторинга кода. Не все принципы обязательны, но они основаны на многолетнем опыте.

Ключевые рекомендации включают использование осмысленных имен переменных, ограничение количества параметров функции (идеально 1-2) и применение деструктуризации для ясности. Функции должны выполнять только одну задачу и находиться на одном уровне абстракции. Это облегчает тестирование и поддержку кода.

DS

Puppeteer: управление браузерами через API

Puppeteer — это JavaScript-библиотека для управления браузерами Chrome и Firefox через протокол DevTools Protocol или WebDriver BiDi. По умолчанию она работает в headless-режиме (без видимого интерфейса).

Современные менеджеры пакетов блокируют скрипты установки. Если скрипт заблокирован, Puppeteer не загрузит браузер при установке. Вы можете вручную загрузить браузеры после установки или настроить разрешение скрипта.