Search code examples
sdkgooddata

Differences between the Visualization and Automation APIs


I'm a bit new to Gooddata, my question is about the APIs...

I understand the Visualization API is the JavaScript API for building front-end Gooddata widgets and the Automation API is the Ruby API for automating ETL/deployment tasks.

Is there overlap between the two? Specifically can the JavaScript API do everything the Ruby API does in addition to the creation of custom widgets? Am I missing any additional info?

Just wondering if we need to use both APIs or if the JavaScript API will do everything we need?

Thanks.


Solution

  • the JS SDK in its current state is mainly intended to facilitate visualisation of existing data via specialised libraries (such as D3). The methods available in JS SDK tend to be 'getters' which would make the retrieved data available for further manipulation and presentation on the UI. This means that the data to be retrieved must be already present in the GoodData platform.

    The Ruby SDK on the other hand is more complex and encapsulates a broader portion of the GD API thus making it suitable for work with all aspects of the platform (data uploads, report creation, user management, scheduling, filtering etc).

    Although some overlaps obviously exist, and the JS SDK is extensible (you can build your own methods on top of it which will embed the actual GD API calls that lie at the heart of the library methods), the general idea is that the JS SDK is useful customising the visualisation of the data from the GD platform in the browser while Ruby SDK is useful for anything else.

    Best regards

    Vladimir