12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Wails] GoとHTML/CSS/JavaScriptでデスクトップアプリを開発するためのフレームワーク

Last updated at Posted at 2019-05-10

Wails

https://wails.app/

A framework for building desktop applications using Go & Web Technologies.

  • バックエンドはGo、フロントエンドはHTML/CSS/JS
    • JSとGoの関数/メソッドがバインディングされている
      • promiseとしてコールするらしい
  • Mac、Linux、Windowsをサポート(Windowsはバグがありこの[PR] (https://github.com/wailsapp/wails/pull/82)が必要みたい)
    • レンダリングエンジンは組み込みブラウザではなくネイティブ
      • これを使っているみたい https://github.com/zserge/webview
        • Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and MSHTML (Windows)

インストール、初期設定

$ go get github.com/wailsapp/wails/cmd/wails
$ wails setup

goの環境構築は出来ている前提です
go 1.12以上が推奨みたいです

プロジェクトテンプレート作成

$ wails init my-app

ビルド、起動

$ cd my-app
$ wails build
$ ./my-project

これだけでデスクトップアプリが起動しました
圧倒的に立ち上げが早いですね

ディレクトリ中身

$ ls 
frontend/  go.mod  go.sum  main.go  my-project*  project.json

$ ls frontend 
babel.config.js  node_modules/  package.json.md5   README.md  vue.config.js
dist/            package.json   package-lock.json  src/

$ ls frontend/src
App.vue  assets/  components/  main.js  wailsbridge.js

wails initではfrontendはVueになるようですが恐らくvue以外で書き換えても動かせると思います

Electronとの違い

  • ネイティブレンダリング
  • 軽量
  • 現時点ではGUIメニューがない

その他

  • Webview on RailsからWrailsと名付けられたらしい
  • awesome-goに追加された
  • 現時点ではクロスコンパイルができない (Linux環境でWindows用バイナリを作ったりできない)
  • GoでちょっとしたGUIツールを簡単に作れそうですね
  • 暫く追っかけてみたいと思います
12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?