Обновить
256K+

JavaScript *

Прототипно-ориентированный язык программирования

242,34
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Почему вы можете обойтись без Babel

Время на прочтение11 мин
Охват и читатели27K

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

Ознакомившись с этой статьей, вы поймете:

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

- как использовать редактор Visual Studio Code, чтобы обойтись без Babel.

- существует другая альтернатива программного обеспечения, чтобы сделать ту же работу быстрее.

Читать далее

Дайджест свежих материалов из мира фронтенда за последнюю неделю №456 (22 — 28 февраля 2021)

Время на прочтение3 мин
Охват и читатели8.9K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Неудачный опыт миграции Electron приложения на ECMAScript модули

Время на прочтение4 мин
Охват и читатели7.9K

Работая над своим стартовым шаблоном для Electron приложений я решил полностью отказаться от CommonJS модулей и использовать исключительно ECMAScript модули.

Спойлер: ничего хорошего из этого не вышло.

Читать далее

Поиск данных в столбцах таблицы с пагинацией (front-часть)

Время на прочтение4 мин
Охват и читатели9K

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

Читать далее

10 инструментов разработчика, которые вам наверняка понадобятся

Время на прочтение3 мин
Охват и читатели9.3K

Мы разработчики и у нас хватает задач, которые нужно делать ежедневно, когда мы кодим. Вот почему нам определённо понадобятся некоторые инструменты, чтобы сделать жизнь проще и помочь повысить производительность. В Интернете есть много таких инструментов, которые имеют много преимуществ. В этой статье нет технического хардкора, но есть список некоторых полезных тулзов для разработчика, о которых вы, вероятно, не знаете. Давайте сразу к делу.
Читать дальше →

ExtendScript Работа с композициями

Время на прочтение5 мин
Охват и читатели1.9K

Одной из самых распространенных задач, которые встречались мне в работе, была динамичная расстановка титров в видеороликах. Видео сегодня, один из самых популярных форматов контента. Одно из ограничений накладываемых браузером, невозможность запустить в ролике звук без действия пользователя. Естественный выход из данной ситуации, заменить звук титрами. Если это 5 - 10 титров, то можно сделать их и руками. Ну, а что, если вам надо выпускать по пять роликов в день и в них не 10, а 50 - 70 титров? Да еще каждый ролик в 2 - 3 форматах. Да, плюс ко всему, еще и на нескольких языках? Если вам кажется такая ситуация необычной, то я сталкиваюсь с ней ежедневно.

Так давайте же упростим эту задачу на сколько это возможно. Мы сделаем более менее универсальный скрипт, который будет интерпретировать текст в титры на сцене After Effects. Хоть я и решал эту задачу уже много раз, буду писать свой скрипт прямо во время написания статьи, чтобы ничего не упустить и сделать свой рассказ максимально подробным. Приступим.

Читать далее

Разрабатываем чат на React с использованием Socket.IO

Время на прочтение18 мин
Охват и читатели77K


Доброго времени суток, друзья!

Хочу поделиться с вами опытом разработки простого чата на React с помощью библиотеки «Socket.IO».

Предполагается, что вы знакомы с названной библиотекой. Если не знакомы, то вот соответствующее руководство с примерами создания «тудушки» и чата на ванильном JavaScript.

Также предполагается, что вы хотя бы поверхностно знакомы с Node.js.

В данной статье я сосредоточусь на практической составляющей совместного использования Socket.IO, React и Node.js.

Наш чат будет иметь следующие основные возможности:

  • Выбор комнаты
  • Отправка сообщений
  • Удаление сообщений отправителем
  • Хранение сообщений в локальной базе данных в формате JSON
  • Хранение имени и идентификатора пользователя в локальном хранилище браузера (local storage)
  • Отображение количества активных пользователей
  • Отображение списка пользователей с онлайн-индикатором

Также мы реализуем возможность отправки эмодзи.

Если вам это интересно, то прошу следовать за мной.

Для тех, кого интересует только код: вот ссылка на репозиторий.

Песочница:

JavaScript нанобенчмарки и преждевременные тормоза

Время на прочтение8 мин
Охват и читатели6.8K

