Live data from Hacker News

Show HN: GraphicsJS, New Powerful Free Open-Source JavaScript Graphics Library

graphicsjs.org

31–40 of 45 posts

Re: Show HN: GraphicsJS, New Powerful Free Open-Source JavaScript Graphics Library

#31
post #12

Pardon me if I'm wrong, but I don't see Free/Open-Source anywhere on the website. It seems paid, proprietary everywhere.

it just changed from Apache yesterday https://github.com/AnyChart/graphicsjs/commit/ea38d3ac71a325...

Re: Show HN: GraphicsJS, New Powerful Free Open-Source JavaScript Graphics Library

#32
post #3

The speed and responsiveness of Canvas for complex visualisation (ones where there are a lot of objects) means it's often the better choice. However, libraries like d3 make working with SVG a lot easier. I'm interested, why does SVG seem to de the default choice for web graphics? And is there something like d3 that makes working with Canvas more accessible?

SVG is many times slower than an optimized graphics library rendered on the canvas tag in 2d or webgl contexts. There are many libraries based on the canvas tag for graphics but not all of them are focused on doing visualizations but people still use them for these use cases all the time.

The most well known WebGL library is https://github.com/mrdoob/three.js/ Which has been used for many examples like this http://armsglobe.chromeexperiments.com/

But you could look at the libraries focused on 2d like these http://paperjs.org/ http://fabricjs.com/ But the larger 2d canvas libraries also have much of the same abilities. http://createjs.com/ - http://codepen.io/ianwhitfield/pen/BKOJmj https://github.com/pixijs/pixi.js - http://anvaka.github.io/ngraph/examples/pixi.js/06%20-%20Pac...

If you are just rendering vectors like an icon image, there is no harm in using SVG. If you want access to nodes on a page with a JavaScript library like jQuery, SVG is still the best option. For everything else SVG is not the most performant and is not able to deliver on many graphics abilities that the Canvas tag is capable of. I respect that in most visualizations it doesn't matter and it might be easier but it doesn't mean SVG is the best thing to use for all graphics.

Re: Show HN: GraphicsJS, New Powerful Free Open-Source JavaScript Graphics Library

#35
post #21

Looking at the source for the examples, I really can't see how that's practical to write. It may be fast but damn is that code gnarly.

The documentation doesn't help either - it's nasty generated stuff that simply enumerates the API interfaces without adding very much useful information. For example, https://api.anychart.com/7.11.1/anychart.palettes.DistinctCo... - why would you want to attach listeners to palette colors? There might be a great reason, or those methods might just have been inherited from the base class, but the documentation is no t…

I might be confusing but palette can dispatch change event when you change particular palette item or whole items set.

Re: Show HN: GraphicsJS, New Powerful Free Open-Source JavaScript Graphics Library

#36

I'm confused by "New" and 10,000+ customers. What part of it is new? Certainly getting 10k customers takes a lot of time.

10,000+ customers is about AnyChart. GraphicsJS is a rendering engine of AnyChart library and now it become to open source.

Re: Show HN: GraphicsJS, New Powerful Free Open-Source JavaScript Graphics Library

#37

I'm confused by "New" and 10,000+ customers. What part of it is new? Certainly getting 10k customers takes a lot of time.

10,000+ customers is about AnyChart. GraphicsJS is a rendering engine of AnyChart library and now it become to open source.

Thank you for clarifying.

Re: Show HN: GraphicsJS, New Powerful Free Open-Source JavaScript Graphics Library

#39

Earlier quoted context omitted.

People pick SVG because it looks sharp, has certain features that make development easier, and because they are hack developers who do not understand how performance graphics work.

So the simpler and better solution for [eg] icons or graphs is for idiots, and the Very Smart Developers are are all off building solutions that might, just might have utterly trivial perfomance gains at the expense of easily writable and modifiable code? Hmm.

Okay, so icons are a different use-case than "graphics" and in particular graphs, right? Font-awesome (as an example) and The Noun Project are excellent packages and ones that use SVGs to good effect.

Graphs, though? Graphs?

The sweet spot for SVGs is when you have relatively small data set sizes, need interactivity, and update the data very little. There's also the question of how competently different browser vendors handle SVG and animation--if you're on a nice desktop or laptop, it'll be great!

Once any of those things change, you need to start looking at using raster or GPU graphics. If your dataset updates frequently (say, faster than every few hundred milliseconds) or is large (say, larger than a few thousand points) or needs to reliably run on mobile devices or older workstations, the SVG approach will show issues pretty quickly.

Oh, and it's not trivial performance gains, unless you have your head so far up your ass that you don't watch how balls slow the average user's device and browsing experience is. Nor is it at the expense of easily-writable or modifiable code, unless you're a hack script-kiddie who cannot fathom how to modularize their code and write clear solutions to problems.

I'm not even going to apologize for this, because there is just so much garbage advice and bad practices going on in the frontend right now because some chucklefuck found D3 and has decided that it has solved all of their charting and drawing problems forever--and never notices how badly their cutesy demos perform in the wild.

Re: Show HN: GraphicsJS, New Powerful Free Open-Source JavaScript Graphics Library

#40
post #26

Earlier quoted context omitted.

People pick SVG because it looks sharp, has certain features that make development easier, and because they are hack developers who do not understand how performance graphics work.

> and because they are hack developers who do not understand how performance graphics work. Nothing "hack" about vector graphics, and nothing about graphics that necessitates "performance" above all else. We're not all making AAA games.

nothing about graphics that necessitates "performance" above all else.

Brzzt, wrong.

Computers are, at the end of the day, meant for crunching numbers. Graphics is perhaps one of the last pure workloads that is about crunching numbers--it's probably the best match of the advances of the last 20 years to a problem domain we could hope for.

If your code cannot quickly do graphics, you have failed to competently make use of the user's resources. You are bad and are wasting their time and power, and in the one place where that inefficiency isn't justifiable.

> We're not all making AAA games.

Sure but we're also not all running MacBook Pros or GTX1080 cards on Xeons, now are we?

There's this mindset that high-performance graphics somehow only benefits gamers and games, and that's wrong.

Especially in the (mostly single-threaded, highly-marshalled) graphics environment of the browser, it is really easy to write code that will choke older machines to death and murder mobile devices.

This can be done with a large chart dataset, a quickly updating visualization, or any number of other reasonable and normal and non-game use cases.

Post reply on HN