Tutorial(Optional)
デスクトップアプリとして実行する(任意)
この手順は任意です。ネイティブWebViewで動かしたい場合のみ進んでください。
Optional Step 1
共有アプリロジックを切り出す
// internal/app/app.go(Webとデスクトップで共有)
package app
import (
mb "github.com/YoshihideShirai/marionette/backend"
mf "github.com/YoshihideShirai/marionette/frontend"
)
func New() *mb.App {
app := mb.New()
app.Page("/", func(ctx *mb.Context) mf.Node {
return mf.TextComponent(mf.TextProps{Text: "Hello World", Size: "lg"})
})
return app
} Optional Step 2
cmd/配下にWeb/デスクトップのエントリポイントを作る
// cmd/marionette-hello-web/main.go
package main
import "marionette-hello/internal/app"
func main() {
a := app.New()
if err := a.Run("127.0.0.1:8080"); err != nil {
panic(err)
}
} // cmd/marionette-hello-desktop/main.go
package main
import (
"log"
"marionette-hello/internal/app"
"github.com/YoshihideShirai/marionette/desktop"
)
func main() {
a := app.New()
if err := desktop.Run(a, desktop.Options{Title: "Marionette Desktop", Width: 1200, Height: 800}); err != nil {
log.Fatal(err)
}
} Optional Step 3
コマンドで切り替える
go run ./cmd/marionette-hello-web
go run -tags marionette_desktop ./cmd/marionette-hello-desktop Linuxではデスクトップ用コマンド実行前に GTK 3 / WebKitGTK の開発パッケージをインストールしてください。
この先は Components Gallery を見てUIを拡張してください。