HTML5/CSS3/JSでデスクトップアプリを作れるAtom-ShellのClojureScript版Leiningenテンプレートをリリースしました


descjop

descjop(デスクジョップといいます)というClojureのビルド環境であるleiningen向けのテンプレート環境をリリースしました。

descjop – A Leiningen template for Web based desktop application with atom-shell and others.

Atom-Shellアプリの雛形として、プロジェクト作成時に使えます。

これはなに?

Atom-Shellというライブラリがあります。

これは、Atom editorのベースとしても使われているもので、Webの技術を使って、クロスプラットフォームなデスクトップアプリケーションを作ることができます。

つまり、このライブラリでWindows, OSX, Linux向けのアプリが作れますよということなのです。

このAtom-Shellを、JVMベースのプログラミング言語であるClojure(正確にはClojureScript)で作りはじめるのを楽にするテンプレート環境がdescjopです。

近年では関数型プログラミングの話題とともに取り上げられることも多く、Java系サーバ環境構築に強いClojureでデスクトップクライアントを書けるのは、サーバーとデスクトップクライアント、そしてWebで同一のノウハウが使えるため、スムーズな開発が行えます。

使い方

使い方はいたって簡単で、プロジェクトを作りたい場所で

$ lein new descjop アプリケーション名

を実行するだけです。

これで、リポジトリから自動でダウンロードされ、アプリケーション名のフォルダとベースのファイルが生成されます。

あとは、下記の通りに依存解決やビルドを進めていくと、アプリが出来上がります。

$ npm install -g grunt-cli
$ npm install
$ grunt download-atom-shell
.
Running "download-atom-shell" task
.
Done, without errors.
and run extern commands,
.
$ lein externs > app/js/externs.js
run cljsbuild.
.
$ lein cljsbuild once

アプリの起動

起動は、無事ビルドが完了すれば、下記のような感じで起動します。

ここからは普通のAtom-Shellアプリケーションと一緒

// Windows向け:
$ .\atom-shell\atom.exe app

// Linux向け:
$ ./atom-shell/atom app

// OS X向け:
$ ./atom-shell/Atom.app/Contents/MacOS/Atom app

今後

今後は、descjopやAtom-Shellまわりの細かな話を連投していこうとおもいます!

あと、このハンズオンとかもやっていきたいとおもいます。(どこか、小さめの会場提供してくださる方募集 -> https://twitter.com/kara_d まで)

最近のClojure関連への取り組み

FacebookのReactをいい感じに使えるReagent

play-clojure(Play 2アプリをclojureでつくる)その1

play-clojureその2(ビューでScalaテンプレートを利用する)

Comments are closed.