Как стать автором
Обновить
32.12

HTML *

Стандартный язык разметки web-страниц

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

Webpack для Single Page App

Время на прочтение6 мин
Количество просмотров74K

Привет!





Отгремели фанфары, прошел звон в ушах от истязаний «евангелистов», модников в сфере фронтенд разработки. Кто-то ушел на sprockets, кто-то пустился во все тяжкие и стал писать свои велосипеды или расширять функционал gulp или grunt. Но статей по поводу популярных инструментов автоматизации процесса сборки – стало существенно меньше и это факт! Пора бы заполнить освободившееся пространство чем-то существенно иным.

Уверен многие слышали о webpack. Кто-то подумал «он слишком много на себя берет» и не стал дочитывать даже вводную статью на оффициальном сайте проекта. Некоторые решили попробовать, но столкнувшись с небольшим количеством примеров настройки — отверг инструмент решив подождать пару лет. Но в целом, разговоров «вокруг» ходит масса. В этой статье — хочу развенчать некоторые сомнения. Может быть, кто-то заинтересуется и перейдет на «светлую сторону». Вообщем желающие под кат.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии61

Проверяем все страницы сайта в валидаторе html

Время на прочтение3 мин
Количество просмотров18K

Интро


Цель — создать велосипед скрипт, который пробежится по сайту и проверит каждую страницу сайта на валидность html.
Я слышал, что если нападает перфекционизм, то надо полежать, отдохнуть и это пройдет.
Подумаешь, в валидаторе ошибка…
Но если все же не проходит, то
добро пожаловать под кат
Всего голосов 20: ↑18 и ↓2+16
Комментарии7

Flash to Html5 или тайное api Swiffy

Время на прочтение2 мин
Количество просмотров24K
Всем привет. Думаю, ни для кого не секрет, что 1 сентября(то есть завтра) гугл останавливает в хроме воспроизведение периферийного flash-контента. Иными словами, flash-баннеры перестают запускаться без прямого указания пользователя(каковое вряд ли последует). Поэтому имеет смысл начинать переходить на так называемые html5-баннеры. А чтобы смягчить переход, надо конвертировать flash в html5.

Многие знают, что у гугла есть сервис для такой конвертации — Swiffy. Однако он существует либо как веб-приложение, либо как расширение к Flash Professional. Никакого публичного api(а тем более его документации) вроде как нет. Однако это не так.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии7

Telegram-like анимированный placeholder для HTML-инпутов

Время на прочтение2 мин
Количество просмотров11K
В качестве улучшения UX/UI я часто сижу и думаю, что можно было бы улучшить в приложении, чтобы пользователю было чуточку веселее пользоваться им.

Как-то раз я заметил интересную анимацию placeholder'a в нативном Desktop приложении Telegram. Подумал, что будет интересным способом использовать такое и в своих проектах.
Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии9

Истории

Модуль вкладок на es6/es2015 без jQuery и прочих зависимостей

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

Предисловие


Какое-то время назад я стал постепенно отказываться от jQuery в пользу нативного javascript. Это связано с тем, что поддержка старых браузеров перестала быть приоритетной и на первое место вышла скорость загрузки страницы. Я не смог найти минималистичный модуль вкладок с простой html разметкой – поэтому решил написать свой.

Демо, Исходный код на Github

HTML разметка


<div class="tabs">
	<div class="tabs__toggle tabs__toggle_active">Вкладка 1</div>
	<div class="tabs__toggle">Вкладка 2</div>
	<div class="tabs__tab">
		Содержимое первой вкладки
	</div>
	<div class="tabs__tab">
		Содержимое второй вкладки
	</div>
</div>

Если на одной странице нужно разместить несколько групп вкладок нужно просто разделить их в разные блоки '.tabs'. Расположение внутренних блоков влияет только на порядок их вывода. Вкладке по умолчанию следует добавить класс 'tabs__toggle_active'.
Читать дальше →
Всего голосов 23: ↑16 и ↓7+9
Комментарии13

Публикация iFrame / HTML5 игры во ВКонтакте. Основы

