# ActiveReportsJS: Introduction

ActiveReportsJS is a reporting solution for visualizing data in front-end applications.

## Content

**ActiveReportsJS** is a reporting solution for visualizing data in front-end applications. The product includes a standalone multi-platform [designer application](/activereportsjs/docs/v6.1/ReportAuthorGuide/QuickStart/Get-Started-With-Designer-App) that allows to build report templates by using a rich set of controls, including but not limited to:

* [Table](/activereportsjs/docs/v6.1/ReportAuthorGuide/Report-Items/Data-Regions/Table)
* [List](/activereportsjs/docs/v6.1/ReportAuthorGuide/Report-Items/Data-Regions/List)
* [Charts](/activereportsjs/docs/v6.1/ReportAuthorGuide/Report-Items/Data-Regions/Chart) and [Sparklines](/activereportsjs/docs/v6.1/ReportAuthorGuide/Report-Items/Data-Regions/Sparkline)
* [Pivot table](/activereportsjs/docs/v6.1/ReportAuthorGuide/Report-Items/Data-Regions/Tablix)
* [Barcode](/activereportsjs/docs/v6.1/ReportAuthorGuide/Report-Items/Data-Visualizers/Barcode)
* [Table of contents](/activereportsjs/docs/v6.1/ReportAuthorGuide/Report-Items/Supplemental-Report-Items/TableOfContents)

Report templates can be [bound](/activereportsjs/docs/v6.1/ReportAuthorGuide/Databinding) to a JSON data source of developers' choice:

* Embedded static data
* REST API endpoint
* OData endpoint
* GraphQL endpoint
* Web service

A rich API allows you to modify [data binding](/activereportsjs/demos/features/viewer-runtime-data-binding/purejs) at runtime, depending on the environment settings.

`Report Designer component` can be used within web applications to provide end-users with the ability to customize reports at runtime. Check quick guides and online demos of using the report designer component in:

* [React.js applications](/activereportsjs/docs/v6.1/GettingStarted/QuickStart-ARJS-Designer-Component/QuickStart-React)
* [Angular applications](/activereportsjs/docs/v6.1/GettingStarted/QuickStart-ARJS-Designer-Component/QuickStart-Angular)
* [Vue applications](/activereportsjs/docs/v6.1/GettingStarted/QuickStart-ARJS-Designer-Component/QuickStart-Vue)
* [Svelte applications](/activereportsjs/docs/v6.1/GettingStarted/QuickStart-ARJS-Designer-Component/svelte)
* [Vite.js applications](/activereportsjs/docs/v6.1/GettingStarted/QuickStart-ARJS-Designer-Component/vitejs)
* [Next.js applications](/activereportsjs/docs/v6.1/GettingStarted/QuickStart-ARJS-Designer-Component/nextjs)
* [Nuxt.js applications](/activereportsjs/docs/v6.1/GettingStarted/QuickStart-ARJS-Designer-Component/nuxtjs)
* [Pure Javascript applications](/activereportsjs/docs/v6.1/GettingStarted/QuickStart-ARJS-Designer-Component/QuickStart-Vanilla)

`Report Viewer components` supports integration to a wide variety of front-end solutions:

* [React.js](/activereportsjs/docs/v6.1/GettingStarted/QuickStart/QuickStart-React)
* [Angular](/activereportsjs/docs/v6.1/GettingStarted/QuickStart/QuickStart-Angular)
* [Vue](/activereportsjs/docs/v6.1/GettingStarted/QuickStart/QuickStart-Vue)
* [Vite.js](/activereportsjs/docs/v6.1/GettingStarted/QuickStart/QuickStart-Vitejs)
* [Svelte](/activereportsjs/docs/v6.1/GettingStarted/QuickStart/svelte)
* [Next.js](/activereportsjs/docs/v6.1/GettingStarted/QuickStart/nextjs)
* [Nuxt.js](/activereportsjs/docs/v6.1/GettingStarted/QuickStart/nuxtjs)
* [Pure JavaScript](/activereportsjs/docs/v6.1/GettingStarted/QuickStart/QuickStart-Vanilla)

`Report viewer interface` displays a report output for a user of an application and provides plenty of ways to [interact](/activereportsjs/docs/v6.1/DeveloperGuide/ActiveReportsJSViewer/Interface-Elements) with it:

* Pagination
* Multiple view modes
* Drill-through and drill-down for master-details reports
* Runtime sorting
* Bookmarks and table of contents
* Export to PDF, Excel, HTML, and Tabular Data
* Print

ActiveReportsJS components are supplied with `TypeScript declarations`. Strict typing allows you to catch bugs at earlier stages and use features like code completion and automated refactoring. The minimum required version of Typescript is 5.3.

`Flexible licensing model` let you choose among multiple [options](https://developer.mescius.com/activereportsjs/licensing) and make decisions based on several parameters.