Exact: создание приложений для веба и платформ с AI-агентом

Exact: создание приложений для веба и платформ с AI-агентом

Exact — это инструмент для создания приложений, которые работают на вебе, macOS, iOS и Linux из одного кода, с помощью AI-агента для сборки и тестирования.

Проект упрощает разработку, позволяя избежать скучной мультиплатформенной адаптации. Задачи, которые обычно требуют значительных усилий на разных платформах, здесь делегируются AI-агенту, что экономит время. Это может быть полезно как для индивидуальных разработчиков, так и для команд, стремящихся ускорить процесс создания и тестирования приложений.

Запуск происходит через Bun: достаточно выполнить bun scripts/exact.mjs setup для инициализации, а затем bun scripts/exact.mjs new <path> для создания нового приложения. Будь внимателен, проект пока находится в разработке, так что могут быть баги, особенно если ты используешь его на нестандартных платформах. И учитывай, что для работы требуется установка Xcode, Rust и Chrome на Mac.

Exact — это кроссплатформенная среда выполнения приложений, позволяющая писать код один раз и запускать его на различных платформах: веб, macOS, iOS и Linux. Примечательно, что проект также поддерживает автоматизированных агентов, которые могут создавать, запускать и тестировать приложения на этих платформах.

Что это такое?

С помощью Exact ты описываешь интерфейс приложения на языке Contract — это декларативный язык, а логика данных пишется на TypeScript или Rust. Компилятор Contract превращает интерфейс в компактный план, который затем исполняется на различных платформах:

  • На вебе — создается один ES-модуль с компактым рантаймом (около 20 КБ), который управляет реальным DOM.
  • На macOS, iOS и Linux используется Rust-исполнитель, который исполняет тот же план, используя платформенные инструменты для отрисовки.

Важно, что в пользовательском интерфейсе нет webview и JavaScript bridge, что увеличивает производительность и уменьшает задержки. Приложения работают без запуска JavaScript до первых визуализируемых элементов.

Как установить и запустить

Для начала работы с Exact тебе нужно установить ряд инструментов:

  • Rust через rustup.
  • Bun — текущую версию можно скачать [здесь](https://bun.sh).
  • Google Chrome для работы веб-агента.
  • Xcode (для macOS) для сборки приложений для Apple.
  • Дополнительно нужна установка Hermes для приложений на TypeScript.

Для запуска приложения выполни команды:

git clone https://github.com/expo/exact.git
cd exact
bun scripts/exact.mjs setup
bun host/web/dev.mjs

Первый запуск может занять несколько минут для компиляции инструментов. После этого можно открывать приложение в браузере по адресу: http://127.0.0.1:8765/.

Примеры и возможности

Exact позволяет создавать приложения с минимальной настройкой. Например, используя команду:

bun scripts/exact.mjs new ../hello

Ты создашь новый проект, который затем можно будет запустить с помощью команд для различных платформ:

bun exact.mjs web            # Запустит веб-версию
bun exact.mjs mac --run       # Запустит на macOS
bun exact.mjs ios --run       # Запустит в iOS-симуляторе

Приложения могут включать такие модули, как управление состоянием, работа с REST API, SQLite и графические интерфейсы с использованием CSS.

Ограничения

На данный момент Exact находится на стадии pre-1.0, поэтому возможны изменения в API, нет обратной совместимости, а также отсутствуют руководства по миграции. Кройте приложения, используя native modules для интеграции с платформенными интерфейсами, однако следует помнить, что в проекте нет поддержки Windows, и разрабатываемая для Android функциональность также находится на начальных стадиях.

Кроме того, в разработке отсутствуют инструменты для редактирования на Linux, поддержка JSX и React, а также возможность осуществлять обновления кода в продуктиве.

Заключение

Exact предлагает уникальную инфраструктуру для разработки, ориентированную на кроссплатформенность и автоматизацию, позволяя создавать полноценные приложения с потенциалом для масштабирования и быстрого развертывания. Однако обязательно учитывай текущие ограничения и непредсказуемость API при работе с этим проектом.

Открыть на GitHub: expo/exact →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте