descjop で遊ぼう day 2 : 3つのテンプレート
descjopは、現在3つのスタイルで開発を始めることが出来るようになっています。
descjop default project
一つ目は、素のClojureScriptのみで構成されているプロジェクトで、descjopで提供する最も基本的なプロジェクトスタイルです。
Hello Worldを手っ取り早くやりたい場合は、このプロジェクトを使うと余計なものがないので楽だと思います。
$ lein new descjop アプリケーション名
※ Leiningenというビルドツールがインストールされていることが前提
というコマンドで「アプリケーション名」のディレクトリがカレントディレクトリ以下に生成され、プロジェクト用の各種ファイルが生成されます。
Om based project
Omというのは、David Nolenさんが中心になって開発しているReactをClojureからより良く利用するためのインターフェースライブラリです。
単にReactを利用するだけでなく、Clojureならではの機能が載せられており、Clojureでよく使われているテンプレート形式が使えたり、Om用のコンポーネントなどエコシステムも発展しつつあります。
また、Om.nextという次の世代のOmも開発されており、Quick Start (om.next) · omcljs/om Wikiを見ると、どうもバージョン1.0.0以降で使えるようです。
descjopもOm.next向けのプロジェクトも作れるようにしようと思っています。
Om based projectは、下記のようなコマンドで作り始められます。
$ lein new descjop アプリケーション名 +om
Reagent based project
Reagentもまた、ReactをClojureScriptから使うためのライブラリです。
Reagentは、weavejester/hiccupのようなDSLを使ってコンポーネントを定義していくことが出来るほか、Reagentの持つAtomを用いた状態管理など、ある程度Reagent側でアプリケーションを楽に作るための仕組みが整っています。
Reagent cookbookというのがGitHub上にあり、こちらを見ると、どんな感じでアプリケーションを作るのかよくわかります。
Reagent based projectは、下記のようなコマンドで作り始めることができます。
$ lein new descjop アプリケーション名 +reagent
ReagentやOmのいずれかを使うもしくは、その他を使うなどは好みの世界になってくるかと思います。
descjopでは、出来る限りClojureに集中してデスクトップアプリ開発を出来るような土台作りを整えていきたいと思っています。
Colophon
- 編集長
- Greative GK. 原一浩 ( kara_d )
- 製版システム
- Clojure / Compojure / Ring / Enlive / markdown-clj / Jetty / MySQL
- Share this magazine!
- Follow designudge
- Follow @designudge