Raphael.js против бумаги.js - PullRequest
       0

Raphael.js против бумаги.js

36 голосов
/ 15 октября 2011

Каковы основные различия между raphael.js и paper.js?

Есть ли еще какие-нибудь библиотеки, на которые мне стоит взглянуть?Любые подобные, которые фокусируются больше на CSS3, чем SVG?

Спасибо!

Ответы [ 4 ]

52 голосов
/ 16 октября 2011

Рафаэль использует SVG. Бумага использовать Холст.

В этом главное отличие.

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

Совместимость браузера будет большой проблемой, какой бы вы не использовали. На самом деле это, возможно, будет более серьезной проблемой, чем функциональность.

Raphael имеет преимущество на рабочем столе, поскольку он обнаруживает более старые версии IE (начиная с IE6) и использует VML вместо SVG. Это означает, что он имеет отличную совместимость на всех браузерах для настольных компьютеров. Canvas просто не поддерживается в старых версиях IE, и люди Paper.js, похоже, не слишком обеспокоены этим .

Но на мобильных устройствах Paper.js может быть лучше, потому что Canvas имеет гораздо лучшую поддержку на мобильных устройствах, чем SVG. SVG вообще не поддерживается на большинстве устройств Android. Это меняется: в Android 3.0 появилась поддержка SVG, но большинство устройств Android, которые продаются даже сейчас, поставляются с v2.x, поэтому пройдет некоторое время, прежде чем вы сможете положиться на SVG, работающую на мобильном телефоне.

Подробнее о поддержке браузера см. На сайте CanIUse:

Надеюсь, это поможет.

8 голосов
/ 15 октября 2011

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

В качестве еще одного примечания: SVG, насколько я знаю, не поддерживает аппаратное ускорение в IE (9) или Firefox, и, опять же, если моя память меня не подводит, Canvas, по крайней мере, в IE (9). Что касается IE 8 и ниже, вам нужен плагин для браузера, который есть у большинства, но это зависимость, которую можно ожидать.

6 голосов
/ 26 февраля 2012

Есть ли еще какие-нибудь библиотеки, на которые мне стоит взглянуть?

Да, вы должны взглянуть на processing.js !

И, кстати, вот отличное сравнение между Raphael.js, paper.js и processing.js: http://coding.smashingmagazine.com/2012/02/22/web-drawing-throwdown-paper-processing-raphael/

И даже сравнение кода того же эффекта: http://zgrossbart.github.com/3gears/

2 голосов
/ 25 февраля 2012

Есть ли еще какие-нибудь библиотеки, на которые мне стоит взглянуть?

Если у вас есть опыт разработки Flash, вы можете рассмотреть easel.js , который предоставляет вамнекоторые из механизмов отображения вспышки.Easel выглядит для меня очень хорошей библиотекой.

Другая интересная библиотека - processingjs, в отличие от других библиотек libs processingjs также выполняет 3D-вещи.(Это также хорошо в 2d.) В отличие от бумаги, обработка Рафаэля и мольберта не обрабатывает взаимодействие с пользователем из коробки.

Обе библиотеки используют canvas.

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