これはKotlin Advent Calendar 2013の12月15日分記事です。
これは12月15日のAdvent Calendarですが、実は12月14日に合同勉強会が行われました。
そこで、KotlinのWebフレームワーク探訪という話をしてきました。
Kotlinは先日M6.2にアップデートされたのですが、誤って(?)アップデートをしてしまったせいで、デモで動かそうと思っていたKaraとWasabiのコードが動かなくなってしまいました…。さすが、かわいいKotlin勉強会のときにライブラリが動かないと言われていただけあって、やっちまった感がひどかった
…。朝4時くらいまでなんとか動かないかとチャレンジしていたのですが、直りませんでした。
仕方が無いのでそのまま話してきました。
ちゃんと動かしたことがあるのは、KaraとWasabi。
Karaは(M)VCのRailsライクなフレームワークで、最近更新が滞り気味です。
html,css,jsをKotlinで書く事ができるようになっています。
html,cssはそれ用のDSLが準備されているため、htmlもcssもKotlinで書く事ができるのです!
って言ったら、
KotlinでHTMLって逆につらそうwwwww #gbdaitokai
— ドリー夢メーカー (@daiksy) 2013, 12月 14
という反応が…。
はい、ちょっと辛めです。Rubyのslimで書くのとあんまり違わない感じの書き方なはずなのに、型に厳しいため、文字列で済ませたいところでも型を求められます(URLのルーティングとか、要素のid,classとか)。初めて書いたときは、もうこれは一旦JSP書きたい…と思いました…。
あと、更新処理をPUTメソッドで/items/1に送ったらエラーで落ちてしまったという問題の話もしました。やっぱりまだまだ未完成なフレームワークだなと思いました。
そして、Node.kt。これは以前にブログに書いた事があるのですが、KotlinのバージョンがM5.3以降でメンテナンスされていないようです。
最後に、Wasabi。WasabiはRuby製のフレームワークであるSinatraにインスパイアされたシンプルなフレームワークです。Web APIを作るのに適したシンプルな構成でクライアントサイドJavaScriptのMVCフレームワークのAngularJSやember.jsなどと組み合わせて使う事を想定しています。
型安全かつシンプルなAPIを提供できるフレームワークで、メンテナンスもされているので期待できます。
しかし結論としては、本命になるというフレームワークはまだわからないという状態です。
(メンテナンスがよく滞ってるし…)
Androidアプリを開発するにはそこまで問題にならないKotlinなんですが、いざ既存のKotlin製ライブラリを使うと使えなかったりして、よくモニョってしまいます。やはりもっともっとみんなでKotlinのプロジェクトにコントリビュートしていこうってことですよ!!
とりあえず、岡山の勉強会ではKotlinの知名度を上げる事はできたと思います。
来年は岡山でKotlinのハンズオンを開催したいと思ってます!