5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 18:42:23 +08:00
wails/website/versioned_docs/version-v2.0.0-beta.37/reference/runtime/intro.mdx
2022-06-13 08:53:49 +10:00

48 lines
1.4 KiB
Plaintext

---
sidebar_position: 1
---
# Introduction
The runtime is a library that provides utility methods for your application. There is both a Go and Javascript runtime
and the aim is to try and keep them at parity where possible.
The Go Runtime is available through importing `github.com/wailsapp/wails/v2/pkg/runtime`. All methods in this package
take a context as the first parameter. This context should be obtained from the [OnStartup](../options.mdx#onstartup)
or [OnDomReady](../options.mdx#ondomready) hooks.
:::info Note
Whilst the context will be provided to the
[OnStartup](../options.mdx#onstartup) method, there's no guarantee the runtime will work in this method as
the window is initialising in a different thread. If
you wish to call runtime methods at startup, use [OnDomReady](../options.mdx#ondomready).
:::
The Javascript library is available to the frontend via the `window.runtime` map. There is a runtime package generated when using `dev`
mode that provides Typescript declarations for the runtime. This should be located in the `wailsjs` directory in your
frontend directory.
### Quit
Go Signature: `Quit(ctx context.Context)`
Quits the application.
### Environment
Go Signature: `Environment(ctx context.Context) EnvironmentInfo`
Returns details of the current environment.
#### EnvironmentInfo
```go
type EnvironmentInfo struct {
BuildType string // Either "production", "debug" or "dev"
}
```