Время на прочтение7 мин
Количество просмотров23K
Сразу давайте обозначимся: тема API ВК тут рассматриваться не будет, ее я затрону в будущих материалах, так как она довольно обширна и представляет хорошие возможности. В этой статье будет самая основная часть: написание игры и публикация ее в социальной сети, как запускаемое приложение.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии12

CSS3 hover effects. Пошаговый туториал

Время на прочтение26 мин
Количество просмотров105K
При создании этого мануала, моей целью было взять три десятка различных эффектов, частью — довольно распространенных, частью — придуманных мной, разместить их от простых к более сложным, и на их примере показать новичкам, никогда не имевшим дело с CSS3 возможностями, как эти возможности работают и как их применить на практике. Именно по этой причине статья вышла подробная, пошаговая, мне было важно описать и разобрать каждую деталь.

Демо материалы лежат здесь.

Предупреждение: эффекты работают только в современных браузерах, поддерживающих возможности CSS3.

Подготовка к работе.

Итак, для того, чтобы создавать наши эффекты нам понадобится вот такая простая дефолтная html-структура:

<div class="effect>
  <img src="img/ef1.jpg" alt="Effect #1" />
  <div class="caption">
    <h4>Title is Here</h4>
    <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut.</p>
    <a class="btn" href="#" title="View More">View More</a>
  </div>
</div>

Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии8

Как я использую PostCSS

Время на прочтение4 мин
Количество просмотров73K
CSS-препроцессоры в своё время значительно облегчали работу по написанию CSS кода. Однако в некотором роде все они были несовершенны и имели значительные изъяны в работе. А потому на смену препроцессорам пришёл постпрепроцессор PostCSS.

Это довольно таки мощный инструмент, облегчающий работу с CSS. Постпрепроцессор уже сегодня используется в таких крупных компаниях как Twitter и Google. Кроме того, по сообщениям разработчиков Bootstap, пятая версия CSS-фреймворка вероятнее всего также будет написана на PostCSS.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии29

Как сверстать интерактивные вкладки в email-письме

Время на прочтение9 мин
Количество просмотров17K


В нашем блоге мы уже неоднократно рассказывали о создании интерактивных email-рассылок с помощью CSS и HTML. Сегодня мы представляем вашему вниманию адаптированный перевод заметки Джастина Ку о том, как сверстать интерактивные вкладки, которые будут работать в почтовых программах iOS, Android и популярных веб-приложениях.
Читать дальше →
Всего голосов 27: ↑18 и ↓9+9
Комментарии26

Внедрение премиального медиа-контента с HTML5

Время на прочтение11 мин
Количество просмотров12K


Коммерческая медиа-индустрия проходит через большую трансформацию по мере того, как контент-провайдеры отходят от модели доставки контента с использованием закрытых веб-плагинов (таких, как Flash или Silverlight) и заменяют их едиными бесплагинными видео-плеерами, базирующимися на спецификациях HTML5 и возможностях проигрывания коммерческого контента. Браузеры также двигаются в сторону от использования плагинов, так Chrome отказывается от NPAPI и Microsoft Edge от ActiveX в пользу более защищенных моделей расширения.

Переход к модели проигрывания медиа-контента без использования плагинов становится возможным благодаря недавно разработанным новым спецификациям:


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

Это длинная статья, и мы бы не хотели, чтобы вы упустили интересующую вас тему. Вот краткое содержание:
  • Некоторая информация о Microsoft Edge и Silverlight
  • Обзор состояния совместимых веб-медиа
  • Сложности и варианты их преодоления
    • Простой вариант DASH-стриминга
    • Демонстрация веб-сайта, использующего библиотеку для проигрывания адаптивного контента
    • Сервисы Azure Media Services, которые могут вам помочь
    • Простой способ создания приложения под универсальную Windows-платформу (UWP) на базе кода веб-сайта
    • Демонстрация UWP-приложения с интеграцией проигрывания видео и голосовых команд для Кортаны


Читать дальше →
Всего голосов 30: ↑17 и ↓13+4
Комментарии16

Превью первых обновлений веб-платформы Microsoft Edge

Время на прочтение2 мин
Количество просмотров11K


На днях мы вывели наш портал для разработчиков Microsoft Edge Dev из бета-статуса, и теперь перенаправляем весь траффик со status.modern.ie на новую страницу со статусом платформы, которую мы существенно ускорили и визуально подчистили.

