Обновить
128K+

JavaScript *

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

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

Формируем стратегию работы с ошибками в React

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

Как сделать падение мягким?




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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №389 (11 — 17 ноября 2019)

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

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

Создаем современное веб приложение. Знакомство с проектом и подготовка к работе. Часть 1

Время на прочтение6 мин
Охват и читатели19K
image
В этой серии статей мы пройдем полный цикл создания клиентской части приложения и напишем небольшую библиотеку компонентов с использованием современного стека технологий.
Читать дальше →

Опрос по инструментам фронтенда 2019 — результаты

Время на прочтение23 мин
Охват и читатели23K
TL;DR. В большинстве категорий теперь выделяются явные лидеры — несколько лет назад такого не было. Это помогает накоплению знаний. Поэтому Навыки владения инструментами в среднем становятся глубже у разработчиков всех уровней.

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

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

Результаты


Итак, к делу! Возьмите чай/кофе/напиток на свой выбор и посмотрим на результаты…
Читать дальше →

9 библиотек веб-компонентов

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

1. Material components web


image

Если использовать в заголовке слово «Material», то это гарантированно даст первые места в рейтингах UI-библиотек. Веб-библиотека Google Material-components — это версия веб-компонента библиотеки Material-UI. Эти веб-компоненты можно включить в широкий спектр контекстов и сред.
Читать дальше →

WebAssembly: что и как

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


Эта статья основана на моём выступлении на конференции ITSubbotnik, прошедшем 2 ноября 2019 года в Москве.


Вообще я бэкенд программист, но меня заинтересовала эта технология, она позволяет использовать мои знания бэкенда на фронте.


Проблема


Начнём с проблемы, которая решается этой (относительно новой) технологией. Проблема эта — быстро исполнять код в браузере. Быстро — это значит, «быстрее чем JavaScript», в идеале настолько быстро, насколько позволяет имеющийся у нас процессор.

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

Использование полифиллов при написании кросс-браузерных приложений

Время на прочтение6 мин
Охват и читатели16K
Недавно со мной случилась одна весёлая история. Я сделал веб-проект и расширил возможности уже существующего приложения, которым в моей организации пользуются кадровики. Всё выглядело просто отлично, я радовался тому, что проект был запущен, с нетерпением ожидая благодарственных писем.

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



В чём же дело? А дело в том, что я, создавая проект, тестировал его в Chrome. Но пользователи этого проекта постоянно применяют Firefox и IE. Работа с моим приложением не стала исключением. Мне, в итоге, было совсем невесело от того, что проект, запущенный пару дней назад, надо было дорабатывать.

Собственно говоря, тут мне на помощь и пришли полифиллы.
Читать дальше →

AR-креаторы: зарождение новой профессии

Время на прочтение5 мин
Охват и читатели20K
В августе этого года на свет появилась новая профессия. А все потому, что Facebook вывел из бета версии Spark AR — платформу для создания масок для Instagram и Facebook. Так получилось, что я оказался в водовороте процесса становления этой профессии и сам стал AR-креатором. В статье расскажу о ценах на маски и самых ярких историях успеха креаторов.

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

Ожидаемые новые возможности JavaScript, о которых полезно знать

Время на прочтение6 мин
Охват и читатели20K
С момента выхода стандарта ECMAScript 2015 (его ещё называют ES6) JavaScript серьёзно изменился и улучшился. Это очень хорошая новость для всех JS-разработчиков. Более того, теперь новая версия ECMAScript выходит каждый год. Возможно, вы не обратили особого внимания на то, что появилось в самой свежей версии стандарта, который был выпущен в июне 2019 года. Автор заметки, перевод которой мы сегодня публикуем, хочет в двух словах рассказать о новшествах JavaScript, и о том, чего можно ждать в следующей версии стандарта ECMAScript.



Здесь будут упомянуты возможности, предложения которых находятся на третьем этапе согласования (Stage 3). Это значит, что они, скорее всего, появятся в следующей версии стандарта ECMAScript, но с абсолютной достоверностью этого утверждать нельзя. Вот репозиторий, в котором можно найти сведения о предложениях, находящихся на разных этапах согласования.
Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №388 (4 — 10 ноября 2019)

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

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

Разница между асинхронной функцией и функцией, возвращающей промис

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

Взгляните на следующий фрагмент кода:
Читать дальше →

Проблемы основных паттернов создания data-driven apps на React.JS

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

Для создания интерфейсов React рекомендует использовать композицию и библиотеки по управлению состоянием (state management libraries) для построения иерархий компонентов. Однако при сложных паттернах композиции появляются проблемы:


  1. Нужно излишне структурировать дочерние элементы
  2. Или передавать их в качестве пропсов, что усложняет читабельность, семантичность и структуру кода

Для большинства разработчиков проблема может быть неочевидна, и они перекидывают ее на уровень управления состоянием. Это обсуждается и в документации React:

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

Moscow Node.js Meetup 10: Архитектура Node.js-приложений, Hot Reload в Node.js и секретный доклад

Время на прочтение3 мин
Охват и читатели3.7K
Друзья, это становится доброй традицией. Мы не встречались почти 11 месяцев – прошлая наша встреча была накануне Нового года и у самого Кремля. А в этом году Node.js исполнилось 10 лет, а это значит время провести юбилейный 10-й митап Msocow Node.js Meetup!

В то время, как наш чат в Telegram ( t.me/nodejs_ru ), посвященный разработке на Node.js уже перерос 5 000 (пять тысяч!) участников, всё больше компаний, как международных, так и российских, продолжают успешно разрабатывать решения на базе Node.js, наращивать экспертизу на production-проектах.

