
JavaScript *
Прототипно-ориентированный язык программирования
Недооцененная альтернатива для HOC’ов и кастомных хуков в react и при чем здесь React.CloneElement?

При создании react-приложений часто появляется необходимость расширить функционал уже существующего компонента или переиспользовать общий кусок логики между компонентами, желательно минимально не вмешиваясь в реализацию целевого компонента. У большинства разработчиков в таком случае мысль в первую очередь обращается к использованию HOC (hight order component или по-русски компонент высшего порядка) или же кастомных хуков. Однако у меня нет никакого желания пересказывать вам уже всем давно известные паттерны, которые вы, вероятно, знаете даже лучше меня.
Сегодня я бы хотел рассказать об альтернативе для вышеупомянутых паттернов, которую незаслуженно обходят стороной во многих обзорах полезных практик при построении react-приложений. Решение довольно специфичное, но в некоторых кейсах может помочь вам очень элегантно организовать код
Node.js: использование веб-потоков. Часть 2

Привет, друзья!
Представляю вашему вниманию перевод второй части этой замечательной статьи.
Веб-потоки (web streams) — это стандарт для потоков (streams), который поддерживается всеми основными веб-платформами: веб-браузерами, Node.js и Deno. Потоки — это абстракция для чтения и записи данных последовательно, небольшими частями из любого вида источника — файлов, данных, находящихся на сервере, и т.д.
Например, глобальная функция fetch (которая используется для загрузки онлайн-ресурсов) асинхронно возвращает ответ (Response), содержащий свойство body с веб-потоком.
В данной статье рассматриваются веб-потоки в Node.js, но то, о чем мы будем говорить, применимо к любой поддерживающей их платформе.
Ecma International утвердила ECMAScript 2022: что в ней нового?

22 июня 2022 123-я ассамблея Ecma General утвердила языковую спецификацию ECMAScript 2022, а значит, она стала официальным стандартом.
В посте разберемся, какие обновления добавлены в эту версию.
Парсинг дат в JS — добавляем русский язык в библиотеку Chrono

Crono это парсер дат на естественном языке. Кроме формальных ISO 8601 или dd.MM.yyyy, распознает варианты а-ля «в среду утром», «с 10 до 11 вечера», «2 часа 5 минут назад» и т.п. Поддерживает 8 языков, в том числе, теперь, и русский.
Telegram Web Apps (Повторное открытие последней страницы)

15 апреля команда телеграм предоставила нам возможность разрабатывать веб ботов.
Теперь взаимодействие с ботами стало очень интерактивным, так как мы обладаем возможностью интегрировать в ботов полноценные веб-приложения.
В процессе разработки веб апп бота я столкнулся с проблемой, что после закрытия интерфейса веб апп и повторном его открытии мы теряем последнюю ссылку на которой находился пользователь, и веб приложение открывается с главной страницы.
Сперва, может показаться, что это не является проблемой, но на самом деле очень легко случайно закрыть веб-окно, так как оно не открывается на весь экран, а чтобы закрыть его, достаточно потянуть его вниз и мы теряем всё предыдущее состояние приложения.
Как с помощью Core Web Vitals влюбить в свой сайт пользователей и поисковые системы

Рассказываем, почему разработчики нашей компании уделяют большое внимание Core Web Vitals и как эти метрики помогают повысить качество взаимодействия веб-ресурса с пользователем. В конце материала — подробная таблица с основными рекомендациями по улучшению CWV и способами решения разных задач, которые мы применяем.
Хочу перемен: почему пора переходить на Vue 3

Привет! Меня зовут Влад, я frontend-разработчик в компании SimbirSoft. Мне приходилось создавать приложения как на старых версиях Vue, так и на новых. Причем многие из моих коллег вполне успешно разрабатывают на Vue 2 и не спешат переходить на Vue3, даже спустя два года после релиза.
Что же касается бизнеса и владельцев продуктов, в моей практике также встречались кейсы и примеры, когда заказчики не понимали всех преимуществ использования новой версии.
В этой статье попытался раскрыть новшества, которые могут стать «триггером» для миграции на новую технологию для обеих заинтересованных групп. Поговорим об экосистеме Vue 3, о новинках и пользе для разработчиков и бизнеса. И, разумеется, сравним Vue 2 и Vue 3 с технической точки зрения. Также рассмотрим одно из главных нововведений фреймворка – Composition API, раскроем технические нюансы и определим лучшие кейсы использования нового API.
Сравнение JavaScript операторов typeof и insanceof
В JavaScript есть операторы typeof и instanceof, на первый взгляд они похоже, но они выполняют разные функции.
В этой статье будет рассмотрена разница между ними и показаны примеры использования.
Повторное использование компонентов: живи, работай, повторяем цикл