Сегодня мы рады рассказать вам первые детали о грядущей волне обновления функциональности веб-платформы Microsoft Edge. Начнем с рассказа о том, какие новые возможности сейчас находятся в разработке для EdgeHTML.
Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии14

7 советов, как улучшить работу вашего сайта в Microsoft Edge и других современных браузерах

Время на прочтение12 мин
Количество просмотров33K


Краткая справка: Microsoft Edge – это новый дефолтный браузер в Windows 10, пришедший на смену Internet Explorer. Помимо нового свежего интерфейса, под капотом браузера также находятся и обновленные движки EdgeHTML (изначально — форк движка IE11) и Chakra (для JS). Какое-то время браузер был известен под временным названием “Project Spartan”.

Вместе с ростом Windows 10 вы, наверняка, могли заметить на своих сайтах и рост числа пользователей Microsoft Edge. Поэтому самое время сделать несколько телодвижений, чтобы ваши сайты работали в Edge еще лучше.

Советы, которые я привожу ниже, в основном, имеют обобщенную природу. Другими словами, от их реализации пользу получат не только пользователи Edge, но и других браузеров.

Читать дальше →
Всего голосов 45: ↑27 и ↓18+9
Комментарии56

JQuery — разделение событий onСlick и onDblСlick

Время на прочтение3 мин
Количество просмотров7.9K
this.window.$.on( 'click', function( event ){ context.toggleActive( ); } )
             .on( 'dblclick', function( event ){ context.toggleMaximized( ); } );

При разработке JS приложений часто возникает неудобство ( всё-таки сложно назвать это проблемой ), когда необходимо отделять событие клика от двойного клика из-за особенностей обработки данных событий — браузерами. Думаю многие из Вас сталкивались с тем что во всех браузерах вначале происходит событие onClick а уже после — onDblClick. Не знаю как Вам, но мне это очень мешает спокойному написанию обработки событий подобного рода.

Но проблема вся в том что каких-то простых и удобных решений подобной задачи — нет. Поэтому пришлось взяться за дело, и написать своё решение.
Читать дальше →
Всего голосов 15: ↑9 и ↓6+3
Комментарии14

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

How-to: Техники создания интерактивных email-писем с помощью CSS

Время на прочтение5 мин
Количество просмотров18K
В нашем блоге мы уже рассказывали о том, как реализовать в письме пагинацию, однако это далеко не единственный вариант интерактивности email-рассылки. В некоторых случаях привлекательные письма можно создать с помощью hover-эффекта, когда контент изменяется при наведении на него курсора.



Сегодня мы представляем вашему вниманию выжимку из статей блога FreshInbox о том, как создать интерактивное email-письмо.
Читать дальше →
Всего голосов 16: ↑11 и ↓5+6
Комментарии0

jQuery Video Extend — расширение возможностей HTML5 видео плеера

Время на прочтение3 мин
Количество просмотров25K
Часто вижу, что владельцы сайтов и разработчики используют видео-плееры вроде VideoJS, Flowplayer, Uppod и т.д., но очень редко вижу стандартные HTML5 плееры на сайтах. Мне это кажется странным, ведь обычные плееры в браузерах тоже выглядят очень симпатично. Что есть у стандартного «браузерного» видео плеера:

  1. Стильный дизайн. Зависит от браузера, но везде на хорошем уровне.
  2. Поддержка самого популярного формата — Mpeg4 (H.264) (Chrome, Firefox, IE, Safari, Opera).
  3. Очень удобное API — http://www.w3.org/2010/05/video/mediaevents.html
  4. Быстрая работа и поддержка мобильных устройств.

Почему же такие плееры не популярны? Вот список возможных причин:

  1. Нет простого способа добавить свой логотип.
  2. Нет поддержки FLV видео, которое часто ещё встречается.
  3. Нет возможности ставить метки на видео и создавать свои расширения.
  4. Нет возможности менять внешний вид и стиль плеера.

С последним пунктом сложнее всего, но довольно редко эта возможность используется и на плеерах, о которых я писал в начале. Чаще используется первая стандартная тема оформления. Первые три пункта я решил восполнить, написав jQuery плагин, так появился Video Extend.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии13

