Что такое HTML5 и почему про него так много говорят? Как мы можем добавлять и удалять данные из локального хранилища? Это не одна большая вещь

От автора: привет друзья! В данной статье я хочу немного рассказать вам про html5. Рассказать, что такое html5, что в нем нового. Какие новые возможности он предоставляет разработчикам. HTML5 очень широкое понятие. И некоторые технологии, которые называют в HTML5, вообще говоря, не являются html5, но обо всем по порядку…

Первое - это стандарт HTML5, документ, лежащий на сайте W3C, в котором описаны все новые теги, атрибуты, новые API, и ряд сопутствующих документов, в которые вынесены некоторые дополнительные детали, вроде API для Canvas.

Второе - это «большой», маркетинговый, трендовый HTML5, зонтик для целого поколения новых технологий, включающий как непосредственно спецификацию HTML5, так и множество модулей CSS3, различные API для JavaScript, да и сам новый стандарт для JavaScript - ECMAScript5.

Рассмотрим некоторые ключевые особенности html5:

Он более простой, более простая структура элементов на странице, что упрощает создание и отладку кода.

Он предоставляет стандартные элементы для медиа объектов, которые ранее требовали установки отдельных плагинов, которые приходилось постоянно обновлять.

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

Что дает HTML5?

Для разработчиков html5 помогает писать понятный семантический код. Позволяет управлять многими процессами на странице своими стандартными методами, без использования javascript или сторонних плагинов и сервисов. Это означает, что решаются некоторые проблемы кроссбраузерности, поскольку браузеры одинаково реализуют новые возможности.

Также html5 делает удобной работу в сети и для обычных пользователей. Например, увеличивается скорость работы, использование браузера становится более удобным. Для того, чтобы смотреть ролики из youtube не нужно устанавливать дополнительные плагины и постоянно обновлять их.

Цели HTML5

Кратко цели html5 можно назвать так:

Ликвидация плагинов, таких как Flash, для общих функций, которые необходимы каждому. Построить собственную поддержку для таких вещей, как аудио, видео и т.д.

Снижение потребности в JavaScript и дополнительном коде, благодаря использованию новых html5 элементов.

Обеспечение согласованности между браузерами и устройствами.

Сделать все это настолько прозрачным, насколько это возможно.

Новые возможности HTML5

Новых функциональных возможностей в html5 очень много. Сегодня даже самые последние версии современных браузеров поддерживают полностью все функции html5. Поэтому в данной статье мы рассмотрим лишь основные возможности html5.

Новые элементы html5

Новые элементы html5 позволяют быстрее создавать разметку для страницы, она становиться проще, более понятна и упрощается процесс отладки. Вот некоторые новые теги:

и

для любых видов меню

для сайдбаров или связного контента

для статей

практически то же, что и div

и теги позволяют проигрывать видео без плагинов

для рисование на странице использую javascript

для вставки внешнего контента на страницу

Наряду с тем, что появились новые теги часть существующих тегов в HTML5 приобретает новое значение. Так, если раньше выбор между i и em (аналогично b и strong) был чаще в пользу более короткого написания, то сегодня это теги с различной смысловой нагрузкой, даже если по умолчанию они имеют одинаковое представление курсивом или жирным начертанием.

Другая часть нововведений касается непосредственно вопросов доступности: здесь, прежде всего, речь идет об aria- и role-атрибутах, позволяющих разметить предназначение и роли контента. Эта информация впоследствии, к примеру, может использоваться программами для чтения с экрана (screen reader).

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

Еще одним преимуществом html5 является наличие в нем продвинутых функций, включая интеграцию API. Это упрощает написание кроссбраузерного кода на javascript для сложных приложений. Вот некоторые из них:

Audio and video позволяет проигрывать видео в браузере без плагинов.

Geolocation: определяет положение посетителя.

Drag and drop: например, для загрузки файла перетаскиванием его в браузер.

Application cache: обеспечивает поддержку открытия сайтов offline.

Web workers: запускает JavaScript в фоновом режиме

Server sent events: позволяет серверам обновлять веб-страницы в браузере после того, как они уже были загружены, проще и эффективнее, чем AJAX и JavaScript.

Offline data storage: позволяет хранить данные локально в браузере, независимо от cookies

Примеры использования html5

Давайте посмотрим на html5 в действии! HTML5 позволяет создавать новую, более простую и чистую разметку для страниц. Код становится более контентоориентированным и его проще читать и понимать. Вот пример простой веб-страницы на html5:

