Что лучше и почему?RaphaelJS или HTML5 Canvas?
-
10-07-2019 - |
Вопрос
Я нашел в Интернете векторную библиотеку, которая работает даже с IE6!
http://raphaeljs.com/index.html
Это потрясающе.
Теперь мой вопрос: лучше ли он, чем предстоящий HTML5 <canvas>?Единственная причина, по которой я спрашиваю, заключается в том, что могут пройти годы, прежде чем Microsoft реализует <canvas>, для запуска которого не требуется плагин.
И пройдет еще больше времени, пока все пользователи IE в Интернете не избавятся от своих старых браузеров, чтобы мы могли хотя бы оправдать использование HTML5 <canvas>.
Я всегда придерживаюсь стандартов, но это займет слишком много времени из-за медленной разработки браузера MS.
Мысли?
Решение
Raphael — это библиотека векторной графики, созданная с использованием SVG, тогда как HTML5 Canvas — это растровая графика.
Если вы хотите заниматься векторной графикой, я думаю, что Рафаэль, вероятно, будет хорошим выбором вместо «простого» холста.Как вы говорите, холст не совсем работает с IE, и, вероятно, пройдет некоторое время, прежде чем он будет поддерживаться изначально.Если Рафаэль делает то, что вам нужно, нет особых причин не использовать это.
Обратите внимание, что для этого есть и другие библиотеки:Excanvas, который эмулирует холст для IE с использованием VML (насколько мне известно), а также некоторые другие, которые делают то же самое с Silverlight и Flash, но я забыл их имена.
Также есть Dojo, в котором есть компонент для абстрагирования использования холста за простым в использовании интерфейсом, который также поддерживает IE.
Наличие собственного холста во всех браузерах не делает библиотеки устаревшими, поскольку библиотеки обычно абстрагируют некоторые сложности холста, упрощая использование.
Другие советы
SVGWeb (http://code.google.com/p/svgweb/) от Google — это то, что вам нужно.Это делает IE совместимым с SVG, который является стандартом и который уже поддерживают все остальные основные браузеры.Другими словами, как говорит Google: «Используя библиотеку плюс встроенную поддержку SVG, вы можете мгновенно настроить таргетинг на ~95% существующей установленной веб-базы».
И вы можете использовать http://code.google.com/p/explorercanvas/ который реализует стандарт HTML5 Canvas в IE.Все, что вам нужно сделать, это добавить:
<head>
<!--[if IE]><script src="excanvas.js"></script><![endif]-->
</head>
Разница между Canvas и SVG объясняется следующим образом:
SVG и Canvas на самом деле не взаимозаменяемые технологии.SVG - это тип графики сохраняемого режима, где все взято из довольно абстрактной модели (документ SVG).С другой стороны, холст - это своего рода графика немедленного режима, где нет модели, а клиент (JavaScript) должен позаботиться о перерисовании, анимации и т. Д.
Ответ зависит от того, что вам нужно:
если вам нужно добавить обработчики событий к графическим объектам:вам нужно использовать SVG.Остальное Холст.
если никакие события не нужны, важна производительность:если да, то Canvas 5.
Обратите внимание, что IE 9 поддерживает Canvas и предлагает больше поддержки HTML 5 по сравнению с другими браузерами!
искал «Рафаэль против Холста», этому посту 5 лет.Что-то изменилось с тех пор?Рафаэль устарел?