Ranked in these QuestionsQuestion Ranking
Pro Operator overloading
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
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 Pure SVG library
Pro Written by a SVG Guru and pioneer
Dmitry Baranovskiy also wrote Raphael (project now owned by Sencha), this is the updated modern version of that library. Dmitry also is a champion directly affecting the future of SVG standards with W3C
Pro Backed by Adobe
Adobe is backing the development of snap.svg
Supports the newest SVG features like masking, clipping, patterns, full gradients, groups, and more
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 Not actively developed
During 2016 was few updates, more updates in 2017
Con Spotty exporting
Exporting doesn't work well (if at all sometimes) with SVGs exported from anything other than Adobe products.
Con Weak documentation
Explanations provided in the documentation can often be unclear, with some features missing from the documentation all together.