Крупные корпорации, банки, финансовые сервисы, e-Commerce, клиентские сервисы – все здесь. Масштаб и спектр задач, которые успешно решаются с помощью Node.js продолжает расти, а новые вызовы продолжают подогревать нам не только мозги!
Эта встреча станет ещё более интересной и на этот раз пройдет при сильной поддержки от команды Leroy Merlin, известной своими развитыми архитектурными практиками и решениями в Node.js.

Совсем недавно вышла уже счастливая 13-я версия, а 12-я “улетела” в LTS. Что это значит? Поговорим при встрече.;) А заодно обсудим, что произошло у каждого из нас за год – у кого-какие успехи, боли, челленджи, а затем копнем проблему создания единой архитектуры приложения, способы её решения, посмотрим на проблемы изолированных площадок и hot-reloading модулей в Node.js.

КОГДА: 20 ноября 2019, 19:00
ГДЕ: Москва, Шаболовка, в офисе компании Leroy Merlin.

Программа


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

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

Типизация REST API для фронтенд разработчика

Время на прочтение4 мин
Охват и читатели27K
Сегодня широкое распространение имеют следующие подходы для описания взаимодействия браузера и сервера, такие как OpenApi & GraphQL.

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


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

Программирование для детей. Пять самых крутых игр на HTML и JavaScript

Время на прочтение1 мин
Охват и читатели18K
image Привет, Хаброжители! Хотите сделать отличный подарок ребёнку, желающему научиться программировать, или научить взрослого, далёкого от мира кодов? Тогда книга-героиня нашего поста Вам подойдет. Эта книга научит писать код веб-игр на языках HTML и JavaScript и даже поможет читателю написать несколько увлекательных игр. Под катом — отрывок из книги.
Читать дальше →

«Никто не говорит другим, что им нужно делать»: Nicolò Ribaudo о разработке Babel и многом другом

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


Nicolò Ribaudo — один из ключевых разработчиков Babel, приглашённый эксперт TC39 и при этом ещё и студент-математик.

Nicolò выступит завтра на HolyJS 2019 Moscow. И в преддверии этого участники программного комитета HolyJS Евгений Кот (bunopus) и Дмитрий Махнёв (DmitryMakhnev) поговорили с ним о разработке Babel, задачах приглашённого эксперта, учёбе, предстоящем докладе на HolyJS… и о том, как при всём при этом можно умудряться высыпаться.

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

ThingJS v1.0-alpha

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


Последние два года я разрабатывал собственную IoT платформу и сегодня готов показать ее альфа версию.


Вместе с партнером мы создаем и поддерживаем IoT устройства. Мы разобрали не один сарай с граблями в процессе этой деятельности. ThingJS родилась не столько из желания, сколько из необходимости облегчить жизнь нам, а заодно, надеюсь, и вам.


Статья будет интересна людям, которым близка тема IoT и они уже что-то делали в этой сфере. Важным замечанием будет то, что платформа должна заинтересовать (внезапно) JavaScript разработчиков, т.к. именно этот язык выбран как основа платформы. Конечно, и С/С++ разработчикам тоже будет что почитать.


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

Современная загрузка скриптов

Время на прочтение7 мин
Охват и читатели14K
Передать нужный код для каждого браузера – непростая задача.

В этой статье рассмотрим несколько вариантов, как эту задачу можно решить.



Передача современного кода современным браузером может очень сильно повысить производительность. Ваши JavaScript-пакеты смогут содержать более компактный или оптимизированный современный синтаксис и поддерживать старые браузеры.

Среди инструментов для разработчиков доминирует паттерн module/nomodule декларативной загрузки современного или legacy-кода, который предоставляет браузерам источники и позволяет решать, какие из них использовать:

<script type="module" src="/modern.js"></script>  
<script nomodule src="/legacy.js"></script> 

К сожалению, не всё так просто. Показанный выше подход на основе HTML инициирует перезагрузку скриптов в Edge и Safari.
Читать дальше →

Поймут даже дети: простое объяснение async/await и промисов в JavaScript

Время на прочтение7 мин
Охват и читатели49K
Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaScript Async/Await and Promises: Explained like you’re five years old» автора Jack Pordi.

Каждый, кто считает себя JavaScript-разработчиком, в какой-то момент должен был столкнуться с callback-функциями, промисами или, с недавних пор, с синтаксисом async/await. Если вы пробыли в игре достаточно долго, вы, вероятно, застали времена, когда вложенные callback-функции были единственным способом достижения асинхронности в JavaScript.

Когда я начал изучать и писать на JavaScript, уже существовало миллиард руководств и туториалов, объясняющих, как добиться асинхронности в JavaScript. Тем не менее, многие из них просто объясняли, как преобразовать callback-функции в промисы или промисы в async/await. Для многих этого, вероятно, более чем достаточно, чтобы они «поладили» с ними и начали использовать их в своем коде.

Однако если вы, как я, действительно хотите понять асинхронное программирование (а не только синтаксис JavaScript!), то, возможно, вы согласитесь со мной, что существует нехватка материалов, объясняющих асинхронное программирование фактически с нуля.
Читать дальше →

9 лучших опенсорс находок за октябрь 2019

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

Доброго ноября, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за октябрь 2019.


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Rust, Swift, TypeScript, JavaScript, Go, Scala, Python.
Тематика: веб и мобильная разработка, визуализация данных, инструменты разработчика, документация.


Прошлый выпуск.

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