HTML5 против Flash: начался новый "холивар" вокруг SVG

Стандарт HTML 5 продолжает свое во многом агрессивное шествие по рынку веб-разработки. Еще в самом разгаре находятся споры по поводу тега <video>, так параллельно с ними разгораются новые противостояния. На этот раз создатели HTML5 «поднимают руку» на Flash. Программной базой для такой атаки стал векторный формат SVG.
Оцените:

Что такое SVG?


SVG (Scalable Vector Graphics standard, стандарт масштабируемой векторной графики) — формат на основе XML как средство обеспечения векторной графической поддержки для Web-браузеров.
Технология позволяет объединить «в одном флаконе» текст, графику, анимацию и интерактивные компоненты. В формате существуют три типа графических примитивов — формы, растровые рисунки и текст:
  • формы представляют собой либо отдельные линии, либо распространенные графические примитивы — овалы, прямоугольники и др.

  • Рисунки представляют собой импортированные изображения в других форматах.

  • Текст — обычные текстовые форматируемые сообщения.

  • SVG поддерживает различные виды анимации, которая может быть описана заранее или задаваться программно. Назначая элементам рисунка различные ссылки, можно создавать карты ссылок.
    Изюминка формата — его основа, один из основных текстовых форматов XML. При создании динамической графики с помощью XML данные получаются из базы (Data-driven graphics), а такой код можно посмотреть и отредактировать в абсолютно любом текстовом редакторе. SVG допускает использование CSS, что дает возможность манипулировать визуализацией данных очень легко. Он имеет важное преимущество перед растровыми форматами в том, что изображение в SVG может быть изящно преобразовано до большего или меньшего масштаба. Для иллюстрации посмотрите на картинку и используйте комбинации "Ctrl" и "+" и "Ctrl" и "-" для увеличения/уменьшения изображения.



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

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

    SVG vs Flash


    Наши попытки оценить что же «лучше» не дали не то что бы стопроцентного, но даже серьезно ощутимого перевеса в ту или иную сторону. Благодаря своему XML-подобию SVG гораздо лучше интегрируется с HTML-страницей, в которую он встроен. SVG поддерживает стандартизированную консорциумом W3C объектную модель документа (DOM) и любой объект, описанный в файле SVG, а также его параметры будут доступны скриптовым функциям, введенным в код HTML-страницы. И наоборот — любой код, внедренный в SVG, свободно может управлять HTML-элементами страницы. В случае с технологией Flash подобное реализуется серьезным программированием.

    Обе технологии поддерживают работу с репозиториями — сложные контуры или наборы объектов описываются один раз, а затем на них лишь создаются ссылки. Эти библиотеки хранятся либо внутри основного файла, либо во внешнем модуле.

    Возможности SVG практически полностью перекрывают те, что предоставляет пользователям Flash. Но с точки зрения разработки игр — HTML5 еще очень далек от удобного инструмента. Возможности нового гипертекстового языка позволяют создавать красивые и эффектные интерактивные приложения, тем самым сводя использование Flash на сайтах к минимуму, по крайней мере, на данный момент. Поэтому когда речь идет о вытеснении Flash с просторов Интернет за счет HTML5, то, в первую очередь, это касается интерактивных сайтов, меню навигаций, видео и музыкальных плееров, но не игр.



    И дело не только в технологиях. Любая игра на HTML5 — это фактически веб-приложение. То есть все исходные коды и игровые ресурсы лежат в открытом виде, а это чуть ли не призыв к пиратству.
    Есть еще один момент. Новая технология откидывает разработчиков назад, отнимая различные эффекты и «вкусности», которые уже отработаны и используются. В первую очередь, это относится к растровой графике, и оптимизации ресурсов. Кстати, в плане анимации у некоторых разработчиков есть серьезные претензии к SVG. Они считают его неуниверсальным, неудобным и медленным средством для анимирования. Относясь в этом плане к SVG настороженно, тем не менее разработчики отмечают то удобство, что в некоторых (но далеко не во всех) ситуациях можно напрямую использовать javascript для отработки несложной анимации.

    Впрочем, ни одна технология никогда не рождалась полностью готовой к применению. Потом в ходе развития и появляются новые возможности. Уже сейчас возникают интересные сервисы/инструменты для разработки игр на HTML5 в режиме «не выходя из браузера». Вот в качестве примера приведем сервис создания игр EffectGames от ничего не понимающего в этом человека. Его смысл  в том, что вся основная разработка игры происходит прямо на сайте. Разработчик регистрируется и ему предоставляется возможность создать новый проект, под который выделяются некоторые ресурсы сервера и пространство для графических и музыкальных файлов игры. Кроме этого, доступен фреймворк и документация о том, как с ним работать. Проект позволяет разрабатывать игру командой. После релиза распространять результат работы можно, не перемещая файлов с сервера. Из этого хобби для студентов или друзей-единомышленников могут вырасти серьезные команды и серьезные способы создания игр на основе HTML5.

    Резюме


    Перспективы еще одной «религиозной» войны пока неясны. Вероятность того, что Flash будет вытеснен форматом SVG всё же существует. Однако более реален другой вариант: Flash занимает очень много ниш в интернете и HTML5 скорее всего лишь вытеснит его из одной-двух. Удобно, конечно, чтобы все видео было только через HTML5-плеер, но банеры сделать во Flash намного быстрее и удобнее. Flash уже сейчас устоявшаяся технология, а HTML5 только зарождается и время покажет, какую долю она завоюет.
    Оцените:

    Комментарии Facebook

    Комментарии ВКонтакте