Что лучше и почему? RaphaelJS или HTML5 Canvas? - PullRequest
14 голосов
/ 18 сентября 2009

В Интернете я нашел векторную библиотеку, которая работает даже с IE6!

http://raphaeljs.com/index.html

Это удивительно.

Теперь мой вопрос, это лучше, чем предстоящий HTML5 ? Единственная причина, по которой я спрашиваю, состоит в том, что могут пройти годы, прежде чем Microsoft внедрит , для которого для запуска не требуется плагин.

И пройдет еще больше времени, пока все пользователи IE в Интернете избавятся от своих старых браузеров, чтобы мы могли оправдать использование HTML5 .

Я полностью придерживаюсь стандартов, но этот займет слишком много времени, благодаря медленной разработке MS своего браузера.

Мысли

Ответы [ 5 ]

20 голосов
/ 18 сентября 2009

Raphael - это библиотека векторной графики, созданная с использованием SVG, тогда как HTML5 canvas - это растровая графика.

Если вы хотите заняться векторной графикой, я думаю, что работа с Рафаэлем, вероятно, будет хорошим выбором, чем "просто" холст. Как вы говорите, canvas не совсем работает с IE, и, вероятно, пройдет некоторое время, прежде чем он будет изначально поддерживаться. Если Рафаэль делает то, что вам нужно, нет особой причины не использовать его.

Обратите внимание, что для этого есть и другие библиотеки: Excanvas, который эмулирует canvas для IE с использованием VML (насколько я знаю), а также некоторые другие, которые делают то же самое с Silverlight и Flash, но я забыл их имена.

Существует также Dojo, в котором есть компонент для абстрагирования использования canvas за простой интерфейс, который также поддерживает IE.

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

5 голосов
/ 24 декабря 2009

И вы можете использовать http://code.google.com/p/explorercanvas/, который реализует стандарт HTML5 Canvas в IE. Все, что вы делаете, это добавляете:

<head>
<!--[if IE]><script src="excanvas.js"></script><![endif]-->
</head>

Разница между Canvas и SVG объясняется следующим образом:

SVG и холст не совсем сменные технологии. SVG является тип сохраненного режима графики, где все взято из довольно абстрактная модель (документ SVG). Холст с другой стороны является своего рода Графика непосредственного режима, где есть это не модель а клиент (JavaScript) должен заботиться о перерисовка, анимация и т. д.

5 голосов
/ 18 сентября 2009

SVGWeb (http://code.google.com/p/svgweb/) от Google - это то, что вам нужно. Это делает IE совместимым с SVG, который является стандартом и который все другие основные браузеры уже поддерживают. Другими словами, как говорят в Google: «Использование библиотека плюс встроенная поддержка SVG, вы можете мгновенно настроить таргетинг на ~ 95% существующей установленной веб-базы. "

4 голосов
/ 20 мая 2011

Ответ зависит от того, что вам нужно:

  • если вам нужно добавить обработчики событий для графических объектов: вам нужно использовать SVG. Холст остальное.

  • если события не нужны, это важно для производительности: если да, то Canvas 5.

Обратите внимание, что IE 9 поддерживает Canvas и предлагает больше поддержки HTML 5 по сравнению с другими браузерами!

0 голосов
/ 29 января 2015

искал "рафаэль против холста", посту здесь 5 лет. Что-то изменилось с тех пор? Рафаэль устарел?

...