【公開版】Clojureでandroid開発@geekbar
- 1. clojureでAndroid
@Geekbar
2012/10/22
(2012/10/26 公開用に修正)
櫻井 雄大
(@Y_Sakurai)
- 2. なんでまたclojure?
Android開発やることになった
↓
Javaは面倒だ
↓
最近、関数型というのがトレンドらしい
↓
せっかくだから、俺は新しい言語を学ぶぜ!
↓
Androidで動く関数型言語はいねぇがー!
↓
せいかい:clojure
- 4. clojure on Android 情報
~2008年ごろ?
android-swank-clojureのスライドがTakumi KINJO氏により公開される
http://kinjo.github.com/ojag-clojure/#slide1
githubにコードが公開され、動作事例やemacsでの開発環境構築手順がWeb上に出
回る
~2010年ごろ
なんかgithubのandroid-swank-clojureリポジトリが消される。他の情報も途絶える
~2011年から現在
ひっそりとclojure用フレームワークなどが現れる(後述)
誰も気づいてないっぽいがどうなのか
- 8. 実際に試してみた
実際に接続してUIを直接書き換える例:
#--- サンプルプロジェクトの作成(neko-sampleディレクトリにパッケージ名com.example.nekosampleでプロジェクトを作成)
$ lein new neko-sample com.example.nekosample
#--- ビルド,apk作成,インストール,実行,localhost:9999を接続済実機orエミュ:9999にフォワード
$ cd neko-sample && lein do droid build, droid apk, droid deploy
#--- アプリが立ち上がったら、replを接続先指定して接続
$ lein repl :connect localhost:9999
(起動メッセージ省略)
user=> (ns com.example.nekosample.main
(:use [neko.activity]
[neko.threading]
[neko.ui]
[neko.application]
[neko.find-view]))
com.example.sampleapp.main=> (on-ui (set-content-view! a (make-ui [:linear-layout {} [:text-view {:text "Hello from REPL!"}]]))) ; ビューを新規作
成して置換する