Axion Платформа Скачать
Documentation · Apps

Создание приложений на Axion

Полное руководство: от первого проекта до установленного .axn-пакета — по главам. Приготовьте HTML, CSS и JavaScript — всё остальное сделает Axion Engine.

01 Введение

Axion — кроссплатформенный application runtime на Rust. Приложение пишется на HTML, CSS и JavaScript, а выполняется нативно через Axion Engine, который управляет WebView, жизненным циклом, разрешениями, IPC и пакетами.

1.1Что такое Axion

Axion — это не UI-фреймворк и не оболочка браузера. Приложение остаётся веб-страницей, но живёт как нативная программа: имеет своё окно, пакет, права и жизненный цикл. Движок предоставляет приложению:

  • Runtime — запуск, остановка, приостановка, обработка сбоев;
  • WebView — интерфейс на Windows, macOS, Linux, Android и iOS;
  • Capabilities — конкретные права вместо полного доступа;
  • Permission Broker — единая точка контроля чувствительных операций;
  • IPC Broker — взаимодействие приложений через сервисы;
  • Workspace / Storage / Secrets — модель данных приложения;
  • Package Manager — установка, обновление и проверка пакетов.

Один и тот же код работает на пяти платформах, а распространение — через файл .axn, а не через пересборку под каждую ОС.

1.2Модель приложения

Минимальное приложение — это папка с index.html и manifest.json. Rust для него не нужен.

my-app/
├── manifest.json   # описание и запрашиваемые права
├── index.html      # интерфейс (точка входа)
├── style.css       # стили (по желанию)
├── script.js       # логика (по желанию)
├── icon.png        # иконка (по желанию)
└── assets/         # ресурсы, доступные относительно entry

Во время работы движок держит для приложения три области данных:

  • workspace — каталог проекта, в который приложение получило доступ;
  • storage — персистентное хранилище приложения (ключ–значение);
  • secrets — защищённое хранилище для токенов и ключей.

1.3Жизненный цикл

Состояния приложения управляются движком, приложение лишь подписывается на события:

  1. installed — пакет зарегистрирован в Package Manager;
  2. launching — движок проверяет manifest и capabilities;
  3. running — WebView загрузил entry.html;
  4. suspended — приложение свернуто, рантайм приостановлен;
  5. terminated — остановка по запросу, сбою или завершению работы ОС.

Переходы отражаются событиями app.resumed и app.suspended (см. пункт 5.5).

1.4Термины

ТерминЗначение
EngineRust-рантайм, который выполняет приложение
CLIИнструмент командной строки axion
manifestmanifest.json — описание приложения и прав
capabilityКонкретная возможность (право) приложения
scopeОбласть действия capability (workspace, storage, values, any)
permissionРешение пользователя по конкретной capability
ticketОдноразовый запрос на разрешение
workspaceЛогический проект/каталог приложения
package (.axn)Распространяемый файл приложения
Готовы собрать свой первый .axn?Двадцать минут на настройку — и приложение на пяти платформах.
Быстрый старт