Быстрый старт
pulsar create my-app # по умолчанию UI на TypeScript (шаблоны: default, qml, windows, tray)
cd my-app
pulsar dev # запуск с горячей перезагрузкой
Структура my-app:
my-app/
pulsar.json # манифест приложения: id, окна, точка входа
main.ts # интерфейс + состояние + события, всё на TypeScript
assets/icon.png
package.json
tsconfig.json
main.ts:
import { App, bind, Button, Column, Header, Text } from "pulsar"
const app = new App()
app.store.set("count", 0)
app
.window("main")
.render(() =>
Column(
{ fill: true },
Header({ title: "Hello from Pulsar" }),
Text({ size: 20, text: bind(() => `Count: ${app.store.get("count")}`) }),
Button({ onClick: () => app.store.set("count", (app.store.get("count") as number) + 1) }, "+1"),
),
)
app.run()
QML-файлов нет. pulsar.json задаёт параметры окна по умолчанию, поэтому
new App() можно вызывать без аргументов. Продвинутые пользователи могут
переключить окно на QML через "ui": "ui/main.qml" и начать с
pulsar create my-app --template qml.