Здравствуйте, меня зовут Дмитрий Карловский и раньше я… ежедневно измерял свою пипирку, но у распространённых линеек никак не хватало точности для измерения столь малых размеров.



Поэтому я решил, что хватит это терпеть!… и выстругал свою с нанометровыми делениями, поддержкой прохладного и разгорячённого измерения, тестами, шарингом и прочими вольностями. Так что приглашаю и вас присоединиться к этой спец олимпиаде по измерению скорости своего JS кода.


Для начала разберём этот кейс:


Читать дальше →

Создание квадратизированной галереи проектов на JS v 2.0

Время на прочтение9 мин
Охват и читатели3.3K

Предпосылки / проблема

При работе над своим проектом вручную создавал стилизованную галерею проектов и понял, что бесконечно плодить громоздкие однотипные HTML-контейнеры – это очень сложный и долгий путь. Захотелось данную задачу автоматизировать и решить более элегантно через JS, описывая каждую картинку как объект на основе класса. Это вторая статья на эту тему, здесь я постарался исправить некоторые ошибки и поработал над логикой и структурой кода. Для удобства добавил возможность просмотра галереи и полного кода в песочнице.

Плюсы такого подхода:

* Более читабельно, чем гора HTML-контейнеров и их содержимого

* Написание одного шаблона впоследствии сэкономит кучу строчек кода и времени

* Короче и удобнее

Читать далее

Свежий взгляд на честное 3D в браузере

Время на прочтение10 мин
Охват и читатели4.8K

Приветствую.

Так получилось, что некоторое время назад я принимал участие в проекте, разрабатывал браузерную игру с принципиально новым подходом в хранении данных - предполагалось создать некую вариацию на тему .krieger, игру, которая использовала бы экстремально мало памяти для хранения ресурсов, сохранив при этом высокополигональность моделей, пусть и жертвуя при этом производительностью. Ввиду комплекса причин - проект закрылся, не выпустив даже MVP - но у нас остался серьезный пласт наработок, которыми я, с дозволения остальных участников команды поделюсь тут. Само собой, с авторскими комментариями и рассмотрением идеи. Подробности под катом.

Читать далее

Мир JavaScript в 2021 году

Время на прочтение7 мин
Охват и читатели37K
Мир веб-разработки весьма изменчив. Изменения в нём происходят очень быстро. Что принесёт в него 2021 год? Здесь я хочу поделиться выводами о грядущих крупных JS-трендах, которые я сделал, проанализировав соответствующие исследования, проведённые в 2020 году.



Сначала — пара слов о самих этих исследованиях. К сожалению, какое-то время нам придётся обходиться без свежих материалов отличного Front End Tooling Survey. Это усложняет поиск трендов. И хотя в этом году на одно хорошее исследование стало меньше, вместо него появилось одно новое — The State of Front End. Но оно проводится первый год, поэтому в нашем распоряжении нет его данных за прошлые годы, что, опять же, не способствует облегчению задачи поиска трендов. Правда, в нём приняло участие внушительное количество разработчиков со всего мира (4500), что, определённо, делает его ценным источником информации.
Читать дальше →

Тотальный JavaScript: изучаем JS с акцентом на практической составляющей

Время на прочтение3 мин
Охват и читатели13K


Доброго времени суток, друзья!

Когда речь заходит об изучении JavaScript, будь то первое знакомство с языком или углубление имеющихся знаний, найти в «интернетах» теоретические материалы не составляет особого труда. Мой топ-5:


Однако, когда дело касается практических аспектов JavaScript, информацию приходится собирать буквально по крупицам. Собственно, этим я и занимался на протяжении последних 4-5 месяцев.

Предлагаю вашему вниманию «Тотальный JavaScript».

Вот что вы найдете в этом репозитории:
Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №455 (15 — 21 февраля 2021)

Время на прочтение4 мин
Охват и читатели13K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Ближайшие события

Поддержка JavaScript-приложений в долгосрочной перспективе

Время на прочтение8 мин
Охват и читатели6.4K
Публикуем перевод статьи, в которой подробно описана многолетняя работа команды по созданию и поддержанию большого портала данных на JavaScript.

