---
title: Front-end frameworks on the Compute platform
summary: null
url: >-
  https://www.fastly.com/documentation/guides/compute/developer-guides/frameworks
---

Many full stack and static site frameworks can be used with the Compute platform. Frameworks often give developers the ability to write frontend components using a library like [React](https://react.dev/), offer useful abstractions for server routes and request handlers, and a convenient and intuitive way to set up some of the best features you need for production: hybrid static & server rendering, smart bundling, route prefetching, and more, with very little configuration needed.

Fastly aims to provide compatibility with frameworks, and at least, avoid getting in their way - but for some, we have official libraries to help you get the most out of the framework when you use it with Fastly.

## Remix

[Remix](https://remix.run/) is a JavaScript-based full stack web framework that focuses on UI and web standards. We maintain [remix-compute-js](https://github.com/fastly/remix-compute-js/) 

 as a template that can be used by the official Remix command line tool:

```term
$ npm create remix@latest ./my-app --template https://github.com/fastly/remix-compute-js/tree/main/packages/remix-template
```

This will create a project in the `my-app` directory that is both a Remix app and also a valid Compute program. Remix will be configured to use Fastly's [local development server](https://www.fastly.com/documentation/guides/compute/developer-guides/testing/#running-a-local-testing-server), and commands such as <kbd>npm run dev</kbd>, <kbd>npm run build</kbd>, and <kbd>npm run deploy</kbd> will work as expected, with deploys going to your Fastly account.

For more information:

- See [`remix-compute-js` on GitHub](https://github.com/fastly/remix-compute-js/) for usage instructions
- Read the [announcement blog post](https://www.fastly.com/blog/host-your-remix-app-on-fastly-compute-edge)

## Static site & JAMStack

Static site generators produce a directory of files that can be served by any properly configured web server. Our [`compute-js-static-publish`](https://github.com/fastly/compute-js-static-publish) 

 tool is designed to make it as easy as possible to get those files onto Fastly.

For example, for a [Gatsby](https://www.gatsbyjs.com/) site:

```term
$ npm run build
$ npx @fastly/compute-js-static-publish --preset=gatsby
$ cd ./compute-js
$ fastly compute publish
```

We have preset support for a variety of frameworks, including [create-react-app](https://create-react-app.dev/), [Vite](https://vitejs.dev/), [SvelteKit](https://kit.svelte.dev/), [Vue](https://vuejs.org/), [Next.js](https://nextjs.org/), [Astro](https://astro.build/), [Gatsby](https://www.gatsbyjs.com/) and [Docusaurus](https://docusaurus.io/).

For more information:

- See [`compute-js-static-publish` on GitHub](https://github.com/fastly/compute-js-static-publish) for complete documentation
- Read the [announcement blog post](https://www.fastly.com/blog/no-origin-static-websites-at-the-edge)

### Adding dynamic routes

Once the static publisher has created your Fastly app, you have an `index.js` file which you can edit to add whatever additional routes you would like to handle. [Learn more about running your own code alongside static routes](https://github.com/fastly/compute-js-static-publish?_fsi=kXZve2xi#running-custom-code-alongside-publisher-server).
