Вы бы выбрали рендерер на основе SVG или HTML5? - PullRequest
1 голос
/ 12 августа 2011

Мы находимся в стадии исследования нового проекта, который будет использоваться на рекламной арене. Пользователи создают набор элементов, которые будут воспроизводиться в разных регионах на экране, а затем могут менять анимацию (изображения / тексты и т. Д.).

Мы настаиваем на решении HTML5, которое будет отвечать за рендеринг, но новое предложение состоит в том, чтобы просто использовать SVG (и SMIL).

Я знаю, что вы можете встраивать SVG-контент в страницы HTML5, и есть множество ссылок, сравнивающих холст и SVG.

Что мне нужно знать, так это каковы плюсы и минусы решения, основанного на HTML5, по сравнению с решением, основанным исключительно на SVG? Кроме того, для долгосрочных планов проекта я вижу, что HTML5 позволяет гораздо больше.

Также я не уверен, какая поддержка инструментов доступна для пользователей, использующих SVG. Большинство элементов должно быть изменяемым (изменение текста / изображений), это вообще возможно?

1011 * ТИА *

JD

Ответы [ 2 ]

3 голосов
/ 12 августа 2011

Недавно у меня была возможность попробовать Raphaël , решение на основе SVG, и Flot , решение на основе холста. Оба обеспечивают эмуляцию в браузерах, которые не поддерживают основной формат: Raphaël использует VML в IE, а Flot использует excanvas .

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

У SVG есть еще одно действительно интересное преимущество: элементы на диаграмме являются узлами DOM, поэтому он может использовать события мыши и щелчка в браузере, а также добавлять, удалять или изменять отдельный узел без перерисовки всей диаграммы. Чтобы сделать то же самое на холсте, необходимо вручную отслеживать местоположение каждого визуального элемента и перерисовывать весь холст при перемещении материала. (Canvas позволяет выполнять двойную буферизацию и кеширование, так что можно быстро перерисовать его, но логика отслеживания того, где все находится, остается на вас.)

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

1 голос
/ 12 августа 2011

SVG потенциально более удобен для поисковых систем и доступнее, чем HTML5 , поскольку SVG-элементы и текст могут быть (потенциально - не уверены, действительно ли они есть!) Проиндексированы и считаны для программа чтения с экрана, пользователь, тогда как изначально является просто растровым изображением, и для создания одного из этих рекламных объявлений в качестве части веб-страницы потребуется дополнительный контент. OTOH, если это игровой инструмент, который не предназначен для создания контента, то, возможно, это не проблема ... возможно, дайте больше подробностей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...