В 2019 была написана статья о поддержке больших приложений на JavaScript (Maintaining large JavaScript applications). В продолжение этого материала, хотели бы поделиться клиентским проектом, который моя команда поддерживает с 2014 года.
Читать дальше →

Автоматизация рутины в DotA 2 или читы?

Время на прочтение11 мин
Охват и читатели35K

Привет, в этой статье будут рассматриваться легальные способы получить преимущество перед противником с помощью таких простых средств, как NodeJS, Electron и React, при этом обходя бан стороной. На эксперименты меня вдохновила другая статья Визуализация времени возрождения Рошана и желание автоматизировать часть рутины. Стоит заметить что сейчас будут рассматриваться инструменты не модифицирующие каким либо нечестным способом игру - все API открыты, данные получены честным путём, никакого вмешательства в процесс игры не происходит. Под катом будет несколько картинок и немного кода.

Читать далее

Чатик с открытым исходным кодом

Время на прочтение2 мин
Охват и читатели7.9K

У меня последнее время нет времени или желания чтобы заниматься своим веб-проектом (чатик), который я разрабатывал 2 года; но очень не хочется, чтобы мой труд пропадал.

Я уже показывал Хабру свою разработку, но так как она мало относится к тематике сайта, а исходников я не предоставил, статья не вызвала интерес аудитории.

Сегодня я публикую код. Возможно, кто-то обратит внимание на хорошую разработку и не даст проекту загнуться. Этот движок по настоящему хорошо реализует современный чат, где можно обмениваться медиа-контентом, вести свой альбом, ну и просто общаться. Я пытался сделать что-то лучше тех чатов, в которых сидел сам, — и у меня это получилось. Конечно, моя разработка не тянет на широкий захват аудитории уровня вконтакта или телеграма, — это просто красивый, юзабильный чатик для аудитории средних размеров, и там можно почти всё (в плане функционала).

Мне интересно

Улучшение производительности vue приложения

Время на прочтение8 мин
Охват и читатели20K

У нас в TeamHood есть wiki. Там собралась коллекция рекомендаций, в том числе, по улучшению производительности тяжелого фронтенда на vue.js. Улучшать производительность понадобилось, потому что в силу специфики наши основные экраны не имеют пагинации. Есть клиенты, у которых на одной kanban/gantt доске больше тысячи вот таких вот карточек, все это должно работать без лагов.

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

Читать далее

Новая утечка истории браузера через favicon

Время на прочтение3 мин
Охват и читатели8.5K

Недавно наткнулся на это исследование pdf (по его мотивам уже была статья на хабре), после прочтения, решил поискать более интересные способы использования F-Cache. Объективно, схему с редиректами никто в здравом уме не будет ставить на свой сайт. Это утечка, но утечка представляющая больше теоретический интерес, чем практический(имхо).

Обозначил цель(найти способ проверить F-Cache через javascript) и начал поиски. В ходе экспериментов выделил несколько способов это сделать, но опишу самый интересный, на мой взгляд.

Ссылка на чекер под катом.

Читать далее

Создание квадратизированной галереи проектов на JS

Время на прочтение6 мин
Охват и читатели7.7K

Предпосылки / проблема

При работе над своим проектом вручную создавал стилизованную галерею проектов и понял, что бесконечно плодить громоздкие однотипные HTML-контейнеры – это очень сложный и долгий путь. Захотелось данную задачу автоматизировать и решить более элегантно через JS, описывая каждую картинку как объект на основе класса.

Плюсы такого подхода:

* Более читабельно, чем гора HTML-контейнеров и их содержимого

* Написание одного шаблона впоследствии сэкономит кучу строчек кода и времени

* Короче и удобнее

Читать далее

Nuxt.js app от UI-кита до деплоя

Время на прочтение17 мин
Охват и читатели42K
Привет, Хабр!

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

В этой статье обсудим базу, основы создания приложения на Nuxt.js:

  • создание и конфигурация проекта,
  • assets и static: стили, шрифты, изображения, посты,
  • создание компонентов,
  • создание страниц и layouts,
  • развертывание приложения (деплой).

Смотрите, что получилось!
Читать дальше →