Pull to refresh

Safari для веб-разработчиков

Reading time 4 min
Views 8.3K
Летом прошлого года компания Apple анонсировала новую версию своего браузера Safari. Неожиданностью стало то, что данный браузер работает не только под Mac OS, но и под Windows XP/Vista. Данный факт дал возможность в первую очередь веб-разработчикам ознакомиться с браузером и тестировать свои разработки в нем, не имея возможности, как например у меня, работы на компьютерах Apple.
На данный момент этот браузер проходит бета-тестирование, и доступен всем желающим для скачивания. Все мы уже не раз читали заявления по поводу того, что Safari быстрее всех, но это вызывает противоречивые мнения. Хотя хочу заметить, что в собственных тестах, часто Safari оказывается на первом месте. Но скорость, браузера хоть и важна, но не является приоритетной. Нам, как веб-разработчикам, важно знать, что представляет из себя браузер, что в нем поддерживается, что нет. В этом плане данный браузер только радует. Он поддерживает стандарты так же хорошо как и FF, и Opera. Конечно, есть свои недоработки, но у кого их нет? У меня выходит так, что все что работает в FF и Opera, так же работает и в Safari. Крайне редко замечаются какие то глюки, ощущение, что баги чаще случаются в других браузерах — но это субъективно. Так же стоит отметить, что Safari идет в авангарде, и многие фишки впервые были внедрены именно в нем, к примеру, тот же <canvas>.
Мне до недавнего времени казалось, что браузер пытаются сделать более стабильным, потому не выпускают релиз. Было странным, что уже больше полугода релиз не может состояться. Однако, на днях наткнулся на интересный блог, где описываются нововведения. Оказывается до сих пор в браузер вводят новую функциональность. Нет, не новые табы и настройки, а именно ту функциональность, которую могут задействовать веб-разработчики. Многие вещи еще тестируются, и доступны только в ночных сборках.

Что же нам готовят:
  1. Теперь поддерживается getElementsByClassName, то что появится в FF3. Как и в FF, по скорости данный метод в десятки раз превосходит XPath, и в сотни классичекие DOM алгоритмы.
  2. В Safari теперь будет W3C Selectors API, а это значит доступность методов querySelector и querySelectorAll. Так что разработчикам фреймворков не нужно будет изобретать велосипед, к тому же native поддержка данных методов так же значительно быстрее чем любая реализация.
  3. Наконец-то исправили значительное количество ошибок и недоработок, так что стало возможно создавать, так называемые Rich Text Editors. Сейчас поддерживаются (в смысле работают) такие редакторы как WordPress, Google Docs, GMail, Blogger и другие. Так же поддерживаются такие библиотеки как TinyMCE and FCKeditor. Что касается других, то это вопрос времени. Главное что WYSIWYG редакторы теперь стали реальностью.
  4. Поддержка SVG, и на очень хорошем уровне. Настолько хорошем, что по некоторым тестам это самый быстрый браузер. Opera на втором месте (~в полтора раза медленнее), а FF на пятом (в три раза медленней).
  5. Добавлена поддержка XPath и других XML технологий, таких как XSLT, а обработка самого XML стала быстрее. В JavaScript добавились XSLTProcessor API, DOMParser API, XMLSerializer API. Улучшена поддержка и совместимость XMLHttpRequest, он стал поддерживать больше HTTP методов, разбирать больше типов XML MIME, поддерживать event listeners и т.д.
  6. Дополнения и расширения в CSS. Довольно много новых вещей в CSS3 уже реализовано в Safari. Например, множественные background (когда вы можете задать несколько фоновых изображений для одного блока, это пока единственный браузер с такой возможностью), background-origin, background-clip, text-shadow, закругленные углы блоков (-webkit-border-radius), колонки (доступно как расширение -webkit-, такая же поддержка есть и в FF как расширение -moz-), новые свойства layout (тоже как расширения, так же есть в FF). Есть несколько собственных «изобретений» таких как -webkit-text-fill-color (цвет заполнение текста), -webkit-text-stroke (обводка текста), -webkit-box-shadow (тень блока). Но большего внимания заслуживают CSS анимация и CSS трансформация. Если первое еще кажется спорным, то второе оценят многие, так как блок теперь можно вращать, скручивать, сжимать, и даже использовать свою матрицу для трансформации.
  7. Поддержка новых тегов HTML5, таких как <video> и <audio>, вместе с соответствующим API.
  8. Начальная поддержка баз данных на стороне клиента. Кто бы мог подумать об этом лет пять назад? В HTML5 есть раздел посвященный client-side database storage. В Safari начали это внедрять. Инструменты разработки уже имеют некоторый интерфейс для просмотра локальных баз данных.
  9. Новые средства для разработчиков Web Inspector и Drosera. Первое предназначено для обзора DOM, CSS, подключенных файлов, скорости загрузки и т.д. Второе для отладки JavaScript.

И сдается мне, что это далеко не весь список.

Ко всему прочему, недавно (15-го января) выложили справочные материалы по тому что и как поддерживает Safari. Можно изучить как поддерживаются CSS, HTML, DOM. Думаю, что многим данные материалы будут полезны, несмотря на то, что некоторые разделы еще не заполнены, но полезной информации хватает. Так же, возможно, будет полезной страница для веб-разработчиков на webkit wiki

Таким образом, Safari обещает быть довольно перспективным браузером. На сегодняшний день он не уступает прямым конкурентам FF и Opera, а в чем то даже превосходит. Предпочтения и популярность дело второе, главное что мы получаем хороший продукт, с которым можно работать, под который можно создавать веб-приложения и насыщенные сайты. Ждем релиза.
Tags:
Hubs:
+31
Comments 72
Comments Comments 72

Articles