lumi

Форк
0

21 минуту назад
README.md

Metalcore / Lumi

Фреймворк для создания wasm приложений при помощи go.

Основная цель: создание простых web-приложений без использования js и его фреймворков в лице react, vue, angular и т.п.

🔥В настоящее время идет разработка и многое может очень сильно измениться.

Примеры использования

Все примеры можно посмотреть в разделе examples.

Простой пример использования:

lumi.RenderById("app",
tag.Div(
attr.Class("class-name"),
"Какой-то там текст",
tag.Button("Кнопка", event.Click(func() {
fmt.Println("Клик")
}),
),
))

Сборка приложения

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

GOOS=js GOARCH=wasm go build -o main.wasm

Для работы необходим wasm_exec.js, который можно взять из примеров или официального репозитория.

Подключение полученного скрипта выглядит так:

<head lang="ru">
<title>app</title>
<script src="wasm_exec.js"></script>
<script>
if (WebAssembly) {
const go = new Go();
WebAssembly.instantiateStreaming(fetch("main.wasm"), go.importObject).then((result) => {
go.run(result.instance);
});
} else {
console.log("WebAssembly is not supported in your browser")
}
</script>
</head>

Планы на ближайшее время

  • Повторная отрисовка только тех элементов в которых произошли изменения.
  • Передача классов как атрибута элемента.
  • Использование переменных в атрибутах. Реактивное поведение атрибутов.
  • Добавить групповой элемент.
  • Тестирование.

Описание

Фреймворк для создания wasm приложений на go.

Языки

Go

Сообщить о нарушении

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

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.