Architecture Overview

GoodData.UI follows principles of the layered architecture and draws a clean line between the different UI components and the backend server that calculates the data to render. The UI components integrate with a backend server through an interface that we call Analytical Backend.

The Analytical Backend is designed as a Service Provider Interface (SPI) with clearly defined contracts that you can implement to work even with your own arbitrary backend. For now, the full documentation of the SPI is provided only at the code level. For more information, see the @gooddata/sdk-backend-spi package.

GoodData.UI uses the bear and tiger codenames in all developer-facing artifacts and APIs. We find that these can better withstand the test of time.

GoodData.UI comes with a full implementation of the Analytical Backend SPI for the GoodData platform (codename bear) and a near-full implementation for GoodData Cloud and GoodData.CN (codename tiger).

The Analytical Backend abstraction ultimately allows you to develop applications that can be backend-agnostic.

@gooddata/api-client-bearThe REST API client for the GoodData platform (formerly known as gooddata-js)
@gooddata/api-model-bearThe type definitions for the GoodData platform REST API client (formerly known as typings)
@gooddata/sdk-backend-bearThe analytical backend implementation for the GoodData platform
@gooddata/api-client-tigerThe REST API client for GoodData Cloud and GoodData.CN
@gooddata/sdk-backend-tigerThe analytical backend implementation for GoodData Cloud and GoodData.CN
@gooddata/sdk-modelThe APIs and models used to construct inputs to executions and charts
@gooddata/sdk-uiThe React infrastructure and headless components such as the Execute component
@gooddata/sdk-ui-chartsThe React components for all charts
@gooddata/sdk-ui-geoThe React components for the Geo Pushpin Chart component
@gooddata/sdk-ui-pivotThe React component for the Pivot Table component
@gooddata/sdk-ui-filtersThe filtering components
@gooddata/sdk-ui-extThe components for embedding insights created in Analytical Designer
@gooddata/sdk-ui-allAn umbrella package that depends on all sdk-ui- packages and re-exports their public API