Разработчики iOS не единственные, кого волнует разработка iOS 5. Новая версия Safari Mobile была выпущена вместе с новейшей операционной системой, и разработчики мобильных веб-приложений теперь имеют много новых возможностей для экспериментов. , Будьте в курсе изменений в этой статье!
Увеличение на 86 пунктов
С каждым новым выпуском iOS Apple проделывала феноменальную работу по обновлению собственного сообщества разработчиков об изменениях в SDK. Они выпустили общий обзор изменений , официальные примечания к выпуску и даже полные API-различия .
Если бы только веб-разработчики могли быть такими счастливчиками! Информацию об изменениях в Mobile Safari было намного сложнее найти. Чтобы быть справедливым, некоторая информация была официально выпущена. Вы можете ознакомиться с обновлением Safari 5 для пользователей, обновлением высокого уровня для разработчиков и заметкой технической поддержки HT4922 . Тем не менее, ни один из этих документов специально не обсуждает изменения, относящиеся к iOS, и ни один из них не выходит на уровень технической глубины, который был бы полезен для разработчиков (если вам известен дополнительный документ, не указанный здесь, оставьте ссылку в комментариях). Такое отсутствие информации вызывает удивление хотя бы по одной причине: многое изменилось в Safari 5.1 на iOS 5 .
Цель этой статьи — предоставить максимально полный журнал изменений для Mobile Safari 5.0 до 5.1. Я попытался сделать это, просто сообщив о своих собственных экспериментах между устройствами iOS, на которых запущена каждая версия. Мое тестирование до сих пор было простым: я просто загружал HTML5Test.com для каждой версии Safari и записывал изменения.
Согласно тесту HTML 5, Mobile Safari 5.1 получил 86 баллов по сравнению с Mobile Safari 5.0.
Конечно, как видно из названия, тестовый сайт действительно тестирует только изменения HTML 5 и связанных спецификаций. В нем также явно отображается заявление об отказе от ответственности, в котором говорится, что тестируются не все новые изменения HTML 5 (в конце концов, спецификация HTML 5 все еще пишется!) И что результаты могут быть не совсем точными. Тем не менее, это похоже на эффективный метод получения быстрого обзора того, что изменилось между версиями браузера, и я рад возможности поделиться своими результатами этого теста с сообществом.
Тестовая платформа
Результаты, обсуждаемые в этой статье, были получены при тестировании iPhone 3GS под управлением iOS 4.3.5 с Safari 5.0 и iPhone 4 под управлением iOS 5.0 с Safari 5.1. Эти результаты были дополнительно подтверждены на iPad с iOS 4.3.5 с Safari 5.0 и iPad 2 с iOS 5.0 с Safari 5.1. Я был рад обнаружить, что версии Safari для iPhone и iPad тестировались одинаково.
Полный пользовательский агент, отображаемый на iPhone 3GS:
Mozilla / 5.0 (iPhone; U; процессор iPhone OS 4_3_5, как Mac OS X; ru-ru) AppleWebKit / 533.17.9 (KHTML, как Gecko) Версия / 5.0.2 Mobile / 8L1 Safari / 6533.18.5
Полный пользовательский агент, отображаемый на iPad первого поколения:
Mozilla / 5.0 (iPad; U; процессор iPhone OS 4_3_5, как Mac OS X; ru-ru) AppleWebKit / 533.17.9 (KHTML, как Gecko) Версия / 5.0.2 Mobile / 8L1 Safari / 6533.18.5
Полный пользовательский агент отображается на iPhone 4:
Mozilla / 5.0 (iPhone; процессор iPhone OS 5_0, как Mac OS X) AppleWebKit / 534.46 (KHTML, как Gecko) Версия / 5.1 Mobile / 9A334 Safari / 7534.48.3
Полный пользовательский агент отображается на iPad 2:
Mozilla / 5.0 (iPad; CPU OS 5_0 как Mac OS X) AppleWebKit / 534.46 (KHTML, как Gecko) Версия / 5.1 Mobile / 9A334 Safari / 7534.48.3
Результаты теста Safari 5.1 HTML 5
Правила разбора: 11/11, +10 очков
Дополнительные 10 баллов были присуждены за включение как токенайзера HTML 5, так и построения дерева HTML 5 . Технические детали этого теста выходят за рамки этой статьи, но я могу сказать, что спецификация HTML 5 определяет этап токенизации, за которым следует этап построения дерева при разборе документов HTML 5. Это увеличение означает, что Safari 5.1 придерживается этого процесса, а 5.0 — нет.
В дополнение к 10 баллам, набранным в этой категории и добавленным к общему количеству, Safari 5.1 также набрал дополнительно 2 бонусных балла за добавление встроенных SVG и MathML . Следите за обеими этими технологиями!
Холст: 20/20, +0 баллов
Без изменений. Это было полностью поддержано на некоторое время.
Видео: 21/31, +0 очков
Об изменениях в категории видео не сообщалось, но Mobile Safari по-прежнему не достигает идеального результата. Чего не хватает? Поддержка формата Ogg Theora и WebM , а также поддержка субтитров .
Аудио: 20/20, +0 баллов
Без изменений. Mobile Safari уже некоторое время поддерживает audio
элемент, но все еще не поддерживает WebM и Ogg Vorbis (возможно, это произойдет не скоро).
Элементы: 22/28, +8 очков
Значительное увеличение на 8 пунктов было достигнуто для этого раздела.
Новые элементы включают в себя:
Другие улучшения в этой категории включают в себя:
Формы: 75/98, +39 баллов
Это увеличение на 39 пунктов в категории форм является одним из самых интересных обновлений!
Многие из реализованных изменений применяются к атрибуту type
элемента input. Новые значения атрибутов типа, которые теперь влияют на элементы управления формы, отображаемые пользовательским интерфейсом браузера, включают:
Это большая победа для веб-разработчиков, ориентированных на iOS. Mobile Safari теперь будет отображать UIPicker
с различными компонентами времени, когда вы установите для атрибута type любое из значений, связанных с датой / временем, и теперь для значения диапазона отображается UISlider
. Веб-приложения становятся все более нативными.
Также сообщается о поддержке этих дополнительных обновлений:
- обязательный атрибут для
select
элементов - атрибуты вызова и типа ключа элемента keygen
- выходной элемент
Другие изменения в этом разделе включают добавление селектора :invalid
, formAction
form
, formAction
, formEnctype
, formMethod
и formTarget
для полей и свойства formTarget
control
для меток.
Взаимодействие с пользователем: 17/36, +17 баллов
Баллы в этой категории были начислены за улучшения атрибутов, свойств и методов редактирования HTML. В частности, атрибуты contentEditable и designMode , свойство isContentEditable и методы execCommand , queryCommandEnabled , queryCommandIndeterm , queryCommandState , queryCommandSupported и queryCommandValue .
История и навигация: 5/5, +0 очков
Без изменений. История сессий уже была доступна.
Микроданные: 0/15, +0 баллов
Без изменений и без поддержки. Чтобы прочитать о том, что нам не хватает, посмотрите эту ссылку .
Веб-приложения: 15/20, -4 балла
Как ни странно, тестовый сайт фактически сообщает о потере 4 баллов в этом разделе, при этом обработчики нестандартных схем и обработчики нестандартного содержимого указываются как более не поддерживаемые.
Безопасность: 5/10, +0 баллов
Без изменений. Мы все еще ждем полной поддержки iFrame .
Геолокация: 15/15, +0 баллов
Здесь нет изменений, поскольку поддержка геолокации была доступна в течение некоторого времени.
Примечание. Геолокация не является частью официальной спецификации HTML 5, но часто ассоциируется с веб-сайтами HTML 5. Прочитайте официальную спецификацию геолокации .
WebGL: 9/25, +1 очко
Этот выпуск приближает нас к поддержке WebGL, добавив поддержку DataView .
Примечание. WebGL не является частью официальной спецификации HTML 5, но часто ассоциируется с веб-сайтами HTML 5. Читайте о WebGL здесь .
Связь: 25/25, +0 баллов
Без изменений здесь. И 5.0, и 5.1 предлагают поддержку обмена сообщениями между документами и событий, отправляемых сервером .
Файлы: 0/20, +0 очков
Без изменений на этом фронте, и это большое разочарование для многих веб-разработчиков, которые стремятся получить доступ к API FileReader и API FileSystem .
Примечание. Это не является официальной частью спецификации HTML 5.
Хранение: 15/20, +0 баллов
Без изменений. Поддержка IndexedDB все еще ожидается , но, по крайней мере, Local Storage существует уже некоторое время.
Примечание. Это не официальная часть спецификации HTML 5, но тесно связанная технология, часто обсуждаемая вместе с веб-сайтами HTML 5. Ознакомьтесь с полным рабочим проектом веб-хранилища .
Рабочие: 15/15, +15 баллов
Тест HTML сообщает об увеличении на 15 пунктов благодаря поддержке веб-работников и общих работников .
Примечание. Это не официальная часть спецификации HTML 5, но тесно связанная технология, часто обсуждаемая вместе с веб-сайтами HTML 5. Прочитайте полный рабочий проект веб-работника .
Местные мультимедиа: 0/20, +0 баллов
К сожалению, здесь без изменений. Большая особенность, к которой стремятся многие веб-разработчики в этой категории, — доступ к камере устройства .
Примечание. Это не является частью официальной спецификации HTML 5.
Уведомления: 0/10, +0 очков
Нет намека на веб-уведомления с этим выпуском.
Примечание. Это не является частью официальной спецификации HTML 5. Читайте полный рабочий веб-уведомления .
Другое: 6/6, +0 очков
Баллы за выбор текста и просмотр, ранее были присуждены Safari 5.0.
Помимо HTML 5 Test
Веб-сайт HTML 5 Test проверяет широкий спектр проблем с поддержкой браузера, но есть множество вещей, на которые он также не обращает внимания. Примеры включают исправления ошибок, улучшения производительности и настройки CSS или JavaScript. В этом выпуске также было много таких обновлений.
Если вы хотите узнать о еще большем количестве улучшений Safari 5.1, я настоятельно рекомендую прочитать этот пост от Дэвида Кэлхуна .
Несколько дополнительных изменений, о которых уже упоминали другие пользователи в Интернете:
позиция: фиксированная
Это свойство CSS теперь работает так, как и ожидало бы большинство веб-разработчиков. Чтобы увидеть его в действии, посмотрите это видео на YouTube из поста Дэвида, на который есть ссылки выше:
переполнение: прокрутки
То же, что и выше. Этот параметр был изменен, чтобы соответствовать ожиданиям разработчиков. Прочитайте пост Дэвида для всех деталей и посмотрите это видео на YouTube, которое он первоначально разместил, чтобы показать новое поведение:
Ошибки? Пропуски?
Выше приведены результаты, которые я смог найти в HTML 5 Test и нескольких других ресурсах в Интернете. Если вы знаете о каких-либо других важных или интересных изменениях, которые я не смог осветить здесь, дайте мне знать в комментариях. Аналогичным образом, если вы обнаружите какие-либо ошибки, пожалуйста, не стесняйтесь исправить этот пост.
Сделайте ваш голос услышанным. Голосуйте в комментариях!
Как вы можете видеть из вышесказанного, iOS 5 определенно внесла значительное количество изменений и улучшений в Mobile Safari. В следующих публикациях Mobiletuts + расскажет о некоторых из этих новых функций, а также о многих других темах, касающихся разработки мобильных веб-приложений. Дайте нам знать, какой тип контента вы хотели бы видеть, оставив комментарий к этому сообщению. Если есть конкретное усовершенствование Safari 5.1, о котором вы хотели бы, чтобы мы рассмотрели более подробно, сообщите нам об этом ниже!