Запознайте се със SwiftWasm
Група смели души зад SwiftWasm работят върху добавянето на WebAssembly като цел за компилация за езика за програмиране Swift. Работата е в процес, така че все още не е напълно готова. Но ние вече сме в състояние да накараме кода на Swift да се изпълни в среда за изпълнение на Wasm (напр. браузъра)!
Нека да настроим SwiftWasm на най-новия macOS. Тогава нека се опитаме да създадем първото си приложение, базирано на Swift!
Инсталирайте Swift Language с поддръжка на Wasm
Поддръжката на Wasm все още не е в официалното хранилище на Swift. Следователно трябва да инсталираме моментна снимка на езика с експериментална поддръжка.
Изтеглете и инсталирайте най-новата macOS версия на SwiftWasm (5.3 към момента на писане) за macOS от проекта GitHub.
За да можете да използвате инструменталната верига SwiftWasm от командния ред:
export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"
И за да тествате, че е правилно настроен:
swift --version
Тествайте SwiftWasm
Създайте HelloWorld Swift файл:
echo 'print("Hello, world!")' > hello.swift
Компилирайте изходния код на Swift в байт код на Wasm:
swiftc -target wasm32-unknown-wasi hello.swift -o hello.wasm
Стартирайте изхода
За да стартирате кода от командния ред, можете да използвате wasmer
(време за изпълнение на Wasm).
Инсталирайте го:
curl https://get.wasmer.io -sSfL | sh
Изпълнете вашия Wasm код:
wasmer hello.wasm
Направете Swift пакет със SwiftPM
Можем да използваме SwiftPM, за да създадем пакет, който след това ще бъде компилиран в Wasm.
Просто е. Нека създадем пакет с име testpack
и след това просто да го компилираме и изпълним:
mkdir testpack && cd testpack
swift package init --type executable
Нека го изградим:
swift build --triple wasm32-unknown-wasi
Изпълнете го:
wasmer .build/debug/testpack
След това създайте уеб приложение със SwiftWasm
Ние едва настроихме цялото нещо и изпълнихме просто Hello World. Сега „нека направим“ нашето първо уеб приложение, вдъхновено от ReactJS и SwiftUI, със Swift!