Как уже было сказано, веб-формы являются важной составляющей HTML5. В историческом аспекте, HTML5 вырос из проекта Web Applications 1.0, впоследствии включив в себя в качестве составной части спецификацию Web Forms 2.0, описывающую новые элементы форм и дополнения к существующим. Поэтому, безусловно, веб-формы заслуживают большого внимания, как этого заслуживают и другие элементы, но они никогда не были в центре внимания в разговорах об HTML5, в отличие от, скажем, canvas, медиа-элементов, семантических структурных тегов и различных API.
Относительно веб-форм, особенно новых элементов ввода, есть много неоднозначных моментов, которые еще будут требовать утряски, и, прежде всего, это касается внешнего вида и взаимодействия с пользователем:
Основная суть Drag&Drop - в специальных событиях, отмечающих отдельные этапы процесса переноса элементов и перенос данных вместе с элементами через специальные объекты. В общем, D&D в IE5+ есть, но h5t об этом не знает (в отличие от Modernizr), т.к. выносит вердикт только по конкретному не поддерживаемому в IE новому атрибуту.
элемента и наличия у него свойства type.Замечание
: полтора месяца назад данный тег вырезан как из спецификации от W3C, так и из спецификации от WHATWG, на которую ссылается автор. Реализация соответствующего функционала должна реализовываться через специальный API.
Блок Other 2 test | 6 points
Проверяются несколько разрозненных свойств. (Подозреваю, что для круглого счета в тесте.)
Замечание
: метод относится к DOM Range и в соответствующую спецификацию.
Замечание
: метод перенесен в CSSOM .Выводы по содержанию тестов
Первое, что приходит в голову при взгляде на развертку и описание тестов - поверхностность
. Тест, ставя перед собой большую задачу проверить уровень поддержки HTML5 в различных браузерах (во всяком случае именно так он воспринимается), ни капли не закапывается внутрь большинства проверяемых технологий, ограничиваясь формальной проверкой наличия тех или иных свойств и методов.Произвольность раздачи баллов
- я об этом уже писал в начале обзора, но повторю еще раз: раздача баллы за различные «достижения» делается на усмотрение автора волевым решением. В итоге где-то за поверхностную проверку вешается по 15 баллов, где-то по 1-2 за проверку наличия свойств, а где-то 5 баллов дается за 19 проверок алгоритма парсинга или 0,26 балла в пересчете на каждую проверку.
Связанная с произвольностью вещь: перекос акцентов
. Как отмечается в начале, очень большой акцент отдается веб-формам (даже с поверхностным подходом), маленький акцент дается проверке деталей работы Canvas, Video или Audio и различных API. Множеством проверок оценивается работа алгоритма парсинга, единичными проверкам оценивается работа API, включающих по 50+ методов и свойств (Canvas) и множество различных нюансов.
Баги
. Они есть - как в проверках, так и относительно проверяемых стандартов или их частей, некоторые из них уже не поддерживаются или трансформированы так, что проверки, включенные в тест не актуальны.
Тест включает вещи, не имеющие прямого отношения к веб-стандартам
- кодеки, и WebGL, являющийся сторонним (не W3C) стандартом.
Выборочность проверяемых стандартов
: помимо того, что треть (по баллам) проверяемых вещей на сегодня не входит в стандарт HTML5, реальность таковая, что ни в области спецификации HTML5, ни в области набора новых спецификаций для Web Apps, не наблюдается 100% покрытия (даже поверхностного).
Другими словами, есть множество вещей, которые HTML5Test не проверяет совсем…
Что не тестирует h5t?
Давайте начнем с того, что посмотрим, что говорит о своем детище автор:
Результаты HTML5 test - это всего лишь индикатор того, как хорошо ваш браузер поддерживает грядущий стандарт HTML5 и связанные спецификации. Он не пытается тестировать все новые возможности HTML5, он также не проверяет функциональность каждой детектируемой возможности.
Итак, HTML5 test не
проверяет:- функциональность детектируемых возможностей, в большинстве случаев ограничиваясь проверкой наличия нужного объекта, свойства или метода;
- всех новых возможностей HTML5, помимо функциональности, без внимания остаются:
- многие новые (например, role и aria-*) и старые атрибуты, расширившие или изменившие область применения,
- расширение области действия многих событий
- и ряд других нюансов относительно изменившегося поведения многих элементов;
- реальную поддержку SVG или MathML, ограничиваясь распознаванием namespace;
- множество новых специкаций, которые можно отнести к поколению «HTML5», представляющих не меньший интерес, чем те, что выбрал автор. Например, чтобы дополнительно разбавить акцент на HTML5, можно также тестировать:
- Navigation Timing
- Progress Events
- RDFa API
- System Information API
- MediaCapture API
- Calendar API
- Clipboard API
- и ряд других не менее интересных и сырых спецификаций:)
Выводы
Выводы, как всегда, зависят от стоящих целей и того, на какие вопросы вы хотите получить ответы. Если задаваться вопросом «можно ли на основании HTML5 test судить об уровне поддержки HTML5 в браузерах», то ответ скорее нет, чем да. У этого есть множество причин, ключевые из них три: поверхностность, несбалансированность и большое количество примесей.
Если ставить вопрос немного в другом ракурсе: «отображает ли HTML5 test динамику
улучшения поддержки HTML5 в браузерах» - то, с учетом внутренней корректности большинства тестов, ответ будет скорее да, чем нет. Это, правда, не исключает того, что поддержка может быть улучшена (по тем или иным направлениям или параметрам), но тест этого не заметит в силу своей выборочности.
В техническом аспекте HTML5 test представляет, безусловно, большой интерес как пример грамотно выстроенной архитектуры для проведения тестирования браузеров.
Теги:
Добавить метки
Подробное руководство по всем новшествам стандарта HTML5. Показано, как использовать в Web-разработках новые функциональные возможности, открывающиеся при применении HTML5. Представлено множество простых и понятных практических примеров, позволяющих использовать разметку HTML5 для добавления графики, аудио, видео, автономных возможностей и много другого.
Для Web-разработчиков.
Определение поддержки функций HTML5
Все объекты DOM используют общий набор свойств. В браузерах, поддерживающих некоторые функции HTML5, некоторые объекты будут обладать уникальными свойствами. Беглый взгляд на модель DOM позволит вам выяснить, какие из функций HTML5 обеспечены поддержкой. Существует четыре базовых метода, которые позволяют выяснить, поддерживает ли браузер ту или иную функцию HTML5. Если идти по пути “от простого к сложному”, то эти методы формулируются так…
Видео в Web
Любой, кто за последние четыре года посещал сайт YouTube.com, знает о том, что в Web-страницы можно встраивать видеоролики. Но до начала работы над стандартом HTML5 стандартного метода достижения этой цели определено не было. Практически все видеоролики, которые вы когда-либо просматривали в Web, “пропускались” через какой-нибудь подключаемый модуль (плагин) от стороннего разработчика- будь то QuickTime, RealPlayer или Flash (YouTube использует Flash.) Эти подключаемые модули интегрируются с вашим браузером настолько хорошо, что вы можете даже не подозревать о том, что пользуетесь ими. По крайней мере, вы можете не подозревать об этом до тех пор, пока не попытаетесь просмотреть видео на платформе, которая не поддерживает этого плагина.
HTML5 определяет стандартный способ встраивания видео в Web-страницу с помощью элемента
Прошлое, настоящее и будущее Web-приложений для хранения данных
Постоянное локальное хранение информации - это та область, где полноценные клиентские приложения, обладающие встроенной поддержкой локального хранения информации, традиционно имели преимущество перед Web-приложениями. Для полноценных клиентских приложений операционная система, как правило, предоставляет уровень абстракций для хранения и извлечения таких специфичных для приложения данных, как настройки приложения и статус времени выполнения. Эти значения могут храниться в системном реестре (только для Windows), INI-файлах, XML-файлах или других компонентах системы, установленных для конкретной платформы. Если ваш клиент нуждается в локальном хранении других данных, а не только пар “ключ/значение”, вы можете встроить в него собственную базу данных, разработать собственный формат хранения данных или выработать целый ряд других решений.
Исторически сложилось так, что Web-приложения были лишены этих удобных возможностей. Cookie-файлы были изобретены на ранних этапах развития Web, и, естественно, их можно использовать для локального хранения небольших объемов данных. Но они имеют три крупных недостатка:
- cookie-файлы включаются в каждый запрос HTTP и, таким образом, замедляют работу вашего Web-приложения бесполезной пересылкой данных туда и обратно;
- cookie-файлы включаются в каждый запрос HTTP, поэтому данные постоянно пересылаются через Интернет в незашифрованном виде (за исключением тех случаев, когда все ваше приложение работает через SSL);
- cookie-файлы имеют ограничение по размеру (до 4 Кбайт для каждого файла). Этого уже достаточно, чтобы существенно замедлить работу вашего приложения, но явно мало для того, чтобы предоставлять реальную пользу.
А теперь давайте посмотрим, что нам требуется в реальности:
- большой объем пространства, чтобы клиентское приложение могло хранить свои данные, которые должны сохраняться между обновлениями страницы;
- возможность сохранения данных без необходимости их передачи на сервер.
До появления HTML5, все попытки добиться этих целей по различным причинам оказывались неудовлетворительными.
Что представляет собой автономное Web-приложение? На первый взгляд, кажется, что это - какое-то терминологическое недоразумение. Во всяком случае, противоречие кажется очевидным. Web-страницы - это то, что мы скачиваем и визуализируем. Скачивание подразумевает наличие сетевого соединения. Как мы можем что-то скачать, если у нас на данный момент нет соединения с Интернетом? Естественно, сделать этого мы не можем. Но при наличии соединения возможность скачивания появляется. Именно по этому принципу и работают автономные приложения HTML5.
В простейшей своей форме автономное Web-приложение представляет собой список URL - файлов HTML, CSS, JavaScript, изображений и ресурсов любого другого типа. Домашняя страница автономного Web-приложения указывает на этот список, который называется файлом манифеста (manifest file), который представляет собой просто текстовый файл, расположенный где-либо на Web-сервере. Web-браузер, который реализует автономные приложения HTML5, прочтет список URL из файла манифеста, загрузит ресурсы, кэширует их локально и будет автоматически сохранять локальные копии по мере их изменения. Когда вы пытаетесь получить доступ к Web-приложению при отсутствии сетевого соединения, ваш Web-браузер автоматически переключается на использование локальных копий.
Начиная с этого момента, большую часть работы должны выполнить вы, как Web-разработчик. В DOM есть флаг, который сообщает вам, в каком режиме вы находитесь в данный момент - онлайн или в автономном. Существуют события, которые срабатывают при изменении вашего статуса соединения (когда вы только что были в автономном режиме, а через минуту переключились в режим онлайн, и наоборот). Но если ваше приложение создает данные или сохраняет свой статус, то локальное сохранение данных при переключении в автономный режим и их синхронизация при подключении к удаленному серверу - это ваша задача. Иными словами, HTML5 позволяет переводить ваши Web-приложения в автономный режим. Что вы будете делать после этого - целиком и полностью зависит от вас.
Зачем нужно вручную управлять адресом в браузере? В конце концов, переход по новому URL можно осуществлять с помощью простой ссылки; таким способом Web работает. И Web продолжит работать таким способом. Данный API не делает попытки “подавить” Web. Как раз наоборот. Web-разработчики нашли новые интересные способы управления Web без какой-либо помощи со стороны появляющихся стандартов. HTML5 history API разрабатывался с тем,
чтобы гарантировать то, что URL останутся полезными даже в приложениях, перегруженных скриптами.
Подробное руководство по всем новшествам стандарта HTML5. Показано, как использовать в Web-разработках новые функциональные возможности, открывающиеся при применении HTML5. Представлено множество простых и понятных практических примеров, позволяющих использовать разметку HTML5 для добавления графики, аудио, видео, автономных возможностей и много другого.
Отзывы:
Если погружаешься - не забудь костюм!
В интернете ходит мысль о том, что “Погружение в HTML5” это настольная книга для любого верстальщика и веб-разработчика. Я, конечно же, не прошла мимо и ознакомилась с ней. Могу сказать, что книга для настоящих фанатов веба. Это не обзор или скачки по верхам, а самое настоящее погружение! Следовательно, к нему нужно быть готовым.
Если вы совсем новичок - эта книга не для вас, иначе будет либо скучно, либо непонятно, а может быть и то, и другое одновременно. Прошедшие этот этап и утомившиеся банальными рассказами - всем сюда! Прекрасная идея, которая возникла у меня в голове и которой я воспользовалась - читать не только раздел, который вас интересует и каждую функцию/элемент в нем, но также параллельно и документацию в качестве дополнения. Знания станут более крепкими и стабильными. А теперь мои выводы относительно книги в целом.
Из плюсов:
1. Увидела, как всё выглядит “изнутри”;
2. Открыла для себя секрет цитаты “640 Кбайт хватит каждому”;
3. Большое количество “исторической информации” (вряд ли поможет на практике, но точно расширит кругозор);
Из минусов:
1. Таблицы поддержки функций HTML5 неактуальны, при необходимости лучше пользоваться онлайн-справочником.
2. Согласно веб-документации, микроданные безнадежно устарели и не используются в современных браузерах. Так что главу 10 можно смело пропустить, если только у вас нет интереса к механизму работы микроданных.
4. В русской версии книги от издательства “БХВ-Петербург” (2011), к сожалению довольно грубый перевод и встречаются опечатки. От фразы на ст. 68, гласящей “…не будет происходить утечки информации о реферререре” я просто плакала.
После прочтения книги до самой последней корочки, я уверена, что у вас всё еще будет желание узнать больше о веб-разработке. И в этом вам помогут и другие книги.
Подробнее на livelib.ru :
Понравилась статья или книга? Поделись с друзями:
Все книги представленные на сайте
только в ознакомительных целях.
Любое их использование Вами допускается только в ознакомительных целях. Если Вы планируете их использовать в дальнейшем,
то Вы обязаны приобрести их у правообладателей. Администрация сайта не несет ответственность за их использование Вами