In meinem aktuellen Projekt bin ich von einem Kollegen auf eine der neuen JavaScript basierten Charting Bibliotheken hingewiesen worden: D3.js.
Dafür möchte ich mich an dieser Stelle auf jeden Fall noch einmal bedanken.
In der letzten Zeit entstehen immer mehr dieser clientseitig ausgeführten Bibliotheken. Für meine Projekte habe ich mir vor einiger Zeit bereits Highcharts und Flotr angesehen. Während diese Bibliotheken das HTML5 canvas
nutzen, erzeugt D3.js ein eingebettetes svg
Objekt.
Die auf diese Weise realisierte Grafikqualität und -performanz ist beeindruckend - zumindest auf meine Retina MBP, das mit Safari eine ordentliche SVG Unterstützung bietet und ansonsten auch genug “Wumms” hat.
Trotz der beeindruckenden Fähigkeiten habe ich mich in der Vergangenheit dennoch noch immer für JFreeChart oder MonarchCharts entschieden. Hier war die Notwendigkeit, ältere Versionen des Internet Explorers zu unterstützen, immer Hauptgrund, die Erzeugung der Bitmap Graphiken serverseitig durchzuführen.
Sinnvoll ist das nicht, denn auf den vielen Clients draussen im Internet steht - absolut gesehen - sehr viel mehr Rechenleistung bereit, als ich im Backend jemals bereitstellen könnte.
Für meine eigenen privaten Projekte werde ich hier auf jeden Fall Zöpfe abschneiden und die Legacy Browser einfach nicht mehr unterstützen.
Übrigens:
Über MathLink
kann man auch den Mathematica Kernel einbinden und diesen zur Erzeugung von Graphiken nutzen, die auf komplexen Rechenmodellen basieren. Als technikverliebter Freak ist diese Lösung für mich natürlich doppelt interessant, ist aber genau dann sinnvoll, wenn nicht nicht-diskrete Simulationssysteme oder symbolische Berechnungen genutzt werden müssen, um die gewünschten Grafiken zu erstellen.