Reusability, т. е. повторное использование компонентов ― весьма популярный метод в разработке ПО, веб-сервисов, дизайна и т. п. Огромным преимуществом повторного использования компонентов является экономия средств и времени на разработку ПО. Почему? Если систематизировать повторное использование компонентов, то сокращаются расходы на создание и обслуживание проектов, уменьшаются сроки разработки таких систем, во многих случаях повышается качество программных продуктов. Сегодня предлагаем поговорить об этом методе относительно веб-сайтов, JavaScript и ReactJS.
Если эта тема интересна, то давайте обсудим всё под катом. К слову, статья не очень большая, в ней приводится лишь один пример для Redux, который даёт общее понимание вопроса. А в комментариях давайте обсудим ваш опыт и идеи, которые вы используете в ежедневной работе.
Сравнение JavaScript операторов typeof и insanceof
В JavaScript есть операторы typeof и instanceof, на первый взгляд они похоже, но они выполняют разные функции.
В этой статье будет рассмотрена разница между ними и показаны примеры использования.
Node.js: использование веб-потоков. Часть 1

Привет, друзья!
Представляю вашему вниманию перевод первой части [этой замечательной статьи](https://2ality.com/2022/06/web-streams-nodejs.html).
[Ссылка на вторую часть](https://habr.com/ru/company/timeweb/blog/676210/).
Веб-потоки (web streams) — это стандарт для потоков (streams), который поддерживается всеми основными веб-платформами: веб-браузерами, [Node.js](https://nodejs.org/) и [Deno](https://deno.land/). Потоки — это абстракция для чтения и записи данных последовательно, небольшими частями из любого вида источника — файлов, данных, находящихся на сервере, и т.д.
Например, глобальная функция [fetch](https://developer.mozilla.org/ru/docs/Web/API/Fetch_API/Using_Fetch) (которая используется для загрузки онлайн-ресурсов) асинхронно возвращает ответ (`Response`), содержащий свойство `body` с веб-потоком.
В данной статье рассматриваются веб-потоки в `Node.js`, но то, о чем мы будем говорить, применимо к любой поддерживающей их платформе.
Разрабатываем универсальную форму на React и XState или новые приключения конечного автомата

Вопреки мнению, которое я видел в комментах к статьям о конечных автоматах, я не считаю, что их применение это какой-то "спагетти". Наоборот они позволяют реализовать довольно сложную state transition логику.
Хотя автомат из 100500 стейтов с вложенными и параллельным стейтами, пожалуй, будет слабо читаемым. Но это уже тема для Separation of Concerns - разделения ответственности.
В этой статье я хочу рассмотреть замечательный инструмент XState.
Который позволяет как описывать эти автоматы, так и рисовать в редакторе и визуализировать.
Ближайшие события
Как посчитать длину текста и не привлекать внимание санитаров

Привет! Меня зовут Алексей Ивасюта, я фронтенд-разработчик в Авито в кластере Seller Experience. В этой статье я расскажу, как правильно рассчитать длину текста в Java Script. Эта статья будет одинаково полезна как начинающим разработчикам, так и весьма опытным. Благодаря ей вы поймете устройство Unicode и особенности его работы в JS.
Как я перешел из нефтянки в IT за 1 год

Меня зовут Багрянцев Максим, бывший сотрудник компании Роснефть, в настоящее время являюсь frontend developer в компании Mechanica.
Привет, Хабр! Хочу поделиться своим жизненным опытом с теми людьми, кто еще сомневается идти ли в IT или оставить все как есть.
Написать данную статью меня сподвигла сама идея помочь читателю определиться с выбором, так как я хорошо понимаю на сколько трудно решиться кардинально сменить сферу деятельно и начать все с чистого листа.
Я же когда принимал такое решение, то искал вдохновение и мотивацию в историях реальных людей и мне это очень сильно помогло. Поэтому желаю вам приятного прочтения данной статьи, а самое главное успехов в ваших начинаниях!
Fresh – новый full stack фреймворк для Deno

Привет. Недавно вышла первая стабильная версия Fresh, а на Хабре ни одного холивара про это! Нужно срочно исправить! Под катом обзор архитектуры, примеры, плюсы и минусы фреймворка.
Фронтенд-новости №13. Релиз Vue 2.7, табы против пробелов Prettier, W3C — некоммерческая организация

Дайджест новостей и полезных статей из мира фронтенд-разработки за неделю 27 июня–3 июля.
? Большое обсуждение, что использовать в prettier — табы или пробелы.
? W3C станет некоммерческой организацией, представляющей общественные интересы с января 2023 года.
Веб-разработчик — Яндекс.Практикум: отзыв о программе. Ошибка или нет?
Хочу поделиться своим собственным опытом учёбы в Яндекс.Практикуме (далее ЯП) 2021-2022 г. по программе веб-разработчик, 10 месяцев (фронтенд).
Перевод Google TypeScript Style Guide

Здравствуйте, уважаемые читатели Хабра!
Как известно, при разработке и ведении проектов, одним из важных моментов является поддержка единого стиля в коде. Зачастую за основу берут какое-то общепризнанное руководство по стилю и дорабатывают его под свои нужды. И если в случае с JavaScript уже есть множество общеизвестных руководств, то с TypeScript дела обстоят несколько иначе. Конечно, если у вас в коде особенности TypeScript используются в мизерной доле, отдельное руководство по нему будет излишним, но если вы хотите использовать TypeScript более серьезно — рекомендации из готового руководства могут оказаться вполне полезными.

