読者です 読者をやめる 読者になる 読者になる

clojure で Electoron できる descjop をやってみようと思った その3

clojure Electoron

Om を使うので別のプロジェクトを作る

+om を追加することで Om を使えるようにする。

% lein new descjop hello-om-based +om

なんかめんどいので初期化のためのすくりぷよ書く

また同じようにやるのは味気ないので、すくりぷよを書く。
Makefile に書こうかなーとか思ったんだけど、とりあえず bootstrap ってファイルに書いておく。

#!/usr/bin/bash
# -*- mode: shell-script; coding: utf-8; -*-

npm install

grunt download-electron

lein externs > ./app/js/externs.js

lein cljsbuild once

こんな感じに打つ:

% ./bootstrap

そういえば、2 つビルドされている:

Compiling "app/js/cljsbuild-main.js" from ["src"]...
Successfully compiled "app/js/cljsbuild-main.js" in 19.467 seconds.
Compiling "app/js/front.js" from ["src_front"]...
Successfully compiled "app/js/front.js" in 10.117 seconds.

Figwheel サーバーの起動

Figwheel ってサーバーだったの?

% lein trampoline figwheel frontend

って打つと:

Figwheel: Starting server at http://localhost:3449
Focusing on build ids: frontend
Compiling "app/js/front.js" from ["src_front"]...
Successfully compiled "app/js/front.js" in 5.025 seconds.
Started Figwheel autobuilder

Launching ClojureScript REPL for build: frontend
Figwheel Controls:
          (stop-autobuild)                ;; stops Figwheel autobuilder
          (start-autobuild [id ...])      ;; starts autobuilder focused on optional ids
          (switch-to-build id ...)        ;; switches autobuilder to different build
          (reset-autobuild)               ;; stops, cleans, and starts autobuilder
          (reload-config)                 ;; reloads build config and resets autobuild
          (build-once [id ...])           ;; builds source one time
          (clean-builds [id ..])          ;; deletes compiled cljs target files
          (fig-status)                    ;; displays current state of system
          (add-dep [org.om/om "0.8.1"]) ;; add a dependency. very experimental
  Switch REPL build focus:
          :cljs/quit                      ;; allows you to switch REPL to another build
    Docs: (doc function-name-here)
    Exit: Control+C or :cljs/quit
 Results: Stored in vars *1, *2, *3, *e holds last exception object
Prompt will show when figwheel connects to your application

って表示されるので、別の端末エミュを開いて:

% ./electron/electron ./app/

って打つと…………

f:id:noqisofon:20160407212512p:plain

Hello Om World! とは表示されなかった。

参考