6 Stimmen

Web Charting, serverseitig oder clientseitig?

Ich versuche festzustellen, ob wir besser aus Rendering-Diagramme serverside und schieben Sie sie an den Browser als Bilder oder mit einem Javascript Charting-Bibliothek, um die Diagramme clientside zeichnen sind.

Ich bin auf der Suche nach der JFreeChart und Dojo Charting Bibliotheken, mein Ziel ist eine bestehende JSP-Website, die in JBoss läuft.

Hat jemand Erfahrung damit und kann die Vorzüge/Mängel der einzelnen Systeme aufzeigen?

Im Moment sehe ich das Rendering auf der Client-Seite als sehr viel effizienter an, es sei denn, der Datensatz ist riesig.

7voto

Julien Chastang Punkte 17256

Ich möchte eine von mir verfasste Bibliothek empfehlen: Diagramme4j die eine serverseitige Diagrammlösung ist. Hier sind einige Funktionen:

  • Unterstützt fast alle Funktionen des Google Chart API
  • Verbirgt die hässlichen Details der Erstellung der URL-Parameter, die für die Kommunikation mit der Google Chart API erforderlich sind
  • Kann in jede internetfähige Swing- oder Webanwendungsumgebung (JSP/Servlet, GWT, Spring MVC usw.) integriert werden.
  • 100% reine Core-Java-Lösung. Keine Notwendigkeit für spezielle Grafikbibliotheken, etc.
  • Super-skalierbar und leicht. Nur ein 160Kb jar und eine Internetverbindung erforderlich
  • Gut dokumentiert
  • Und das Beste daran: Es ist KOSTENLOS!

Hier sind einige Empfehlungsschreiben . Sehen Sie sich auch die FAQ .

Ich habe ein Beispiel für die Einbindung dieser Technologie in eine Spring MVC-Anwendung (mit JSPs) auf mein Blog .

2voto

bedwyr Punkte 5667

Ich würde empfehlen, Ihren Leistungs-/Bereitstellungsbedarf zu ermitteln und davon ausgehend eine Entscheidung zu treffen. Wenn Sie eine große Anzahl von Clients erwarten, von denen jeder eine große Anzahl von Diagrammen benötigt, die möglicherweise regelmäßig aktualisiert werden müssen, ist die Verlagerung der Verarbeitung auf die Clients wahrscheinlich die bessere Lösung. Wie jesper bereits erwähnt hat, können Sie dann auch direkt mit den Diagrammen auf dem Client interagieren, anstatt für komplexere Funktionen Rückfragen an den Server zu stellen.

Wenn das allgemeine Nutzungsmodell für Ihre Diagramme einfach ist (z.B. statische Diagramme, die vom Server im laufenden Betrieb generiert werden, ohne dass eine Aktualisierung erforderlich ist) und die Anzahl der Clients gering ist, können Sie durchaus Hardware einsetzen, um die Leistung zu verbessern. Eine serverseitige Lösung wäre in diesem Fall wahrscheinlich ausreichend.

Skalierbarkeit und Leistung können zu einem späteren Zeitpunkt schwer zu realisieren sein. Wenn Sie die Möglichkeit haben, dies von Anfang an abzumildern, sollten Sie dies tun, da sich aktuelle Nutzungsmodelle oft ändern, wenn künftige Nutzer entscheiden, dass sie schnellere/bessere Funktionen benötigen.

0voto

Jon Punkte 58858

JFreeChart ist sehr gut etabliert und existiert schon seit vielen Jahren. Ich habe es in früheren Projekten verwendet und es hat sehr gut funktioniert. Es kann von einer Rich-Client-Anwendung oder von einer Webanwendung aus verwendet werden. Es gibt Beispielanwendungen für beide Szenarien. Wenn Sie Ihre Anwendung weitergeben möchten, ist sie auch unter der GPL lizenziert.

Die Vorteile für tun es serverseitig sind, dass Sie das resultierende Diagramm als ein Bild und nicht über Cross-Browser-Kompatibilität zu kümmern. Ich habe JFreeChart durch Rendering von einem Servlet und von Struts integriert, funktioniert sehr gut.

Ich kann nicht für Dojo Charting sprechen, da es relativ neu ist.

0voto

VirtuosiMedia Punkte 49396

Der erste entscheidende Faktor sollte sein, ob die Diagramme mit deaktiviertem JavaScript zugänglich sein müssen oder nicht. Wenn dies der Fall ist oder Sie es für möglich halten, wird JavaScript vollständig deaktiviert.

0voto

Ich sehe viele stichhaltige Argumente auf beiden Seiten, aber eine Sache, die ich bei der Erstellung von Diagrammen auf der Client-Seite mag, ist die Möglichkeit, mit dem Diagramm zu interagieren. Mit der Dojo Charting-Bibliothek, haben Sie eine Vielzahl von Methoden für die Chart-Interaktion wie dojox.charting.action2d.Highlight y dojox.charting.action2d.Tooltip . Sie können Ihre Diagramme auch dynamisch aktualisieren lassen, ohne dass eine Aktualisierung erforderlich ist.

Das bleibt natürlich jedem selbst überlassen, aber ich mag Diagramme, mit denen ich interagieren kann, viel lieber als Bilder, die vom Server gerendert werden, und ich denke, viele Leute stimmen mir da zu.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X