Рубрика «javascript» - 171

Автор материала, перевод которого мы сегодня публикуем, говорит, что когда она работала в сфере бухучёта, там применялись понятные термины, значения которых легко найти в словаре. А вот занявшись программированием, и, в частности, JavaScript, она начала сталкиваться с такими понятиями, определения которых в словарях уже не найти. Например, это касается ключевого слова this. Она вспоминает то время, когда познакомилась с JS-объектами и функциями-конструкторами, в которых использовалось это ключевое слово, но добраться до его точного смысла оказалось не так уж и просто. Она полагает, что подобные проблемы встают и перед другими новичками, особенно перед теми, кто раньше программированием не занимался. Тем, кто хочет изучить JavaScript, в любом случае придётся разобраться с this. Этот материал направлен на то, чтобы всем желающим в этом помочь.

Ключевое слово this в JavaScript для начинающих - 1
Читать полностью »

Продолжаем знакомство с Progressive Web Applications. После теоретической прошлой части самое время перейти к практике.

Сегодня мы построим простое, но полноценное PWA «Hello Habr».

PWA — это просто. Hello Habr - 1

Приложение доступно по адресу https://altrusl.github.io/habr-pwa/hello-habr/. При открытии в браузере на мобильном устройстве возможно добавление ярлыка на домашний экран и запуск в полноэкранном режиме.
Читать полностью »

Изменить первое впечатление очень трудно. И я говорю не только о людях. Технологии также часто становятся заложниками первого впечатления — своей первой версии. И потом несмотря на годы развития, новые возможности и устранение старых недостатков, в массовом сознании технология остается той самой несовершенной, своей первой версией. Тем, кто не пытается бороться с такого рода когнитивными искажениями, остаётся только смотреть на успехи конкурентов, использующих знакомые технологии в новых сценариях, с немым вопросом: "А что, так можно было!?".

Используем AMP как библиотеку общего назначения для создания быстрых динамических сайтов - 1

Наиболее ярким примером технологии, которая шагнула далеко вперёд по сравнению с тем, чем она была в самом начале, на мой взгляд является AMP — Accelerated Mobile Pages. Многие разработчики воспринимают AMP как способ положить статический контент своего сайта (статьи, новости, заметки и т.д.) в кэш Google, чтобы при открытии из поиска этот контент загружался мгновенно (о высокой скорости загрузки AMP страниц свидетельствует иконка молнии в результатах поиска :)). Естественно, если вам нужно добиться именно такого результата, то с AMP это сделать будет очень легко. Но AMP — это гораздо больше чем просто технология для работы со статическим контентом или кэшем Google. AMP уже давно используется как библиотека общего назначения, основанная на web компонентах, для создания быстрых динамических страниц и даже сайтов целиком, на которые пользователи попадают как из поиска, так и из других источников, включая прямые заходы. С этой точки зрения AMP можно поставить в один ряд с Polymer, React или Angular. Естественно с оглядкой на то, что AMP предназначена для простых (чтобы это не значило) сайтов, где основной упор делается на контент, а динамическая составляющая ограничена.

Используем AMP как библиотеку общего назначения для создания быстрых динамических сайтов - 2

Читать полностью »

Картинка для привлечения внимания

Эта статья рассчитана на людей имеющих опыт работы с React и RxJS. Я всего лишь делюсь шаблонами, которые я посчитал полезными для создания такого UI.

Читать полностью »

Или почему важно читать Javascript спеки

Составляя заметки для ускоренного курса по JavaScript, который я должен был преподать нескольким своим коллегам, я столкнулся с довольно интересным сценарием с null и операторами сравнения.

null > 0;     // false
null == 0;    // false
null >= 0;    // true

Подождите… подождите… чего? Это бессмыслица какая то!

как значение не может быть больше, чем 0, не может быть равно 0, но при этом быть больше или равно 0

Читать полностью »

Слушать и говорить: анонс HolyJS 2018 Moscow - 1

Что главное на конференциях — доклады или общение? Свои сторонники есть и у первого варианта («информация по делу важнее разговоров»), и у второго («учиться можно и дома, а вот поговорить с экспертами дорогого стоит»).

