---
sidebar_position: 1
---

# イントロダクション

ランタイムは、アプリケーションにユーティリティメソッドを提供するライブラリです。 GoとJavaScriptの両方にランタイムがあり、どちらにもほぼ同じメソッドが提供されています。

ユーティリティメソッドには次のようなものがあります:

- [ウィンドウ](window.mdx)
- [メニュー](menu.mdx)
- [ダイアログ](dialog.mdx)
- [イベント](events.mdx)
- [ブラウザ](browser.mdx)
- [ログ](log.mdx)

Goのランタイムは、`github.com/wailsapp/wails/v2/pkg/runtime`をインポートすることで利用できます。 このパッケージのすべてのメソッドは、1番目の引数でContextを渡す必要があります。 このContextは、[OnStartup](../options.mdx#onstartup)フック、または[OnDomReady](../options.mdx#ondomready)フックからあらかじめ取得しておいてください。

:::info 備考

[OnStartup](../options.mdx#onstartup)で提供されるContextは、ウィンドウが別のスレッドで初期化されているため、ランタイムが機能する保証がありません。 起動時にランタイムメソッドを呼び出したい場合は、[OnDomReady](../options.mdx#ondomready)を使用してください。

:::

JavaScriptのランタイムは、`window.runtime`マップを介してフロントエンド上で利用できます。 `dev`モードでは、TypeScript型定義を提供するランタイムパッケージが生成されます。 これらは、フロントエンドディレクトリの`wailsjs`ディレクトリに配置しておく必要があります。

### Hide

Go: `Hide(ctx context.Context)`<br/> JS: `Hide()`

アプリケーションを非表示にします。

:::info 備考

Macでこのメソッドを使用すると、標準のMacアプリケーションにおけるメニュー項目の`Hide`と同じ方法で、アプリケーションが非表示になります。 これはウィンドウの非表示とは異なりますが、アプリケーションはフォアグラウンドに残ったままになります。 WindowsおよびLinuxでは、`WindowHide`メソッドと同等です。

:::

### Show

アプリケーションを表示します。

:::info 備考

Macでこのメソッドを使用すると、アプリケーションがフォアグラウンドに戻ります。 WindowsおよびLinuxでは、`WindowShow`メソッドと同等です。

:::

Go: `Show(ctx context.Context)`<br/> JS: `Show()`

### Quit

アプリケーションを終了します。

Go: `Quit(ctx context.Context)`<br/> JS: `Quit()`

### Environment

現在の環境の詳細情報を取得します。

Go: `Environment(ctx context.Context) EnvironmentInfo`<br/> JS: `Environment(): Promise<EnvironmentInfo>`

#### EnvironmentInfo

Go:

```go
type EnvironmentInfo struct {
    BuildType string
    Platform  string
    Arch      string
}
```

JS:

```ts
interface EnvironmentInfo {
  buildType: string;
  platform: string;
  arch: string;
}
```