Внедрение компонентого подхода в вебе: обзор веб-компонентов

Время на прочтение18 мин
Количество просмотров31K


Четыре из пяти самых запрашиваемых новых платформенных возможностей Edge на User Voice (Shadow DOM, Template, Custom Elements, HTML Imports) относятся к семейству API, называемых веб-компонентами (Web Components). В этой статье мы хотим рассказать о веб-компонентах и нашем взгляде на них, некоторой внутренней кухне, для тех, кто еще с ними не знаком, а также порассуждать на тему того, куда все это может эволюционировать в будущем. Это довольно-таки длинный рассказ, поэтому откиньтесь назад, возьмите кофе (или не кофеиновый напиток) и начинайте читать.

Содержание:
  • Внедрение компонентов: старая практика проектирования, ставшая новой для веба
  • Как разбивать на компоненты
  • Это все не в первый раз: предыдущие подходы к внедрению компонентов
  • Современные веб-компоненты
  • Веб-компоненты: следующее поколение

Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии6

Релиз Cordova 5.2.0

Время на прочтение3 мин
Количество просмотров13K
Сегодня вышел новый релиз Apache Cordova — 5.2.0.

Основные изменения в данном релизе это
  • Поддержка флага --browserify
  • Поддержка Windows в plugman
  • Новая команда clean
  • Использование ~ вместо ^ по умолчанию в config.xml при использовании --save


Также намного больший упор делается на использование NPM вместо собсвенного реестра плагинов.

Подробнее под катом.

Также будет немного о предстоящих релизах и вопросы по документации.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии11

Работа с формами в Webix UI

Время на прочтение7 мин
Количество просмотров24K


Создание форм с помощью чистого HTML задача довольно тривиальная и подробно обсуждается в каждом уважающем себя учебнике. Но все становится куда сложнее, если вам нужно, например, разнести элементы формы по нескольким табам. В этом случае без фреймворка не обойтись. В этой статье я расскажу, как можно создать сложные веб-формы с помощью UI-фреймворка Webix.

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии13

Практические советы по повышению производительности HTML и JavaScript

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


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

Скорость работы веб-приложений условно зависит от трех составляющих: 1) как устроена сетевая инфраструктура, через которую доставляются данные и код, 2) как работает браузер и 3) как, собственно говоря, написан ваш код, который браузер должен исполнять.

Все три компоненты постоянно улучшаются и оптимизируются. Например, в сетевом стеке определенные общие улучшения несет переход на HTTP 2.0. С точки зрения браузеров, все производители постоянно работают над улучшением своих движков. В случае Chakra в Microsoft Edge, помимо общего повышения производительности работы с JavaScript, мы добавляем поддержку специализированных средств вроде Asm.js и SIMD.js, призванных повысить эффективность кода в специфичных сценариях (в Firefox и Google Chrome — аналогично).

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

Наши коллеги Дорис Чен и Джон-Дэвид Далтон подготовили целый курс с практическими советами по улучшению производительности вашего кода на HTML и JavaScript. Вы можете посмотреть его на соответствующей странице в Microsoft Virtual Academy или под катом в виде отдельных роликов.

Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии1

Анализ производительности игры на WebGL при помощи about:tracing

Время на прочтение4 мин
Количество просмотров7.4K
То, что не поддаётся измерению, не поддаётся и улучшению.
— Лорд Кельвин

Чтобы ускорить игры, написанные при помощи HTML5, для начала нужно определить их узкие места. Подсчёт FPS – это неплохой метод, но чтобы увидеть полную информацию, необходимо разобраться в нюансах поведения Chrome.

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

Он показывает вам всё, что делает Chrome, причём настолько детально, что сперва это даже может ошеломить. Многие функции Chrome изначально предназначены для трассировки, поэтому прямо из коробки для оценки производительности можно использовать about:tracing.

Для этого просто напишите about:tracing в адресной строке.

image

Инструмент трассировки позволяет включить запись, запустить игру на несколько секунд и посмотреть данные трассировки. Пример того, как они могут выглядеть:

image

Да, сначала выглядит запутанно.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии4

Вклад авторов