24-25 ноября мы проведём в Москве конференцию для JavaScript-разработчиков HolyJS 2018 Moscow, и считаем, что она хорошо подойдёт как ценителям докладов, так и сторонникам общения. Почему? Написали под катом и о первой составляющей, и о второй.
Читать полностью »

Автор материала, перевод которого мы публикуем сегодня, говорит, что на работе ему приходится использовать Vue и он хорошо изучил этот фреймворк. Однако, ему всегда было любопытно узнать, как обстоят дела в других мирах, а именно, во вселенной React.

Он почитал документацию, посмотрел несколько учебных видео, и, хотя всё это показалось ему весьма полезным, ему хотелось по-настоящему понять, в чём заключается разница между React и Vue. Для него поиск различий между фреймворками заключался не в выяснении того, поддерживают ли они виртуальную объектную модель документа, или того, как именно они рендерят страницы. Ему хотелось, чтобы кто-нибудь объяснил бы ему особенности кода, показал бы, что в нём происходит. Он надеялся найти статью, которая посвящена раскрытию именно таких различий, прочтя которую тот, кто знал раньше лишь Vue или React (или совершенно новый в веб-разработке человек), мог бы лучше понять различия между этими фреймворками.

Сравнение React и Vue на практическом примере - 1

Однако такой статьи ему найти не удалось. Этот факт привёл его к пониманию того, что ему самому надо взять и такую статью написать, попутно разобравшись в сходствах и отличиях React и Vue. Собственно говоря, перед вами описание его эксперимента по сравнению этих двух фреймворков.
Читать полностью »

Redux против React Context API - 1

В React 16.3 был добавлен новый Context API. Новый в том смысле, что старый Context API был за кадром, большинство людей либо не знали о его существовании, либо не использовали, потому что документация советовала избегать его использования.

Однако теперь Context API является полноценной частью React, открытой для использования (не так, как раньше, официально).
Читать полностью »

Разбираемся с объектами в JavaScript - 1

Объекты — одно из основных понятий в JavaScript. Когда я только приступил к их изучению, они показались мне довольно простыми: всего лишь пары ключей и значений, как и описывалось в теории.

Лишь спустя некоторое время я начал понимать, что тема гораздо сложнее, чем я полагал. И тогда я стал изучать информацию из разных источников. Некоторые из них давали хорошее представление о предмете, но увидеть всю картину целиком я смог не сразу.

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

Итак, давайте начнем с основ.

Объект

Объект в JavaScript — это просто набор свойств, каждое из которые представляет собой пару ключ-значение. Обратиться к ключам можно с помощью точечного (obj.a) или скобочного обозначения (obj['a']).

Помните, что скобки следует использовать, если ключ:

  • не является допустимым JavaScript-идентификатором (в нем есть пробел, тире, начинается с цифры...)
  • является переменной.

Одно из свойств, которое объекты в JS получают при создании, называется Prototype, и это очень важное понятие.
Читать полностью »

Каждый раз, запуская Skype, Zoom или Hangouts, я с интересом жду свежую порцию косяков с видео и звуком. Технологии редко меня разочаровывают: квакание, фоновые шумы, пропадание голоса, распадение видео на «квадратики», замороженные кадры и другие радости видеоконференций преследуют видеозвонки сколько я себя помню. Интерес во многом профессиональный: кроме программируемой телефонии для обычных телефонов, веб-страниц и мобильных приложений, мы в Voximplant отгружаем разработчикам видео. Хочется Full HD, в реальном времени, без фризов, в любом браузере и конференция человек на 50. Что интересно, в лабораторных условиях оно именно так и работает. А вот в каком-нибудь парке на 3G видеоконсультация с доктором может превратиться в пошаговую стратегию: пакеты-то теряются! Современный стек технологий пока не позволяет на равных бороться с «мигающим» интернетом, но исследования постоянно ведутся. Под катом — адаптированный для Хабра перевод про Salsify: сплава видеокодека и сетевого протокола, минимизирующего проблемы при передаче видео в реальном времени.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js