Everyone loves charts. Well, maybe not everyone, but a lot of people. Well, maybe not a lot of people, but some. Ok, I love charts.

Anyway, even if you don’t love charts, you may eventually have to work with them. And unless you’re into hand-coding image manipulation routines (and who isn’t), you will need a charting library.

What Are My Options?

For web applications, charting libraries come in two general flavors: server-generated and client-side. Not surprisingly, server-generated charts are pre-rendered on the server as an image. Fancier libraries also generate an image map along with the image, which allows for a degree of interactivity. There are multiple vendors in this space including Infragistics, Telerik, and Microsoft.

Client-side charts are generated within the browser. Some libraries use browser RIA extensions (Flash, Silverlight, Java, etc) to actually render the charts, while others use browser-native technologies (HTML, JavaScript, SVG, etc).

Ok, How Do I Choose?

Some factors to consider when choosing a charting library include:

We wanted visually appealing, highly interactive charts of many different types, which could work on everything from IE6 to the iPad. We were also looking for a library that would play well with our web UI framework of choice (Ext JS). Based on this criteria, we evaluated two client-side charting libraries *:

* One library we didn’t consider was Ext itself. We had to rule out the charting capabilities of Ext JS 3.3 because it uses Flash to render them (goodbye iOS) and has a very limited (some might say crappy) selection of chart types.

And The Winner Is…

There is a lot of similarity between the two libraries. Both use JavaScript to generate SVG (or VML for legacy IEs) to render your charts in the browser. Both are simple to configure and plug into your page. Both provide slick interactivity options. In fact, aside from a smaller selection of chart types from gRaphael, there isn’t a huge difference between them.

We ended up selecting gRaphael because we assumed that it would be included in the next version of Ext JS (the guy who developed it happens to work for Sencha). Luckily, this turned out to be true. Sencha recently announced the developer preview of Ext JS 4.0 and drastically improved charting is a major new feature.

You may also like:

Did you love / hate / were unmoved by this post?
Then show your support / disgust / indifference by following me on Twitter!

Comments are closed.