# Facade API

> Узнайте, как добавить Facade API в приложение, чтобы упростить работу с Web SDK.

- Human documentation: [https://docs.univer.ai/ru-RU/guides/docs/getting-started/facade](https://docs.univer.ai/ru-RU/guides/docs/getting-started/facade)

- Agent Markdown: [https://docs.univer.ai/ru-RU/guides/docs/getting-started/facade.md](https://docs.univer.ai/ru-RU/guides/docs/getting-started/facade.md)

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.2.0`

- Source: [docs/getting-started/facade.ru-RU.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/docs/getting-started/facade.ru-RU.mdx)

---

Архитектура Univer рассчитана на сложные требования, поэтому работать с ней напрямую может быть непросто. Чтобы упростить использование Univer, мы предлагаем более удобный Facade API.

В этой главе подробно рассказывается, как добавить Facade API в приложение. В следующей главе «Возможности» перечислены основные методы Facade API для каждой функции. Полный список методов Facade API приведён в справочнике API соответствующего плагина.

> [!WARNING: Внимание]
> Некоторые методы Facade API выполняются асинхронно. В особенности это касается методов, которые изменяют данные: они часто возвращают Promise. Если данные нужно получить сразу после изменения, используйте `await` или `.then()`, иначе результат может оказаться неожиданным. Информацию о том, какие именно методы возвращают Promise, см. в соответствующем справочнике API.

## Интеграция Facade API в режиме плагинов

### Установка

При установке Univer в режиме плагинов реализация Facade API распределена по различным плагинам и подключается к глобальному корневому объекту Facade API. Поэтому для плагинов, предоставляющих Facade API, можно импортировать соответствующие реализации по мере необходимости.

```typescript
import { FUniver } from '@univerjs/core/facade'

import '@univerjs/ui/facade'
import '@univerjs/docs/facade'
import '@univerjs/docs-ui/facade'
```

> [!WARNING: Внимание]
> Пакет facade входит не во все плагины. Это указывается в документации каждой функции.

### Использование

```typescript
import { FUniver } from '@univerjs/core/facade'

const univerAPI = FUniver.newAPI(univer)
```

### Важные замечания

Не все методы Facade API можно вызывать сразу: некоторые из них доступны только на определённых этапах жизненного цикла. Если метод не срабатывает при немедленном вызове, выберите подходящий этап жизненного цикла следующим образом:

```typescript
const disposable = univerAPI.addEvent(univerAPI.Event.LifeCycleChanged, ({ stage }) => {
  if (stage === univerAPI.Enum.LifecycleStages.Rendered) {
    // Code to be executed when the lifecycle stage is Rendered
  }
  if (stage === univerAPI.Enum.LifecycleStages.Steady) {
    // Code to be executed when the lifecycle stage is Steady
  }
})
```

## Интеграция Facade API в режиме предустановок

Если вы интегрируете Univer в режиме предустановок, Facade API для включённых функций импортируется автоматически. При создании экземпляра Univer возвращается соответствующий экземпляр Facade API — `univerAPI`, который можно использовать сразу.