Page Title

  • Nav Link 1
  • Nav Link 2
  • Nav Link 3
  • Article Header

    Etiam pretium odio eu mi convallis vitae varius neque pharetra. Nulla vestibulum nisi ut sem cursus sed mattis nisi egestas.

    Article Subhead

    Vestibulum lacus erat, volutpat vel dignissim at, fringilla ut felis.

    Sidebar Content

    Copyright Your Name Here 2014. All Rights Reserved.

    < ! doctype html >

    < html lang = "en" >

    < head >

    < meta charset = "utf-8" >

    < title > < / title >

    < meta name = "author" content = "" / >

    < meta name = "description" content = "" / >

    < link rel = "stylesheet" href = "assets/css/style.css" / >

    < ! -- [ if lt IE 9 ] >

    < ! [ endif ] -- >

    < / head >

    < body >

    < header >

    < h1 > < a href = "/" > Page Title < / a > < / h1 >

    < nav >

    < ol >

    < li > < a href = "" > Nav Link 1 < / a > < / li >

    < li > < a href = "" > Nav Link 2 < / a > < / li >

    < li > < a href = "" > Nav Link 3 < / a > < / li >

    < / ol >

    < / nav >

    < / header >

    < article >

    < h1 > Article Header < / h1 >

    < p > Etiam pretium odio eu mi convallis vitae varius neque pharetra . Nulla vestibulum nisi ut sem cursus sed mattis nisi egestas . < / p >

    < h2 > Article Subhead < / h2 >

    < p > Vestibulum lacus erat , volutpat vel dignissim at , fringilla ut felis . < / p >

    Откуда взялся HTML5?
    Я не буду вдаваться глубоко в историю HTML и HTML5 - это тема для отдельного большого рассказа, но суть вопроса вот в чем.
    Сама история HTML имеет весьма давние корни, начиная с языка GML (Generalized Markup Language), родившегося в недрах IBM в конце 60х годов, продолжая стандартизированным в первой половине 80х языком SGML (Standard Generalized Markup Language) и переходя непосредственно к работам в начале 90х, которые и вылились в первые наброски HyperText и HTML и первую официальную стандартную версию HTML 2.0 в 1995 г.

    Примерно тогда же началась активная работа над следующей версией HTML, ярко выразившая себя целой плеядой новых документов и предложений, добавляющих в стандарт все новые и новые возможности:

    В конце-концов уже в течение года эта активность дала дорогу HTML 3.2, довольно быстро перешедшему в состояние официальной рекомендации W3C.
    Появлялись новые идеи, стандарт продолжал усложняться и в 1997 г. был выработан и утвержден HTML 4.0, спустя 2 года обновившийся до ревизии HTML 4.01.
    Это последняя полностью утвержденная версия HTML, которой мы продолжаем активно пользоваться и на базе которой построены практически все страницы современного интернета. Это был 1999 год и это было более 11 лет назад.

    Волнующий многих вопрос: а что же дальше? А дальше нужно вернуться на несколько лет назад - в 1996 г., когда появился первый черновик нового языка разметки - знакомый сегодня всем разработчикам язык XML (eXtensible Markup Language), довольно быстро (по сегодняшним меркам) стандартизированный и нашедший огромное применение во множестве сфер благодаря своей универсальности и формализму, крайне удобному при машинной обработки данных.
    Не оказался неподвластным влиянию XML и наш любимый HTML, что, как вы уже догадались, вылилось в XML-версию HTML, известную как XHTML. В новом статусе язык обретает новые возможности, получает модульность и… развитие самого языка разметки практически прекращается.
    Не менее интересен и браузерный фон происходящих событий - наступает царство IE5.5 и далее IE6, рынок практически остается без серьезной конкуренции, традиционно являющейся ключевым элементом устойчивого развития.
    Фокус W3C тем временем смещается в новые области, особенно завязанные на развитие и использование XML - от языков разметки специализированных данных до языков обработки XML.

    С возвратом конкуренции в середине 2000х и накоплением довольно большого опыта в работе с XML в W3C появляется новый проект - XHTML 2.0, на практике явивший собой несовместимую со старыми версию языка для разметки веб-страниц - хотя и со множеством новых идей, но преимущественно в силу обозначенного недостатка, не принятый активно в сообществе.
    В конечном счете в 2009 работа над XHTML 2.0 была заморожена, а в конце 2010 перестала работать и соответствующая рабочая группа.
    Параллельно со всем этим процессом шла активная работа по разработке новой версии HTML, совместимой с HTML 4.01. Начиная с новой версии веб-форм WebForms 2.0, разрабатываемой Яном Хиксоном (Ian Hickson) и внесенной в 2005 г. на рассмотрение в W3C, годом позже формально принятой в качестве черновика, - и переходя к новым возможностям для создания веб-приложений Web Applications 1.0. Вместе оба документа вылились в черновик стандарта HTML5, в начале 2008 г. внесенный на рассмотрение в W3C.
    (Надо отметить, что работа над стандартом изначально велась в рамках рабочей группы WHATWG и впоследствии проходила и сегодня проходит в параллельном режиме в W3C и WHATWG. Группы имеют несколько разные подходы к работе, но обе версии стандарта синхронизируются между собой и у них также общий редактор - Ян Хиксон.)

    На сегодня HTML5 находится в стадии Last Call Working Draft и в целом уже устоялся и находит активную поддержку как среди производителей браузеров, так и в сообществе разработчиков.
    Спецификация HTML5 значительна по объему - она в три раза больше описания HTML 4.01. Но пусть вас не смущает размер: значительная часть спецификации адресована разработчикам браузеров и нацелена на обеспечение совместимости реализаций HTML5, выполненных различными производителями.

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

    Ну хорошо, сегодня у нас есть HTML5, что с того? Зачем он взялся и зачем он нужен?
    Что происходило, пока HTML спал?
    Если кратко, то весь фоновый (хотя какой он фоновый? он как раз самый что ни на есть активный!) мной уже описан в одном из предыдущих постов с вот этой картинкой:

    Фактически, пока спал HTML и спали или подремывали сопутствующие технологии (главным образом, CSS и javascript), интернет продолжал активно развиваться, требовал новых возможностей и находил способы их воплощения.

    Подумайте, в рамках стандартного четвертого HTML и тогда еще не окончательно принятого CSS 2.1 и предыдущего стандарта javascript - ECMAScript 3, вооруженные мощностью плагинов (прежде всего, Flash и позднее Silverlight), веб-разработчики совершили целую революцию в интернете:

    • Насыщенные интернет-приложения (RIA) и вообще веб-приложения, работающие целиком в браузере
    • Асинхронное взаимодействие (AJAX - хотя технология XMLHTTPRequest, лежащая в его основе появилась еще в IE 5.5, но только с 2004 этот подход начал активное шествие по вебу)
    • Web 2.0, социальные сети
    • Онлайновое видео и аудио в браузере, живой стриминг
    • Общение через веб-камеру и микрофон прямо в браузере
    • Расцвет мобильного веба и специфических возможностей вроде геолокации
    • Драматическое ускорение javascript (за последние несколько лет это увеличение на порядок)

    И многое чего еще - и не забываем, что компьютерная техника также сильно обновилась, включая появление возможности аппаратного ускорения за счет ресурсов видео-карты и приход многоядерных процессов даже в небольших нетбуках.
    Веб изменился. А HTML все спал и спал:) Тут самое время сказать: дождались!


    Если вы читаете этот пост, вы наверняка уже много слышали про HTML5. А то и вовсе вам уже приелось слышать из всех углов истории про HTML5 и увлекательные рассказы разработчиков браузеров про всеобщую любовь к HTML5?
    И ведь сегодня действительно очень многие воодушевлены приходом HTML5. И это не просто слова, радостный маркетинг или восторженная истерия на пустом месте (без них, конечно, тоже не обходится). За HTML5 и правда стоит ряд принципиальных нововведений, подчеркивающих и направляющих дальнейшее развитие веб-стандартов.

    Давайте уже к сути?
    Почему HTML5 - это мега-мега-круто?
    (Это тонкий момент, на котором я не буду останавливаться подробно в этой статье, но будьте уверены - расширения браузеров в виде плагинов еще рано списывать со счетов и во многих сценариях их возможности на несколько лет впереди того, что сегодня может предложить семейство HTML5.)
    HTML5, на мой взгляд, дает три основных преимущества на концептуальном уровне, которые важно понимать прежде, чем мы перейдем к деталям:
    1. Нативная поддержка. Браузеры, поддерживающие HTML5 (а на сегодня это современные версии всех популярных браузеров), делают это нативно, из коробки, то есть без необходимости устанавливать дополнительные плагины. Функционал из коробки - это всегда хорошо, если он работает не хуже того, что в принципе можно доставить сверху. За надежность и интеграцию встроеного функционала отвечает производитель браузера, он же следит за обеспечением безопасности и приватности. Для встроенного функционала проще обеспечить доступ к системным ресурсам - будь то данные или вычислительные мощности.
    2. Полноправные элементы. В отличие от плагинов, работающих как черный ящик, вставленный на страницу и в лучшем случае взаимодействующий с ней через специальные интерфейсы на javascript, встроенный в браузер функционал полноправно интегрируется во всю экосистему технологий и поддерживаемых стандартов. Например, это означает, что видео-элементы HTML5 можно стилизовать через CSS, к ним можно напрямую обращаться через DOM и javascript. Это единая хорошо связанная экосистема.
    3. Открытые технологии. Открытость - штука двоякая и есть палка о двух концах. Открытые стандарты, доступные любому для изучения, использования и реализации, - с одной стороны, и необходимость в стандартизации и стремлении к совместимости разных реализаций - с другой. И вместе с этим относительно легкий доступ к коду (благо в каждом уважающем себя браузере сегодня есть встроенные средства разработки, ну или популярный плагин:)). Открытость, да! Да, с побочными эффектами.

    Так что там нового?
    Как я уже писал выше, спецификация HTML5 несет в себе множество изменений разного уровня и разной важности. Принципиально, ключевые изменения можно разделить на 5 блоков:

    • Семантика. В HTML5 появился ряд новых семантических тегов, позволяющих более осмысленно организовывать внутреннюю структуру веб-страниц. Это включает как блочные теги вроде header, footer, article, так и теги для разметки текста, например, mark, ruby, details. Ряд существующих тегов HTML4 признан устаревшим, отдельные теги поменяли свое значение, определенные изменения претерпели атрибуты.
    • Мультимедиа. HTML5 добавляет нативную поддержку мультимедийного контента (аудио и видео) прямо в HMTL-разметке - с соответствующим API для управления воспроизведением (и некоторыми заморочками с кодеками).
    • Графика. Работать с графикой на стороне клиента стало заметно проще. В HTML5 добавлен элемент canvas и специальный API на javascript для работы с ним. Canvas представляет собой динамическую «поверхность», поверх которой можно программного рисовать. Также в HTML5 официально включен тег svg, позволяющий внедрять векторную графику, описываемую соответствующим веб-стандартом (SVG, Scalable Vector Graphics).
    • Веб-формы. Новые элементы веб-формы: как типы, так и атрибуты, позволяющие расширить возможности традиционных форм встроенными средствами без использования дополнительных библиотек - от подсказок в поле ввода (placeholder) и проверки вводимых значений до специальных элементов для ввода дат и цвета.
    • javascript APIs. Как обозначенные выше API для работы с графикой и мульмедиа, так новые возможности по перемещению объектов (Drag & Drop) и работе с историей переходов (History API), а также ряд мелочей, вроде возможности сделать контент редактируемым прямо в текущем месте с помощью Content Editable атрибутов.

    HTML5 - это спецификация. HTML5 - это и зонтичный термин, объядиняющий в себе целое семейство спецификаций, или даже, как правильнее будет сказать, новое поколение веб-стандартов.
    Вы это наверняка слышали и, наверняка, еще много раз услышите - “HTML5” - это и про верстку, и про новые стили CSS, и про множество новых API, и даже про новую версию javascript - ECMAScript5.


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

    И в этом контексте, абсолютно все равно, будете ли вы называть левую и правую части соответственно HTML5 и все остальное, или смотреть на них как стандарт HTML5 и большой маркетинговый “HTML5”, или вполне справедливо полагать первое просто HTML5, а второе каким-нибудь “HTML5 Extended” или “HTML5+” или “HTML5*” или как вам больше нравится.

    27.01.14 15.5K Введение

    Я, разработчик ASP.NET MVC , недавно искал работу, и на собеседовании много вопросов из тех, что мне задавали, касались HTML5 и его особенностей.

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

    Эти вопросы не являются ключом к успеху при поиске работы, но они, несомненно, помогут вам ориентироваться в теме.

    Удачной охоты.

    Какая связь между SGML, HTML, XML и XHTML?

    SGML (Standard generalized markup language — стандартный обобщённый язык разметки) – это стандарт, который определяет разметку документа.

    HTML – это язык разметки, который описывается с помощью SGML.

    Итак, с помощью SGML было создано DTD (определение типа документа), на которое ссылается и которого должен придерживаться HTML. Поэтому вы всегда можете найти декларацию «DOCTYPE » в начале страницы HTML, которая определяет, какое DTD будет использовать браузер при разборе кода страницы.

    Разбор кода по стандарту SGML был связан с определёнными трудностями, поэтому был создан XML, чтобы облегчить эту процедуру. XML использует SGML.

    Например, в SGML вы должны использовать открывающие и закрывающие теги, тогда как в XML вы можете использовать самозакрывающиеся теги, которые закрываются автоматически (например, “” ).

    XHML был создан из XML и использовался в HTML 4.0 . Поэтому, например, в HTML, основанном на SGML, тег
    недопустим, а в XHTML он допускается. Вы можете использовать XML определение документа, как показано в следующем примере:


    Вкратце, SGML стоит в основе всего. Старые версии HTML основаны на SGML, а HTML 4.0 использует XHTML, построенный на основе XML. Что такое HTML 5?

    HTML 5 – это новый стандарт HTML, главной целью которого является предоставление любого контента без использования дополнительных плагинов, таких как Flash, Silverlight и т.д. Он содержит всё необходимое для отображения анимации, видео, богатого графического интерфейса и прочего.

    HTML5 – это результат совместной работы World Wide Web Consortium (W3C) и Web Hypertext Application Technology Working Group (WHATWG).

    В HTML 5 нам не нужно DTD. Почему?

    HTML 5 не использует SGML или XHTML. Это полностью новая разработка, поэтому вам не нужно ссылаться на DTD. В HTML 5 вам нужно использовать следующую декларацию doctype, которая позволяет браузеру идентифицировать документ как HTML 5.

    Если я не вставлю в документ , будет ли работать HTML 5?
    Нет, браузер не сможет идентифицировать документ как HTML 5, и теги HTML 5 не будут работать корректно.

    Какие браузеры поддерживают HTML 5?

    Практически все браузеры, как Safari, Google Chrome, Firefox, Opera, Internet Explorer поддерживают HTML 5.

    Как изменилась структура страницы при переходе с HTML 4 или предыдущих версий на HTML 5?

    Обычно веб-страница содержит заголовки, подвал, навигацию, основной контент и боковой блок. Поэтому когда мы хотим представить эти блоки в HTML 4 с подходящим наименованием, мы, скорее всего, будем использовать теги DIV . Но в HTML 5 введены более понятные элементы для этих блоков, что позволило сделать код HTML более читаемым.


    Ниже приведено описание этих элементов HTML 5 из разметки на рисунке:
    • : Представляет блок заголовка страницы;
    • : Подвал страницы;
    • : Навигационные элементы страницы;
    • : Основной контент страницы (статья);
    • : Используется внутри статьи, чтобы разделить статью на секции;
    • : Представляет боковой блок страницы.
    Что такое элемент datalist в HTML 5?

    Элемент datalist в HTML 5 помогает реализовать функцию автозаполнения в поле для ввода, как показано на рисунке ниже:


    Ниже приведён код HTML для элемента DataList:

    Какие новые элементы форм введены в HTML 5?

    В HTML 5 введены десять новых важных элементов форм:

    • Color;
    • Date;
    • Datetime-local;
    • Email;
    • Time;
    • Range;
    • Telephone;
    • Number;
    • Search.

    Давайте разберём эти элементы по порядку.

    Если вы хотите отобразить диалоговое окно выбора цвета:


    Если вы хотите отобразить диалоговое окно календаря:


    Если вы хотите отобразить календарь с локальным временем:


    Если вы хотите создать HTML поле для ввода с проверкой адреса электронной почты, можно задать тип поля «email »:


    Для проверки URL-адреса используйте тип «url », как показано ниже:


    Если вы хотите отобразить поле для ввода чисел в заданном диапазоне, используйте тип «number »:


    Если вы хотите отобразить ползунок, используйте тип «range »:


    Хотите сделать поле для поиска:

    Хотите принимать только время:

    Если вы хотите сделать поле для ввода номеров телефона:

    Что такое элемент output в HTML 5?

    Элемент output требуется, когда вы хотите отобразить сумму двух введённых чисел в виде текста.

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

    Ниже приведён пример использования элемента output в HTML 5:

    + =

    Вы можете заменить «parseInt » на «valueAsNumber » для простоты. Также вы можете использовать атрибут «for» элемента output для повышения читаемости.

    Что такое SVG?

    SVG означает scalable vector graphics (масштабируемая векторная графика). Это текстовой язык графики, с помощью которого можно рисовать изображения в виде текста, линий, точек и т.п., что позволяет создавать лёгкие и быстро обрабатываемые браузером изображения.

    Можно ли сделать простое SVG изображение, используя HTML 5?

    Допустим, мы хотим отобразить простую линию, как показано на рисунке ниже, используя HTML 5 и SVG:


    Ниже приведён код HTML 5. Вы можете видеть тэг SVG, который заключает в себя тэг line , отображающий линию:

    Что такое канва в HTML 5?

    Канва – это область HTML документа, в которой вы можете рисовать.

    Итак, как же нарисовать простую линию при помощи канвы?

    • Определите область канвы;
    • Получите доступ к контексту канвы;
    • Нарисуйте изображение.
    Определение области канвы

    Чтобы определить область канвы, вам потребуется следующий HTML код. Он определяет область, в которой вы можете рисовать:

    Получение доступа к области канвы

    Прежде чем приступить к рисованию в области канвы, нужно получить ссылку на контекст канвы. Ниже приведён код, позволяющий это сделать:

    var c=document.getElementById("mycanvas"); var ctx=c.getContext("2d");

    Рисование изображения

    Теперь, когда у вас есть доступ к контексту объекта, можно начинать рисовать по канве. Поэтому сначала вызываем метод «move » и начинаем с точки 10, 10, используем метод «line », чтобы нарисовать линию, и, наконец, применяем к ней штриховку:

    ctx.moveTo(10,10); ctx.lineTo(200,100); ctx.stroke();

    Ниже приведён полный код:

    function DrawMe() { var c=document.getElementById("mycanvas"); var ctx=c.getContext("2d"); ctx.moveTo(10,10); ctx.lineTo(200,100); ctx.stroke(); }

    Вы должны получить результат, как на следующем рисунке:

    В чём разница между канвой и SVG?

    Замечание : Если вы посмотрите на предыдущие два вопроса, то поймёте, что и канва, и SVG применяются для отображения графики в браузере. Поэтому задавая этот вопрос, интервьюер хочет узнать, когда вы будете использовать то или другое .

    SVG Канва
    SVG действует по принципу «нарисовал и запомнил ». Другими словами любая фигура, нарисованная с помощью SVG, запоминается, допускает манипуляции над собой, и браузер может нарисовать её снова. Канва действует по принципу «нарисовал и забыл ». После того, как что-то нарисовано, вы не можете получить доступ к этому изображению и манипулировать им.
    SVG подходит для создания графики такой, как в программах CAD, где пользователь может манипулировать однажды нарисованным изображением. Канва хороша для сценариев «нарисовал и забыл », таких как анимация и игры.
    Медленный формат, т.к. ему требуется запоминать координаты для будущих манипуляций. Более быстрый формат, т.к. нет надобности запоминать что-либо.
    Мы можем создать обработчик событий, связанный с нарисованным объектом. В этом случае мы не можем привязать обработчик событий к объектам рисунка, т.к. у нас нет ссылки на них.
    Не зависит от разрешения. Зависит от разрешения.
    Как нарисовать прямоугольник, используя элементы Canvas и SVG в HTML 5?

    HTML 5 код прямоугольника с помощью SVG

    HTML 5 код прямоугольника с помощью канвы:

    var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.rect(20,20,150,100); ctx.stroke();

    HTML 5 код круга с помощью SV:

    HTML 5 код круга с помощью канвы:

    var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d"); var centerX = canvas.width / 2; var centerY = canvas.height / 2; var radius = 70; context.beginPath(); context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); context.fillStyle = "green"; context.fill(); context.lineWidth = 5; context.strokeStyle = "#003300"; context.stroke();

    Манипуляции с нарисованным изображением в SVG:

    var timerFunction = setInterval(DrawMe, 20); alert("ddd"); function DrawMe() { var circle = document.getElementById("circle1"); var x = circle.getAttribute("cx"); var newX = 2 + parseInt(x); if(newX > 500) { newX = 20; } circle.setAttribute("cx", newX); }

    Что такое селекторы в CSS?

    Селекторы помогают выбрать элемент, к которому вы хотите применить стиль. В качестве примера ниже приведён простой стиль «intro», который применяет красный цвет фона к HTML элементу:

    .intro { background-color: red; }

    Чтобы применить стиль «intro » к элементу div, мы можем использовать атрибут «class », как показано в следующем блоке кода:

    My name is Shivprasad koirala.

    I write interview questions.

    Как можно применить стиль CSS, используя значение ID?

    Допустим, у вас есть HTML тэг параграфа с id «mytext », как показано в следующем примере:

    Это вопросы по HTML, которые могут задать на собеседовании.

    Вы можете создать стиль, используя селектор «# » и значением свойства «id », чтобы применить стили CSS к соответствующему тэгу параграфа. Поэтому, чтобы применить стиль к элементу «mytext » мы можем использовать селектор «#mytext », как показано ниже:

    #mytext { background-color: yellow; }

    Коротко рассмотрим некоторые важные селекторы

    Установка жёлтого фона для всех параграфов и заголовков h1 :

    p,h1 { background-color:yellow; }

    Установка жёлтого фона для всех параграфов внутри элемента div :

    div p { background-color: yellow; }

    Установка жёлтого фона для всех параграфов, следующих за элементом div :

    div+p { background-color: yellow; }

    Установка жёлтого фона для всех элементов с атрибутом «target »:

    a { background-color: yellow; } ASP.NET interview questions c# interview questions .NET interview questions with answers

    Установка жёлтого фона полей для ввода при получении ими фокуса:

    input:focus { background-color: yellow; }

    Установка стиля гиперссылок, в зависимости от их статуса:

    a:link {color: green;} a:visited {color: green;} a:hover {color: red;} a:active {color: yellow;}

    Как использовать разбивку контента по колонкам в CSS?

    Разбивка по колонкам в CSS помогает вам разделить ваш текст на вертикальные колонки.

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

    Здесь нам на помощь придёт разбивка по колонкам HTML 5.


    Чтобы реализовать разбивку по колонкам, вам потребуется определить следующее:

    На сколько колонок требуется разбить текст?

    Для определения количества колонок используется свойство column-count . Префиксы «webkit » и «moz » необходимы для браузеров Chrome и Firefox соответственно.

    Moz-column-count:3; /* Firefox */ -webkit-column-count:3; /* Safari и Chrome */ column-count:3;

    Какой промежуток сделать между колонками?

    Moz-column-gap:40px; /* Firefox */ -webkit-column-gap:40px; /* Safari и Chrome */ column-gap:20px;

    Хотите ли вы нарисовать линию между колонками, и если да, какой толщины?

    Moz-column-rule:4px outset #ff00ff; /* Firefox */ -webkit-column-rule:4px outset #ff00ff; /* Safari и Chrome */ column-rule:6px outset #ff00ff;

    Ниже приведён полный код примера:

    .magazine { -moz-column-count:3; /* Firefox */ -webkit-column-count:3; /* Safari and Chrome */ column-count:3; -moz-column-gap:40px; /* Firefox */ -webkit-column-gap:40px; /* Safari and Chrome */ column-gap:20px; -moz-column-rule:4px outset #ff00ff; /* Firefox */ -webkit-column-rule:4px outset #ff00ff; /* Safari and Chrome */ column-rule:6px outset #ff00ff; }

    Затем вы можете применить этот стиль к тексту, используя атрибут «class »:

    Здесь следует ваш текст, который вы хотите разбить на 3 колонки:

    Расскажите о блочной модели CSS

    Блочная модель CSS – это прямоугольное пространство вокруг элемента HTML, в котором определяются границы, поля и отступы.

    Границы – определяют максимальную область, в которой будет содержаться элемент. Мы можем сделать границу видимой, невидимой, определить высоту и ширину элемента и т.п. Поля – определяют расстояния между границами и элементом.

    Отступы – определяют расстояния между границами и соседними элементами.


    В качестве примера, ниже приведён простой CSS код, который определяет блок и значения границ, полей и отступов:

    Поэтому, если мы применим этот код CSS к элементу div, приведённому в следующем блоке кода, результат будет такой, как показано на рисунке ниже. Я добавил элементы «Some text » и «Some other text », чтобы продемонстрировать свойство «margin » (отступ).

    Some text Some other text

    Расскажите о некоторых текстовых эффектах в CSS 3

    Здесь интервьюер ожидает от вас рассказа об одном из двух эффектов, появившихся в CSS 3.

    Ниже приведены оба эффекта:

    Эффект тени текста

    Specialtext { text-shadow: 5px 5px 5px #FF0000; }


    Эффект разрыва слов:

    .breakword { word-wrap: break-word; }

    Что такое web workers и зачем они нужны?

    Рассмотрим следующий «тяжёлый » цикл for , который выполняется миллиард раз:

    function SomeHeavyFunction() { for (i = 0; i < 1000000000; i++) { x = i + x; } }

    Допустим, этот код исполняется при нажатии на кнопку HTML формы. Исполнение этой функции синхронное. Другими словами браузер будет ждать окончания цикла.

    В итоге это может привести к зависанию браузера и сообщению об ошибке, как показано на рисунке ниже:


    Поэтому если бы мы могли поместить этот тяжёлый цикл в файл JavaScript и запустить его асинхронно, тогда браузеру не пришлось бы ждать его завершения, и мы бы получили более отзывчивое приложение.

    Для этого и предназначена технология web workers , позволяющая исполнять файлы JavaScript асинхронно.

    Какие ограничения накладываются на поток Web Worker?

    Потоки web worker не могут изменять HTML элементы, глобальные переменные и некоторые свойства окон, такие как window.location . Вы можете использовать типы данных javascript, вызовы XMLHttpRequest и прочее.

    Так как же создать поток web worker в JavaScript?

    Чтобы создать поток web worker, мы должны передать имя файла JavaScript в конструктор Worker.

    var worker = new Worker("MyHeavyProcess.js");

    Чтобы отправить сообщение объекту web worker , можно использовать метод «postMessage », как в приведённом ниже коде:

    worker.postMessage();

    Когда web worker посылает сообщение, мы можем получить его на вызывающей стороне с помощью события «onmessage».

    worker.onmessage = function (e) { document.getElementById("txt1").value = e.data; };


    Тяжёлый цикл помещён в javascript файл «MyHeavyProcess.js », ниже приведён его код.

    Когда этот код пожелает отправить сообщение, он использует метод «postMessage », а любое сообщение, полученное от вызывающей стороны, получается при помощи события «onmessage »:

    var x =0 self.onmessage = function (e) { for (i = 0; i < 1000000000; i++) { x = i + x; } self.postMessage(x); };

    Как уничтожить объект web worker? Зачем в HTML 5 введены события server-sent?

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


    Поэтому, чтобы реализовать этот тип запросов, разработчики обычно пишут некоторый pull-код, который отправляет запросы на сервер и получает оттуда данные через определённые интервалы времени. Это хорошее решение, но оно забивает сеть множеством запросов, а также добавляет нагрузку на сервер.

    Поэтому вместо pull-запросов было бы здорово иметь какое-нибудь push-решение. Проще говоря, когда сервер получает обновление, он рассылает его браузерам клиентов. Это может быть достигнуто с помощью «SERVER-SENT СОБЫТИЙ ».

    Сначала браузер должен связаться с источником на сервере, который будет посылать обновления. Допустим, у нас есть страница «stock.aspx », которая рассылает обновления котировок.

    Чтобы связаться со страницей, мы должны использовать привязку к объекту источника события, как показано в коде ниже:

    var source = new EventSource("stock.aspx");

    Нам также потребуется привязать функцию, которая будет получать сообщения, когда сервер будет рассылать обновления. Для этого нам нужно привязать функцию к событию «onmessage », как показано в следующем коде:

    source.onmessage = function (event) { document.getElementById("result").innerHTML += event.data + "
    "; };

    Наконец, со стороны сервера нам нужно рассылать события. Ниже приведён список важных событий, с командами, которые должны рассылаться со стороны сервера.

    Например, если мы хотим отправить данные, ниже приведён код ASP.NET , чтобы сделать это. Пожалуйста, обратите внимание, что заголовок «ContentType » установлен в «text/event-stream »:

    Response.ContentType="text/event-stream"; Response.Expires=-1; Response.Write("data: " + DateTime.Now.ToString()); Response.Flush();

    Чтобы попросить клиент повторить запрос через 10 секунд.

    Response.Write("retry: 10000");

    Если вы хотите привязать обработчик события на стороне клиента, используйте метод «addEventListener », как показано ниже.

    source.addEventListener("message", function(e) { console.log(e.data); }, false);

    Следующее сообщение сервера вызовет javascript функцию «message »:

    event: message data: hello

    Расскажите о концепции локального хранилища в HTML 5

    Часто нам нужно хранить информацию о пользователе на его локальном компьютере. Допустим, пользователь наполовину заполнил большую форму, и неожиданно пропадает интернет соединение.

    Поэтому хорошо было бы хранить эту информацию локально у пользователя, а когда интернет соединение восстановится, пользователь использовал бы её и отправил на сервер.

    Современные браузеры имеют хранилище, называемое «Локальным хранилищем » («Local storage »), где вы можете хранить эту информацию.

    Как мы можем добавлять и удалять данные из локального хранилища?

    Данные добавляются и удаляются из локального хранилища с помощью пары «ключ-значение ». Ниже приведён пример кода добавления страны «India » с ключом «Key001 »:

    localStorage.setItem(“Key001”,”India”);

    Получить данные из локального хранилища можно с помощью метода «getItem », передав ему значение ключа:

    var country = localStorage.getItem(“Key001”);

    Также вы можете хранить объекты JavaScript, как показано ниже:

    var country = {}; country.name = “India”; country.code = “I001”; localStorage.setItem(“I001”, country); var country1 = localStorage.getItem(“I001”);

    Если вы хотите хранить данные в формате JSON, вы можете использовать функцию «JSON.stringify »:

    localStorage.setItem(“I001”,JSON.stringify(country));

    Какой срок жизни у локального хранилища?

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

    В чём разница между локальным хранилищем и cookies?
    Cookies Локальное хранилище
    Сторона клиента / Сторона сервера Данные доступны как на стороне клиента, так и на стороне сервера. Cookies пересылаются на сервер при каждом запросе Данные доступны только на стороне браузера клиента. Сервер не может получить доступ к данным локального хранилища до тех пор, пока они не отправлены на сервер методом POST или GET
    Размер 4095 байт для каждой cookie 5 Мб для каждого домена
    Срок хранения Cookies имеют срок хранения. После истечения этого срока, cookie удаляются Срока хранения не существует. Данные будут храниться до тех пор, пока пользователь не удалит их из своего браузера, либо вы не удалите их, используя код JavaScript
    Что такое хранилище сессии и как его создать?

    Хранилище сессии похоже на локальное хранилище, но данные действительны на протяжении сессии. Проще говоря, данные удаляются, как только вы закрываете браузер.

    Чтобы создать хранилище сессии, вам нужно использовать конструкцию «sessionStorage.имяпеременной». В следующем коде мы создаём переменную «clickcount ».

    Если вы обновите страницу в браузере, счётчик увеличится. Но если вы закроете браузер и откроете его снова, переменная «clickcount » снова установится в ноль:

    if(sessionStorage.clickcount) { sessionStorage.clickcount=Number(sessionStorage.clickcount)+1; } else { sessionStorage.clickcount = 0; }

    В чём разница между хранилищем сессии и локальным хранилищем?

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

    Что такое WebSQL?

    WebSQL – это реляционная база данных, работающая на стороне браузера клиента. Внутри браузера есть реляционная СУБД, в которой вы можете выполнять SQL запросы.

    Является ли WebSQL частью спецификации HTML 5?

    Нет. Многие относят его к HTML 5, но WebSQL не является частью спецификации HTML 5. Спецификация основана на SQLite.

    Так как же можно использовать WebSQL?

    Для начала нам нужно открыть базу данных, с помощью функции «openDatabase », как показано ниже. Первый аргумент – это имя базы данных, далее версия, простое текстовое название и размер базы данных.

    var db=openDatabase("dbCustomer","1.0","Customer app’, 2 * 1024 * 1024);

    Выполнять запросы можно с помощью функции «transaction », вызывая внутри неё метод «executeSql »:

    db.transaction(function (tx) { tx.executeSql("CREATE TABLE IF NOT EXISTS tblCust(id unique, customername)"); tx.executeSql("INSERT INTO tblcust (id, customername) VALUES(1, "shiv")"); tx.executeSql("INSERT INTO tblcust (id, customername) VALUES (2, "raju")"); }

    В случае если вы выполняете запрос «select », вы получаете данные в коллекцию «results », которую можно обходить и отображать результаты на странице:

    db.transaction(function (tx) { tx.executeSql("SELECT * FROM tblcust", , function (tx, results) { for (i = 0; i < len; i++) { msg = "

    " + results.rows.item(i).log + "

    "; document.querySelector("#customer).innerHTML += msg; } }, null); });

    Что такое кэш приложения в HTML5?

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

    Кэш приложения помогает вам определить, какие файлы должны быть кэшированы, а какие нет.

    Так как же нам реализовать кэш приложения в HTML 5?

    Нам необходимо создать файл «манифеста ». Файл «манифеста » помогает вам определить, как должно работать кэширование. Ниже приведена структура файла «манифеста »:

    CACHE MANIFEST # version 1.0 CACHE: Login.aspx

    • Все файлы «манифеста» начинаются со строки CACHE MANIFEST;
    • # (хэш тэг) помогает указать версию файла кэша;
    • Команда CACHE определяет, какие файлы должны быть кэшированы;
    • Заголовок «ContentType» файла должен быть «text/cache-manifest».

    Ниже приведён манифест кэша, выведенный с помощью ASP.NET C#:

    Response.ContentType = "text/cache-manifest"; Response.Write("CACHE MANIFEST n"); Response.Write("# 2012-02-21 v1.0.0 n"); Response.Write("CACHE: n"); Response.Write("Login.aspx n"); Response.Flush(); Response.End();

    После того, как манифест кэша создан, следующий этап – указать ссылку на файл манифеста на странице HTML, как показано ниже:

    Когда эта страница открывается впервые, она добавляется в кэш приложения браузера и в случае потери связи с сервером, страница возвращается из кэша приложения.

    Как обновить кэш приложения браузера?

    Кэш приложения обновляется при смене номера версии, указанного после тэга «# », как показано в следующем коде:

    CACHE MANIFEST # version 2.0(new) CACHE: Login.aspx Aboutus.aspx NETWORK: Pages.aspx

    Что такое fallback в кэше приложения?

    Команда fallback в кэше приложения помогает вам указать файл, который должен быть отображён, когда сервер недоступен.

    Например, в манифесте, приведённом ниже, мы говорим, что если кто-то заходит в «/home», когда сервер недоступен, то должна быть возвращена страница «homeoffline.html »:

    FALLBACK: /home/ /homeoffline.html

    Что такое network в кэше приложения?

    Команда network определяет файлы, которые не должны быть кэшированы. Например, приведённый ниже код говорит, что страница «home.aspx» никогда не должна кэшироваться, и не должна быть доступна в автономном режиме:

    NETWORK: home.aspx

    Данная публикация представляет собой перевод статьи «40 important HTML 5 Interview questions with answers » , подготовленной дружной командой проекта

    Хорошо Плохо

    >> Что такое HTML5

    Что такое HTML5 и почему это становится модным?

    Здравствуйте, дорогие читатели!

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

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

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

    Новая версия языка гипертекста HTML5 призвана стать адекватным ответом на все вызовы современного пользователя компьютера и интернета.

    Новый язык для создания веб-сайтов будет максимально динамичным, максимально интерактивным и полностью адаптированным к масс-медиа продуктам. Как известно, предыдущие попытки всеобщей стандартизации успешно проработали некоторое время. Но за последние несколько лет произошла Новая Интернет-Революция. Потребности пользователей кардинально изменились. Появилась масса мобильных операционных систем, которые плохо сочетаются со стационарными компьютерами.

    Новый язык HTML5 будет мультисистемным, кроссбраузерным. Сайты, созданные на технологии HTML5, будут одинаково хорошо читаться на десктопе, на планшете, на смартфоне. В любых популярных оперативках: Windows, iOS, Mac OS, Android, Windows Mobile, Linux и что там еще есть.

    Чтобы на сайте, созданном на HTML5, смотреть видео, вам больше не понадобится устанавливать на свой компьютер Adobe Flash Player. Тем более, многие современные мобильные устройства вообще не работают с форматом Flash. Как же смотреть ролики? Для этого будет HTML5.

    Технология Flash давно портит кровь оптимизаторам и владельцам сайтов. Флеш-сайты практически невозможно оптимизировать и продвигать методиками SEO. Чтобы раскручивать Flash проект, приходится прибегать к очень недешевой контекстной и баннерной рекламе. Многие ведущие мировые разработчики давно уже стремятся избавиться от флеш и всех проблем, с которыми связана данная технология. Таким образом, новый HTML5 будет разрабатываться таким образом, чтобы пользователю вообще больше не понадобились никакие дополнительные аппликации для качественного восприятия сайтов.

    Новые сайты будут еще более интерактивными и заточенными под все, что так необходимо современному пользователю:

    В HTML5 будет сочетаться обычный HTML, CSS, XHTML, DHTML, Ajax. Часть устаревших тегов устраняются, чтобы уменьшить вес страниц и ускорить скорость загрузки. Добавляется некоторое количество новых тегов, которых не было в предыдущих версиях HTML. Более обширно обещает быть представлена столь любимая поисковыми машинами семантическая разметка.

    Поскольку интернет становится все более и более мобильным, HTML5 должен обеспечить полную совместимость с сенсорным управлением на планшетах и смартфонах.

    На этот раз консорциум C3W решил разом разрубить все гордиевы узлы и решить все накопившиеся за годы существования интернета проблемы и несостыковки. К сожалению, задача разработки несколько затянулась. На начало 2014 года работа все еще продолжается и долгожданного объявления об окончательном запуске готового HTML5-продукта все еще нет.

    На этом у меня все.

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

    С уваженем, Виталий Шматов!

    Люди, плохо знакомые со сферой веб-дизайна, часто слышат слово “разметка” и задаются вопросом, что оно означает и как отличается от более широко известного термина “код”. В основном язык разметки предназначен для обработки, определения и представления информации о тексте; теги стилей и текстовые аннотации записываются в файлах стилей, чтобы упростить работу с текстом для компьютера. Исторически сложилось, что термин “разметка” произошел от английского marking-up , а сам процесс от manuscript marking-up – процесса разметки рукописи перед отдачей ее в печать. Здесь речь пойдет о наиболее часто используемом языке разметки – HTML. Несколько лет назад для этого языка было выпущено обновление под названием HTML5. В этом руководстве мы расскажем, что такое HTML5 и поведаем о различиях между HTML и HTML5.

    Что такое HTML?

    HTML можно назвать основным языком Всемирной паутины. Большинство веб-страниц, размещенных в Интернете, написаны в какой-либо из вариаций HTML. С помощью него разработчики определяют то, как мультимедиа, текст или гиперссылки будут отображаться среди другого контента в браузере. Начиная от элементов, которые устанавливают связи с вашим документом (гипертекстом), до элементов которые делают эти документы интерактивными (например формы) – все это является составными частями HTML.

    Стандарт HTML был разработан W3C или Консорциумом Всемирной Паутины в 1997 году. В HTML для определения структуры текста используются теги; теги и элементы выделяются с использованием символов < и >. Вот лишь некоторые из примеров для ранее упомянутых тегов – это заголовки, таблицы, абзацы и т. д. В свою очередь, браузеры отвечают за визуализацию содержимого страницы с помощью этих тегов. HTML не был единственным стандартом веб-разработки. В первые дни развития Интернета все теги контента и стили присутствовали на одном гигантском, громоздком (и довольно сложном) языке. Со временем W3C пришла к решению о необходимости разделения контента и стиля страницы; Это привело к созданию таблиц стилей или CSS. В настоящее время теги, которые используются для определения стиля текста (например FONT), нежелательны и почти не используются, на их место пришли таблицы стилей и только теги определения содержимого (например H1) по-прежнему составляют ядро ​​HTML.

    С течением времени в HTML было много обновлений, и в настоящее время его новейшей версией является HTML5. HTML5, конечно прежде всего является языком разметки, но он приобрел множество функций в отличии от HTML и устранил некоторые из строгостей, присутствовавших в XHTML. Хотя HTML5 обновляется практически каждый день, однако новых выпущенных пронумерованных выпусков нет. Основным различием между HTML и HTML5 может стать то, что ни аудио, ни видео не являются составной частью HTML, тогда как они оба могут рассматриваться как неотъемлемые части HTML5.

    Чтобы полностью ответить на вопрос что такое HTML, нужно затронуть и этапы его развития. Так как с течением времени он неоднократно изменялся.

    Единственной постоянной вещью в области информационных технологий является то, что периодические обновления и изменения неизбежны. Ни один язык не может избежать обновлений или новых выпусков. HTML не является исключением. HTML5 был выпущен с целью улучшения работы Всемирной паутины как для разработчиков, так и для обычных пользователей. Как уже упоминалось, самым большим преимуществом, которое имеет HTML5 над своим ненумерованным предшественником, является то, что у него есть поддержка аудио и видео высокого уровня, которая не была частью спецификации в предыдущих HTML. Другие различия между HTML и HTML5:

    • SVG, canvas и другая виртуальная векторная графика поддерживаются в HTML5, тогда как в HTML использование векторной графики стало возможным только при использовании его в сочетании с различными технологиями, такими как Flash, VML, Silver-light и т.д.
    • HTML5 использует базы данных SQL и кеш приложений для временного хранения данных, тогда как в HTML для этого используется только кэш браузера.
    • Еще одно отличие между HTML и HTML5, о котором стоит упомянуть: первый не позволяет запуск JavaScript в коде (вместо этого он работает в потоке интерфейса браузера), тогда как последний обеспечивает полную поддержку JavaScript для запуска в фоновом режиме.
    • HTML5 не основан на SGML, и это позволяет ему иметь улучшенные правила синтаксического анализа, которые обеспечивают улучшенную совместимость.
    • В HTML5, в тексте могут использоваться встроенные MathML и SVG, тогда как это невозможно в HTML.
    • Некоторые из устаревших элементов были полностью удалены: isindex, noframes, acronym, applet, basefont, dir, font, frame, frameset, big, center, strike, tt.
    • HTML5 поддерживает новые виды элементов управления, к примеру, dates and times, email, number, range, tel, url, search и т.д.
    • В HTML появилось много новых элементов. Вот некоторые из самых важных: summary, time, aside, audio, command, data, datalist, details, embed, wbr, figcaption, figure, footer, header, article, hgroup, bdi, canvas, keygen, mark, meter, nav, output, progress, rp, rt, ruby, section, source, track, video.

    Основные преимущества HTML5 для разработчиков

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

  • Постоянная обработка ошибок:
  • Большинство браузеров поддерживают парсинг структурно или синтаксически неправильного HTML кода, но до недавнего времени для этого не было стандартного процесса. Это означает, что разработчикам новых браузеров необходимо производить тесты неверных HTML документов для создания более улучшенного процесса обработки ошибок. Постоянная обработка ошибок в HTML5 сыграла в этом процессе огромное значение.

    Улучшенные алгоритмы парсинга, которые используются в HTML5 имеют неоценимые преимущества. Исследования показывают, что около 90% сайтов могут содержать некорректно написанный код, поэтому очень важно обрабатывать эти ошибки. Кроме того, присущая HTML5 обработка ошибок сохраняет разработчикам много денег и массу времени.

  • Улучшенная семантика для элементов:
  • Для упрощения и улучшения понимания кода были внесены улучшения в семантические роли различных существующих элементов. Section, article, nav и header – это новые элементы, которые заменили большинство из ныне устаревших div элементов. Это сделало процесс обработки ошибок менее сложным.

  • Расширенная поддержка функций веб-приложений:
  • Одной из главных целей HTML5 было создание возможности функционирования браузеров в качестве платформы для приложений. Веб-сайты в прошлом были намного менее сложными, но со временем громоздкость возрастала. HTML5 предоставляет разработчикам расширенный контроль над производительностью своих сайтов. Раньше разработчикам приходилось использовать обходные пути, поскольку многие серверные технологии и браузерные расширения отсутствовали. Теперь, при использовании HTML5 нет смысла использовать какие-либо JS или Flash расширения (как это было в HTML4), поскольку в HTML5 присутствуют элементы, которые обеспечивают все эти функции.

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

  • Элемент canvas:
  • Одной из самых обсуждаемых особенностей HTML5 является элемент . Внедрение этого уникального тега произвело огромное влияние на Adobe Flash. Несмотря на то, что многие сайты до сих пор используют Flash, все больше людей склоняются к использованию HTML5, именно поэтому есть основание полагать, что Flash в ближайшем будущем полностью устареет.

    Используя элемент canvas разработчики могут рисовать с помощью скриптов (например JavaScript) графические изображения с применением различных цветов. Стоит упомянуть, что canvas это обычный графический контейнер и для показа изображения необходимо выполнение скрипта. Вот пример использования JavaScript в сочетании с canvas:

    var c = document.getElementById(“TestCanvas”); var context = c.getContext(“2d”); context.fillStyle = “#FF0000”; context.fillRect(0,0,140,75);

  • Элемент m enu :
  • Недавно добавленные элементы и являются составными частями интерактивных элементов, однако, они не очень популярны в сообществе разработчиков. Несмотря на это, эти два элемента могут быть использованы для обеспечения более лучшей интерактивности на странице.

    Тег используется для простоты предоставления команд меню на мобильных приложениях и приложениях рабочего стола. Здесь показано возможное применение тега :

    Hello!

  • Настраиваемые атрибуты данных :
  • Добавление пользовательских атрибутов было возможно и до появления HTML5, но оно было связано с определенным риском, к примеру, в HTML4 пользовательские атрибуты могли приводить к остановке рендера страницы или что еще хуже, могли стать причиной неправильной работы документа. Атрибут data-* в HTML5 поставил точку в решении этой часто встречающейся проблемы. Этот атрибут имеет несколько предназначений, но основной целью его введения было хранение дополнительной информации о разных элементах. Теперь, благодаря этому атрибуту могут быть включены пользовательские данные, что дает разработчикам больше возможностей сделать привлекательные и эффективные страницы, без лишних запросов на сервер или вызовов Ajax.

  • (Возможное) прощание с Cookies:
  • Поддержка локального хранилища стала важным дополнением к HTML5. До появления HTML5, если разработчики хотели хранить что-либо на стороне пользователя, им приходилось использовать файлы cookie. Однако файлы cookie могут содержать лишь небольшой объем данных (не говоря уже о том, что все их ненавидят), это прибавило добавлению объекта localStorage в HTML5 еще больше преимуществ. Объект localStorage является частью глобального пространства имен и при использовании скриптов может быть доступен из любого места.

    Шпаргалка HTML5

    Если вы еще не знаете что такое HTML5 и с чем его едят, шпаргалка может быть отличным подспорьем при его изучении. Используйте приведенную ниже таблицу стилей HTML, для более продуктивного начала работы с HTML. Эта шпаргалка показывает наиболее часто используемые теги HTML.

    Преимущества HTML5 для обычного пользователя

    HTML5 привел к сдвигу устоявшейся модели программирования как для разработчиков, так и для обычных пользователей. Приведем примеры нескольких преимуществ для обычных пользователей:

  • Мобильные браузеры теперь работают более стабильно, чем стандартные приложения. До появления HTML5 ситуация была иная.
  • Сегодня ставка на адаптивные сайты (дружелюбные к мобильным устройствам) очень высока, так как почти 30 процентов пользователей мобильных устройств не хотят загружать специальные приложения. Это стало еще одним преимуществом HTML5, к примеру, если пользователь хочет использовать услуги компании, но не хочет загружать специальное приложение, он может просто зайти на сайт компании, чтобы сделать это.
  • Искоренение необходимости использования Adobe Flash позволяет разработчикам обеспечить более эстетичный пользовательский интерфейс. Использование JavaScript и MPEG4 в сочетании с HTML5 сделало жизнь пользователей намного лучше.
  • Возможность поддержки собственных аудио и видео элементов означает, что пользователям не придется загружать дополнительные плагины для просмотра мультимедиа на вашем сайте. Поддержка мультимедиа, предоставляемая HTML5, является одной из самых значимых причин, по которой он используется намного чаще чем HTML.
  • Заключение

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

    Несмотря на то, что волна изменений уже настигла многих разработчиков по всему миру, ожидается, что в ближайшие годы HTML5 еще более расширит свое влияние. Очень важно адаптироваться и узнать что такое HTML5 сейчас, чтобы максимально использовать возможности современных браузеров.
    Если вы хотите оптимизировать ваш HTML код, вы можете посетить .



    
    Top