Статьи

5 вещей, которые я ненавижу в HTML5

Я люблю HTML5. Так же как и Вики Ху и ее недавняя статья « 5 вещей , которые я люблю в HTML5» . Но не все так радужно в саду HTML5. Итак, чтобы восстановить баланс во вселенной SitePoint, вот мои пять любимых мозолей:

1. Лишние метки

HTML5 (технология) предоставляет 30 новых тегов, хотя вы никогда не будете использовать половину из них. Это хорошо, но рассмотрим, как мы кодировали списки навигации в HTML4 / XHTML1:

<ul id="nav"> <li><a href="link1.html">link 1</a></li> <li><a href="link2.html">link 2</a></li> <li><a href="link3.html">link 3</a></li> </ul> 

Вот эквивалент HTML5:

 <nav> <ul> <li><a href="link1.html">link 1</a></li> <li><a href="link2.html">link 2</a></li> <li><a href="link3.html">link 3</a></li> </ul> </nav> 

У этого есть небольшое семантическое преимущество, но действительно ли это имеет значение в реальном мире? Нет.

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

2. Плохие инструменты разработчика

Ваш IDE или редактор полностью поддерживают HTML5, CSS3 и новые API JavaScript? Бьюсь об заклад, это не так.

В старые времена я любил использовать расширения Firefox, такие как HTML Validator, которые выделяли проблемы в разметке при просмотре страницы. Сегодня у нас есть несколько инструментов проверки HTML5, но они, как правило, содержат бета-версии с ошибками, и вам нужно отправить свой код в онлайн-сервис. Это медленно и громоздко — я редко беспокоюсь.

3. Мультимедийное безумие

Новые video и audio теги великолепны. К сожалению, продолжающиеся сражения с поставщиками означают, что ваше видео должно быть закодировано в WebM, H.264 и Ogg Theora для работы в браузерах HTML5. О да, тогда вам потребуется резервный Flash для IE6 / 7/8 — и если вы делаете это, зачем беспокоиться о video теге?

4. Поддержка браузера

Я мог бы разглагольствовать о том, что IE6 / 7/8 и IE9 / 10 не были выпущены в Windows XP. Однако, на мой взгляд, меня больше всего раздражает разнообразие уровней реализации. Если вы хотите использовать функцию HTML5, вы должны постоянно просматривать документацию и тщательно проверять код.

Рассмотрим что-то такое простое, как поле ввода даты. Опера показывает прекрасный календарь выбора. Firefox, Chrome и Safari знают обязательную дату, но предлагают элементарный контроль и проверку. IE9 возвращается к тупому текстовому полю. По иронии судьбы, вы, вероятно, захотите отключить реализацию Opera и вернуться к решениям JavaScript.

5. Обман и путаница

Средства массовой информации набросились на термин «HTML5», и он применяется к любому классному веб-эффекту. Даже если это анимированный GIF. Хотя это не обязательно проблема, когда вы разговариваете с клиентами, это вызывает замешательство у разработчиков:

  • Некоторые считают, что HTML5 радикально отличается от HTML4, когда это действительно эволюция.
  • Некоторые думают, что эффекты достигаются с помощью HTML, когда это API CSS3 или JavaScript.
  • Некоторые не будут касаться HTML5, потому что спецификации W3C все еще находятся на стадии разработки.
  • Некоторые не будут рассматривать HTML5, потому что им нужно поддерживать устаревшие браузеры.
  • И давайте не будем забывать о проблеме, вызванной префиксами вендора CSS3, и о том, почему мы должны это исправить .

Эти концепции могут быть очевидны, если вы работали в торговле несколько лет, но кто бы хотел стать новичком?

Давайте будем ясны: преимущества HTML5 перевешивают проблемы. Я использую его и рекомендую вам переключиться как можно скорее. Но помните, что вы платите цену, чтобы использовать передовые методы; Не думайте, что код будет работать так, как вы ожидаете, в каждом браузере с поддержкой HTML5!