11. A system comprising: at least one data processor forming part of at least one computing system; and memory storing instructions, which when executed by one or more data processors, result in operations comprising: receiving, at a client from a server, data comprising a dashboard, the dashboard being generated at the server by converting each of a spreadsheet file and a dashboard structure file into a text-based, language-independent data interchange format, wherein the dashboard comprises a first component, a second component, and a third component, wherein a rendering of the first component and the second component is dependent on data from a data source, wherein at least one of the first component and the second component comprise a visual component adapted to provide a visual representation of the data from the data source, wherein the third component comprises a prompt, wherein the prompt is adapted to request, from a user, an input of one or more values, wherein one or more cells in the spreadsheet file are changed based on the one or more values input by the user in response to the prompt, and wherein the data source includes the one or more cells in the spreadsheet file; asynchronously rendering the first component and the second component in a graphical user interface at the client, the asynchronously rendering occurring via a plurality of operations comprising: providing a first notification to a data source listener of the data source that data is required to render the first component; providing a second notification to the data source listener that data is required to render the second component; while the client renders the third component of the dashboard, allowing the data source to perform a single batch fetch operation to fetch both the data required to render the first component and the data required to render the second component; and in response to the data source listener indicating that the data source has fetched the data required to render the first component and the data required to render the second component: receiving, from the data source, the data required to render the first component and the data required to render the second component; executing at least one query based on the data received from the data source; and rendering the first component and the second component of the dashboard using a result of the at least one query.
11. A system comprising: at least one data processor forming part of at least one computing system; and memory storing instructions, which when executed by one or more data processors, result in operations comprising: receiving, at a client from a server, data comprising a dashboard, the dashboard being generated at the server by converting each of a spreadsheet file and a dashboard structure file into a text-based, language-independent data interchange format, wherein the dashboard comprises a first component, a second component, and a third component, wherein a rendering of the first component and the second component is dependent on data from a data source, wherein at least one of the first component and the second component comprise a visual component adapted to provide a visual representation of the data from the data source, wherein the third component comprises a prompt, wherein the prompt is adapted to request, from a user, an input of one or more values, wherein one or more cells in the spreadsheet file are changed based on the one or more values input by the user in response to the prompt, and wherein the data source includes the one or more cells in the spreadsheet file; asynchronously rendering the first component and the second component in a graphical user interface at the client, the asynchronously rendering occurring via a plurality of operations comprising: providing a first notification to a data source listener of the data source that data is required to render the first component; providing a second notification to the data source listener that data is required to render the second component; while the client renders the third component of the dashboard, allowing the data source to perform a single batch fetch operation to fetch both the data required to render the first component and the data required to render the second component; and in response to the data source listener indicating that the data source has fetched the data required to render the first component and the data required to render the second component: receiving, from the data source, the data required to render the first component and the data required to render the second component; executing at least one query based on the data received from the data source; and rendering the first component and the second component of the dashboard using a result of the at least one query. 12. A system as in claim 11 , further comprising: registering the data source listener to monitor for changes in the one or more cells in the spreadsheet file; and executing the at least one query when the data source listener indicates a change in the one or more cells.