When comparing Processing.js vs Snap.svg, the Slant community recommends Processing.js for most people. In the question“What are the best JavaScript drawing libraries?” Processing.js is ranked 4th while Snap.svg is ranked 7th.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Good at creating complex visual effects and filters
Pro Fast rendering of complex scenes
Because Processing doesn't keep track of shape objects it's more efficient than other libraries. Processing can do more complicated effects faster than other libraries. Although this means you have to keep track of more yourself in your code, it also means you have more control over the finer details of how things are rendered.
Pro Cross-platform compatibility
In processing you can write code in both JavaScript and Processing code. This allows you to use existing Processing code on the client side.
Processing code is similar to Java in that it has static typing. This can make more complex calculations more robust, and less likely to cause conflicts.
The library takes a more frame based approach to rendering, so you use drawing functions to draw directly to the frame without objects. This can make it easier to write efficient full frame rendering scenes and post processing effects.
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
Pro Features
Supports the newest SVG features like masking, clipping, patterns, full gradients, groups, and more
Cons
Con Processing.js is now archived, and won't be updated
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.