HTML vs HTML5: узнай различия между ними
HTML и HTML5. В чем разница? Если ты хочешь заняться frontend-разработкой, тебе нужно знать разницу. Это может быть запутанно, потому что некоторые люди могут использовать эти два термина как синонимы, но технически это две разные вещи, хотя они также взаимосвязаны.
Давай рассмотрим различия между HTML и HTML5, что лучше, и что изменилось с самым большим обновлением популярного языка разметки.
Что такое HTML?
HTML(HyperText Markup Language) означает язык разметки гипертекста. Он составляет строительные блоки Интернета.
HTML - стандартный язык, используемый для веб-разработки. Он позволяет создавать базовую структуру веб-страницы с помощью небольших тегов, называемых тегами разметки. Например, чтобы выделить фрагмент текста курсивом, ты можешь заключить его в HTML-теги:
Большая часть HTML столь же проста и удобочитаема, поэтому даже не разработчикам легко работать.
Невозможно создать сайт без использования HTML. Хотя существуют конструкторы веб-сайтов, которые позволяют создавать сайты, не касаясь какого-либо кода, однако они все еще обрабатывают HTML-код за тебя «за кулисами».
И если ты хочешь стать веб-разработчиком или глубже погрузиться в другие инструменты, тебе потребуется изучить HTML.
HTML часто сочетается с другими языками, такими как CSS и JavaScript, для расширения его функциональности. CSS помогает тебе стилизовать HTML, добавляя цвета, макеты и многое другое, в то время как JavaScript - более традиционный язык программирования, который позволяет добавлять расширенные функции.
Несмотря на то, что эти два языка хорошо сочетаются с HTML, они не являются строго обязательными для создания веб-сайта. HTML, безусловно, необходим, и именно поэтому это самый важный язык Интернета.
Что такое HTML5?
HTML5 - это не отдельная система, а последняя версия технологии HTML. Его предшественник - HTML4 получил свое первое и последнее обновление в декабре 1999 года. HTML5 на самом деле не является чем-то новым, он был выпущен несколько лет назад в 2014 году.
Так в чем же большая разница? К чему весь этот хайп? Многие теги разметки остаются неизменными, некоторые из них были упрощены, поэтому писать код стало намного проще и быстрее. Он основан на совершенно новом стандарте, и его парсинг тоже совершенно другой.
В отличие от старых версий HTML, которые позволяли создавать в основном статические сайты, которые нужно было приправить CSS и JavaScript, HTML5 гораздо более динамичен и включает в себя мультимедийные элементы. Он изначально поддерживает видео и аудио, и ты с его помощью можешь создавать игры или анимации.
Другими словами, HTML5 полностью способен делать то, что тебе раньше нужно было делать, используя старые инструменты, такие как Flash или Silverlight. Это означает, что твой сайт более безопасен и менее открыт для атак злоумышленников, пытающихся проникнуть внутрь.
И хотя CSS и JavaScript по-прежнему необходимы для создания полноценного веб-сайта, тебе больше не нужно полагаться на них, чтобы делать что-либо динамическое.
HTML5 больше не просто конструктор сайтов. Это самостоятельный конструктор приложений.
Вместо следующего обновления, выходящего как «HTML6», HTML5 постоянно обновляется по мере необходимости сети. Это последняя и лучшая версия этой долговечной технологии и она будет существовать еще долгое время.
Взвешивание различий
Когда большинство людей говорят о HTML, они имеют в виду технологию в целом, включая ее последнюю версию: HTML5. HTML5 во многом отличается от других, но на самом деле он представляет собой лишь усовершенствованное обновление старого стандарта.
Хотя HTML и HTML5 являются частью одной системы, большое обновление внесло несколько улучшений в старый язык, сделав его еще более эффективным. Вот лишь несколько примеров того, что было добавлено.
Совместимость
Когда впервые появился HTML5, совместимость была большой проблемой и это была основная причина, по которой многие решили не обновлять свой сайт. Если браузер не знал, как разобрать HTML5-тег, это могло привести к появлению поврежденных или странно выглядящих страниц.
Верно и обратное: веб-сайты, написанные в старых стандартах HTML4, часто ломаются в современных браузерах, поскольку браузеры уже давно перестали поддерживать устаревшие функции. Если ты хочешь оставаться совместимым с браузерами большинства людей, тебе подойдет HTML5.
Более старые версии HTML хорошо работают в таких браузерах, как Internet Explorer, эти устаревшие версии больше не поддерживаются и не используются большинством пользователей. Большинству людей не нужно писать веб-сайт для таких старых браузеров, поэтому нет необходимости использовать HTML4.
Как видишь, HTML5 и большинство его функций поддерживаются всеми современными браузерами. Его новые теги полностью или частично поддерживаются во всех версиях Internet Explorer 6–8 и Firefox 2, которые относятся к началу 2000-х годов и редко используются сегодня.
Хотя все современные браузеры технически поддерживают HTML4, поддержка устаревших тегов в лучшем случае нечеткая. Следует избегать использования устаревших стандартов и переходить на HTML5.
Мультимедийная поддержка
Одна из самых важных вещей, которые предлагает HTML5 - это поддержка мультимедийных элементов, таких как аудио, видео, векторная графика, анимация и игры.
В старые времена Интернета для размещения на твоем сайте даже простой анимации обычно требовалось использование JavaScript, Flash или какой-либо другой технологии. Теперь ты можешь делать это в HTML или CSS, не открывая себя для каких-либо потенциальных уязвимостей.
С видео и аудио встроить проигрыватель так же просто, как вставить простой тег. Оттуда ты можешь выполнить множество настроек, например включить автовоспроизведение или добавить элементы управления проигрывателем.
HTML5 также поддерживает встраивание векторной графики SVG - изображений, размер которых можно изменять до любого разрешения без пикселизации. SVG становятся все более популярными для отображения графики в Интернете, поскольку они хорошо растягиваются для заполнения экрана любого размера.
Наконец, ты можешь создавать полноценные видеоигры с помощью HTML5, комбинируя его с JavaScript. Многие инструменты для создания игр даже переносятся на HTML5 и позволяют встроить результат на свой веб-сайт.
SGML
Исходный язык HTML (до версии 4) в значительной степени основывался на стандарте SGML или стандартном обобщенном языке разметки (Standard Generalized Markup Language).
Поскольку SGML предназначен для стандартизации разметки, устранения путаницы, именно он и вдохновил на создание таких языков как HTML и XML, и восходит он к языку, созданному в 1960-х годах, существует с давних времен и поэтому не был разработан с учетом современных веб-приложений.
HTML5 эволюционировал, чтобы больше не соответствовать SGML, вместо этого он анализирует свои собственные уникальные правила. Хотя его истоки все еще лежат в SGML, HTML5 является просто расширением существующей технологии, он больше не соответствует этим стандартам.
Одним из результатов этого является то, что теперь обработка ошибок стала гораздо более снисходительной. Одна небольшая ошибка больше не приведет к серьезным проблемам для зрителей на твоей странице или к странице, которая вообще не загружается.
Семантика, или теги, также значительно улучшилась. Раньше для структурирования страницы требовалось постоянное использование тегов <div>: <div id = «header»>, <div id = «menu»> и <div class = «post»>.
В HTML5 такими неудобными тегами будут <header>, <nav> и <article>. Эти теги чище и более отзывчивы.
Было введено несколько новых тегов. Многие из них были созданы для замены блоков div и фреймов, ранее использовавшихся для структурирования страниц.
Многие старые теги разметки остались без изменений, поэтому HTML5 частично обратно совместим со старыми версиями. Но нетронутый документ HTML4 больше не будет правильно парсится (разбираться) в соответствии с новыми стандартами.
Несмотря на то, что между HTML и HTML5 есть несколько различий, изменения, как правило, к лучшему и предназначены для того, чтобы сделать язык разметки более доступным.
Лучшая производительность и мобильная поддержка
Одним из самых больших преимуществ HTML5 является то, что он намного быстрее и быстрее реагирует на запросы, чем предыдущие версии. В эпоху оригинального HTML, устройства, отличные от компьютеров, с выходом в Интернет практически отсутствовали. Теперь все это доступно с наших телефонов, часов и телевизоров, отчасти благодаря скорости HTML5.
В новой версии были улучшены стандарты, чтобы веб-сайты работали более плавно на небольших и менее мощных устройствах. Многие проблемы с производительностью по-прежнему будут зависеть от тебя и качества твоего кода. Однако с обновлением HTML5 было связано множество недоработок со стороны HTML.
Например, HTML5 поддерживает многопоточность с помощью JavaScript Web Workers, позволяя процессору твоего устройства использовать больше своих возможностей для запуска скриптов. Код, который раньше останавливал страницу, теперь будет работать без проблем.
В HTML5 также намного проще разрабатывать адаптивные веб-сайты. В HTML4 было много неотзывчивых элементов, таких как div, они были заменены структурными тегами, которые лучше работают на мобильных устройствах.
Фреймы также были удалены из-за проблем с удобством использования и доступностью. Хотя они все еще поддерживаются, они устарели и не должны использоваться, если у тебя нет причин работать с устаревшими технологиями.
Хотя прямой замены фреймов HTML5 не существует, рекомендуется использовать элементы CSS, такие как гибкие блоки или фреймы (которые все еще поддерживаются в HTML5), чтобы заменить старую функциональность.
Лучшее управление формой
Новые элементы управления формой означают новый уровень контроля над твоим сайтом. Это может показаться небольшой функцией, но для создания рабочей формы приходится полагаться на одну внешнюю технологию меньше.
Первоначально HTML поддерживал только типы ввода текста, пароля, скрытого, checkbox/radio и загрузки файлов. Этого достаточно, чтобы создать базовую форму ввода, теперь ты можешь сделать гораздо больше с помощью типов ввода HTML5.
Новые дополнения включают электронную почту, номер телефона, URL-адрес, поле поиска, ползунок, числовые значения, средства выбора даты и времени и средства выбора цвета.
Этот разнообразный набор типов ввода позволяет создавать более совершенные формы, которые могут принимать больше типов контента, с включенной проверкой, чтобы гарантировать их правильность.
Веб-хранилище
Когда дело доходит до веб-хранилища, HTML4 и ниже по существу поддерживают файлы cookie и еще немного мелочей. Хранить любую информацию, кроме базового отслеживания пользователей, в крошечном файле cookie размером 4 килобайта было практически невозможно.
С другой стороны, локальное хранилище позволяет хранить 5-10 мегабайт данных в зависимости от браузера. Это позволяет сохранять на стороне клиента информацию о предыдущих сеансах, данные автономного доступа, личные настройки и многое другое. Кроме того, локальное хранилище не очищается автоматически, в отличие от файлов cookie.
Один из примеров того, что ты можешь сделать с локальным хранилищем - это сохранить предпочтения пользователя для светлой или темной темы на твоем сайте, чтобы они продолжали видеть твой сайт в том виде, в каком они предпочитают его, при следующем посещении. Хотя ты также можешь сохранять пользовательские настройки с помощью файлов cookie, браузер неизбежно очистит их через некоторое время.
HTML5 поддерживает локальное хранилище через API веб-хранилища. Кроме того, он поддерживает хранилище базы данных Web SQL, хранилище индексированных баз данных и даже доступ к файлам с помощью File API. Многие из них интегрируются с JavaScript через API.
Что лучше: HTML или HTML5?
Если ты хочешь научиться программировать, тебе следует избегать использования устаревших стандартов. HTML5 - это новейшая версия HTML, и ее всегда следует использовать поверх старых версий языка.
Как указано выше, HTML5 улучшает некоторые аспекты HTML4, которые были устаревшими и с которыми было трудно работать. Кроме того, HTML5 может делать многие вещи нативно, в то время как HTML4 полностью полагается на давно устаревшие системы, такие как Silverlight, Java Web Start и Flash.
Хотя HTML5 не всегда отображается должным образом в очень старых браузерах и операционных системах (таких как Internet Explorer или старые версии мобильных телефонов), эти платформы сильно устарели и в настоящее время используются редко. Больше нет веских причин использовать устаревшие версии HTML по сравнению с современными стандартами.
К сожалению, в Интернете и в книгах есть много информации о более старых версиях HTML. Всякий раз, когда ты ищешь руководство или изучаешь курс или книгу, убедись, что в нем говорится о HTML5 и выпущен или обновлен после 2014 года. Нет смысла изучать устаревшие стандарты 1999 года.
Как конвертировать HTML в HTML5
Если у тебя старый веб-сайт, тебе необходимо его обновить. К сожалению, нет реального способа выполнить полное преобразование, не выполняя никакой ручной работы.
Лучше всего прочитать спецификацию HTML5 и ознакомиться с изменениями. После этого ты можешь переписать код и добавить новые функции, которые они добавили в HTML5.
Ознакомься с этим руководством по переходу с HTML4 на HTML5. В нем подробно описаны ручные изменения, которые необходимо внести в код.
Ты также можешь попробовать этот конвертер XHTML в HTML5, но не забудь просмотреть свой код вручную или вставить его в валидатор, прежде чем импортировать его на действующий сайт.
К счастью, HTML5 - это в основном новый контент. Есть несколько устаревших тегов, которые тебе необходимо заменить, но помимо этого обновление кода обычно не представляет большого труда, если только твой сайт не использует устаревшие технологии, такие как фреймы.
Заключение
HTML и HTML5 - это всего лишь две части одной и той же технологии, хотя они означают несколько разные вещи. HTML относится к языку разметки в целом, часто к новейшей версии, в то время как HTML5 является последним его обновлением.
Если ты хочешь изучать HTML, важно использовать последнюю версию: HTML5. Это лучше во всех смыслах, и даже если для этого потребуется преобразовать много старого кода вручную, это определенно того стоит.
HTML5 уже много лет и дальше будет только обновляться для работы с современной сетью.
Источник: https://kinsta.com/blog/html-vs-html5/