前作った「GitHubのtrendingって面白いけど毎日同じのでがちだから今日の新着的なのだけみたいなー」と思って作ったやつに画面をつけてみました。
GitHub Trendingに毎日同じリポジトリがいるのを見たくないので俺がその日初めて見るリポジトリだけを見るためのツールを作った - チョキチョキかにさん
インストールとかはGitHubからです。とりあえずmacosの64ビットのバイナリしかないです。
画面はこんなんです。余白が多いのでなんとかしたい。
技術とかの話
Lorca
Lorcaを使いました。 github.com
めちゃくちゃ雑にいうとElectronみたいな感じで画面作れてさらにJSの関数にGoの関数をバインディングできるやつです。 ただし
Unlike Electron it doesn't bundle Chrome into the app package, but rather reuses the one that is already installed.
です。 HTMLだけ書けばあとは雰囲気でCLIをGUIにできる気がします。 データの受け渡しはJS->Goは勝手にJSONをオブジェクトにマッピングしてくれて、逆はJSONで受け渡しができます。
静的コンテンツ込みのビルドがよくわかんなかったのでゴニョゴニョしたらできたのでそっちはQiitaにあげました。
クロスコンパイルはよくわかんないというか手元で起動できなくてどっちにしろテストできないので一旦やめました。workspaceとかを使えばいいという説もあります。
Vue.js
使ったけどなんか使った範囲ではわかったけど、って感じでなんとも言えない感じでした。ただまあ使った範囲では便利っぽい感じでした。 とりあえずAPIでとってくるデータとformの入力値を定義して前者はビューにバインドして後者はwatchでGoの関数を呼び出してました。それくらいしかしてないです。
今ふと「開発用のVue.jsでそのままバイナリをリリースしてしまった・・・」ってのを思い出したんですが全部HTMLに直接CDNで埋め込んでるのでビルドがめんどくさいですね。 この辺のフローとかはちゃんと学ばないといけない気がしました。