When comparing Paper.js vs D3.js, the Slant community recommends D3.js for most people. In the question“What are the best JavaScript drawing libraries?” D3.js is ranked 1st while Paper.js is ranked 3rd. The most important reason people chose D3.js is:
D3.js is a very popular tool with an active community, resulting in plenty of learning resources and fast responses to questions.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Operator overloading
It is written in a language nearly identical to JavaScript, but adds helpful operator overloading to allow you to perform coordinate arithmetic.
Pro Geometric Tests
An almost-unique feature: can test geometry if contains(), isInside() or intersects() one other object. Offers even hit-testing methods!
Pro Behaviours handled by objects
Objects in Paper make it easy to extend parent objects and run constructor functions without having to worry about JavaScript prototypal inheritance. Because of this it is easy to make compound drawing objects with their own instance variables and behaviors.
Example: each swimming tadpole follows its own behavior
These features make it easier to create objects that can act autonomously with complex behaviors. This makes Paper a good choice for particle effects and game development.
Pro Object constructors
Elements all have the option of being created with a hash of properties which promotes clean, concise, and contextually local coding practice.
Pro Good for making games
Paper uses a frame based approach to rendering the canvas. This makes it conceptually easier to create objects with animations and behaviors that interact and perform with other objects.
Along with Paper's approach to creating and managing objects this makes Paper especially good for creating applications with complex behaviors with many elements doing different actions at once, and makes it a good choice for making games.
Pro Large community
D3.js is a very popular tool with an active community, resulting in plenty of learning resources and fast responses to questions.
Pro Huge number of examples online
Most of the examples provided are by the author, but there's also a great community writing plugins and more examples.
Pro Doesn't require a proprietary framework
D3's emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework.
Pro Versatile library for manipulating data on the DOM
Pro Very flexible join paradigm
Can be tricky at first, but once learned, data manipulation and binding can easily generate complex visualizations for massive amounts of data.
Pro Great for highly interactive scenes
D3.js offers incredible levels of interactivity.
Pro Backwards compatible
D3.js is intended for modern browsers, so supports IE9 and above (IE8 with an additional library) as well as all the other modern browsers.
Cons
Con Limited to single instance
The code is written in a way that everything is global and limited to a single instance, there is no clean way to use 2 separate instances in the same page
Con Not supported in older browsers
Paper.js runs on top of HTML5 Canvas, which is not supported in older browsers.
Con Steep learning curve
The complexity and flexibility of D3.js results in it being a time-consuming tool to learn for many users.
D3 is incredibly flexible; probably more so than any other JavaScript visualization library at the time of this posting. With that flexibility comes increased complexity. If you just want to create some quick charts you will get results faster with something else.
Con "Selections" are elegant, but somewhat hard to grok
Selections are core to working with D3 beyond the basics. They're powerful and useful, but require new developers to get up to speed (e.g. set aside 30m to read and digest: https://github.com/mbostock/d3/wiki/Selections) and if used in the context of a larger application will result in a portion of the code using different patterns than the rest, requiring a translation layer in between.
