# Using GoJS on Different Platforms

GoJS is intended to run in any environment that executes JavaScript. This includes on browsers and within browser frameworks, and also in headless contexts such as Node.js.

## React, Angular, Vue

We provide samples and components for common JavaScript UI frameworks. GoJS has no dependencies of its own, and it is our expectation that the library should run within any framework. If you are encountering integration issues with an uncommon framework, please contact us.

We maintain examples for common frameworks:

- React: We provide a React Component as an NPM package and a usage sample. See the intro page Using GoJS with React for more information on React integration.
- Angular: We provide an Angular Component as an NPM package and a usage sample. See the intro page Using GoJS with Angular for more information on Angular integration.
- Vue: We provide a Vue.js Sample.

## Electron

GoJS can be used in Electron apps. We provide a sample Electron app using GoJS. Note that an unlimited domains license is required for use with versions of GoJS before v2.2. As of v2.2, you can specify your Electron app's `package.json` "name" attribute when you request a license key.

## Node.js and Headless Environments

GoJS can be used in environments that do not have a DOM. This can be useful for running on a server. We provide a Node.js script example.

We also have a Puppeteer example in the Server-side images intro page for running on a server with a DOM.

## Within iFrames

GoJS can run within iFrames. However, since the library references the global context, such as `window` on browsers, it is best to invoke GoJS code from within the frame it is used.

GoJS