💻 В Аврора Platform SDK (PSDK) — наборе инструментов для разработки — в наличии Rust v1.61. Это не последняя текущая версия, но обновление вполне возможно в будущем. Установить
rustc, cargo и rustup можно в таргет (целевая платформа) PSDK через sb2:$PSDK_DIR/sdk-chroot sb2 -t {target_psdk} -m sdk-install -R zypper in -y cargo
где {target_psdk} — название тагрета PSDK.
Rust поддерживает различные платформы для сборки ваших проектов. Установить необходимый таргет можно через
rustup, например:$PSDK_DIR/sdk-chroot sb2 -t {target_psdk} rustup target add {target_rust}
Можно сопоставить таргеты PSDK & Rust следующим образом:
-
armv7hl == armv7-unknown-linux-gnueabihf-
aarch64 == aarch64-unknown-linux-gnu-
x86_64 == x86_64-unknown-linux-gnuУстановив необходимые таргеты Rust, можно собирать проект через PSDK для целевой платформы:
$PSDK_DIR/sdk-chroot sb2 -t {target_psdk} cargo build --release --target {target_rust} --verbose -j 1
Обратите внимание на
-j 1 - это решает проблему переодических сбоев сборки.Недавно в открытом репозитории ОМП "Flutter Community Plugins" появился плагин, в котором UI написан на Flutter, а вся бизнес логика выполняется в библиотеке Rust с C интерфейсом через FFI.
Это первый плагин с использованием Rust во "Flutter Community Plugins" и, надеюсь, не последний. В репозитории плагина вы можете найти все необходимое для написания подобного плагина самостоятельно:
1️⃣ Скрипт сборки.
2️⃣ Логика подключения.
3️⃣ Логика общения Dart & Rust.
4️⃣ Создание привязок и подключения библиотеки.
🔍 Плагин можно найти в открытом репозитории ОМП: pickers_aurora.
