org.gren-lang.browser
Run Gren in browsers
rad:zWrcGJCcv2bkmmLZkz9fuBgZXXbx
Visibility
public
Delegates
did:key:z6MksKr9semhNSfdytEtNZV3CRJttLCsDaFoAxboywH1vxz4
Default branch
main → 43da8e54ec9d568aa074511c3cc7ca6dbc1f5b8c (Sun Mar 22 07:38:02 2026)
Threshold
1
README.md
# Gren in the Browser!

This package allows you to create Gren programs that run in browsers.

## Learning Path

**I highly recommend working through [gren-lang.org/learn][guide] to learn how to use Gren.** It is built around a learning path that introduces concepts gradually.

[guide]: https://gren-lang.org/learn

You can see the outline of that learning path in the `Browser` module. It lets you create Gren programs with the following functions:

1. [`sandbox`](https://packages.gren-lang.org/package/gren-lang/browser/latest/module/Browser#sandbox) — react to user input, like buttons and checkboxes
2. [`element`](https://packages.gren-lang.org/package/gren-lang/browser/latest/module/Browser#element) — talk to the outside world, like HTTP and JS interop
3. [`document`](https://packages.gren-lang.org/package/gren-lang/browser/latest/module/Browser#document) &mdash; control the `<title>` and `<body>`
4. [`application`](https://packages.gren-lang.org/package/gren-lang/browser/latest/module/Browser#application) &mdash; create single-page apps

This order works well because important concepts and techniques are introduced at each stage. If you jump ahead, it is like building a house by starting with the roof!

This order also works well because it mirrors how most people introduce Gren at work. Start small. Try using Gren in a single element in an existing JavaScript project. If that goes well, try doing a bit more. Etc.