はじめに
一時期小耳に挟んだ Vugu
という技術について、今更ながら触れてみたので記事にしてみました。
Vuguとは
Golang
で、 Vue.js
っぽくフロントエンド を記述できるライブラリです。
WebAssebmly
で実行されるのでコードの漏洩がなかったり、実行速度も比較的高速らしいです。
公式URLは下記
https://www.vugu.org/
2020/04/26
に v0.3.0
が出たようなので、まだまだ発展途上の技術ではあります。
環境構築
環境構築だけなら、下記公式の手順を行なっていけばできます。
https://www.vugu.org/doc/start
前提
Golang
の v1.14
以上らしいので、予めインストールをお願いします。
Macで、homebrewを使っていれば、下記コマンドだけでGolangのインストール可能です。
% brew install go
その他の方法に関しては、公式のインストールをご確認ください。
https://golang.org/doc/install
vgrunのインストール
下記コマンドでvgrunのインストール、その他ツール群をインストールします。
[hoge@mac] ~/vugu_sample
% go get -u github.com/vugu/vgrun
[hoge@mac] ~/vugu_sample
% vgrun -install-tools
2020/05/24 17:20:08 Installing vugugen
2020/05/24 17:20:13 Installing vgrgen
[hoge@mac] ~/vugu_sample
サンプルプロジェクトのダウンロード
公式の方がサンプルプロジェクトを用意してくださっているので、
こちらをダウンロードして利用していきます。
https://github.com/vugu-examples
下記コマンドで可能です。
(今回はsimpleリポジトリを利用しています。)
vgrun -new-from-example=simple .
上記コマンドを実行すると、ファイルがダウンロードされているかと思います。
go.mod
も落ちてくるので助かりますね。
% ls -la
total 56
drwxr-xr-x 9 user staff 288 5 24 17:29 ./
drwxr-xr-x+ 99 user staff 3168 5 24 17:29 ../
-rw-r--r-- 1 user staff 24 5 24 17:29 .gitignore
-rw-r--r-- 1 user staff 1070 5 24 17:29 LICENSE
-rw-r--r-- 1 user staff 231 5 24 17:29 README.md
-rw-r--r-- 1 user staff 662 5 24 17:29 devserver.go
-rw-r--r-- 1 user staff 39 5 24 17:29 generate.go
-rw-r--r-- 1 user staff 48 5 24 17:29 go.mod
-rw-r--r-- 1 user staff 2380 5 24 17:29 root.vugu
サーバーの実行
下記コマンドでサーバーを立ち上げます。
% vgrun devserver.go
2020/05/24 17:31:39 Starting HTTP Server at "127.0.0.1:8844"
その後、 http://127.0.0.1:8844/
にアクセスします。
下記画面が表示されれば起動しています!
ちなみに、 root.vugu
の内容を修正すると、ホットリロードで変更を反映してくれます。
終わりに
ほぼ公式チュートリアルの通りの内容になってしまいましたが、以上で環境構築手順は終了です。
現状のフロントエンドの代替となるかと言われると微妙な気がしますが、
golang
でフロントエンドが書けるのは嬉しいですね。
次回はroot.vuguの内容を修正したり、構文について見ていこうかと思います。