Google Web toolkit doesn't have charting library available out of the box.
There are some open source charting libraries for GWT available to be used but with some constraints or unclear items:
- internet connection needed
- open source license not completely clear, sometimes with some obligations like to add specific labels
- old packages not longer maintained
For all these reasons, Charba has been developed, leveraging on Chart.JS capabilities which are now available to GWT developers.
To build Charba, you can check out the project and to run Ant build.xml.
To build the project, execute build-bin
target.
It creates a charba-[version.release].jar
file into dist
folder, ready to be included into your project.
Currently Charba is available on MVN repository.
It is available also on GitHub releases.
If you are using Apache Maven:
<dependency>
<groupId>org.pepstock</groupId>
<artifactId>charba</artifactId>
<version>2.5</version>
</dependency>
If you are using Apache Ivy:
<dependency org="org.pepstock" name="charba" rev="2.5"/>
If you are using Gradle:
compile group: 'org.pepstock', name: 'charba', version: '2.5'
To install in your GWT project, you must the following configuration into your GWT project module configuration:
...
<inherits name="org.pepstock.charba.Charba"/>
...
Charba version 1.x is based on JSNI method to integrate java script objects.
Charba version 2.x is based on JSINTEROP method to integrate java script objects.
JSNI will be removed with GWT 3.
JsInterop is one of the core features of GWT 2.8.
As the name suggests, JsInterop is a way of interoperating Java with JavaScript. It offers a better way of communication between the two using annotations instead of having to write java script in your classes (using JSNI).
Pay attention that GWT compiler (you are using for your project) requires -generateJsInteropExports
to be passed.
All Charba documentation will be maintained into GitHub wiki of Charba project.
API JavaDoc is published here.
See Charba showcase to have a look what you can do with it.
See also Charba showcase source code on GitHub as starting point.
The samples are going to reflect what CHART.JS samples are showing here.
Charba is continuously built at every commit and merge into master
by Travis.
At every build, Charba is also checked by Sonar.io in order to have the pulse of its quality.
In the project, it's also provided the FindBugs project to looking offline for bugs.
Charba is available under the Apache 2.0 license.