ScalaのWebフレームワークに関するちょっとした議論

2
Kenji Yoshida @xuwei_k

youtu.be/noCyZ6B__iE "SF Scala at Twitter: Travis Brown, Some possible futures for Finch"

2015-10-06 20:39:07
拡大
Naoki Takezoe @takezoen

書いた。/ ScalaのWebフレームワーク事情 2015年版 - たけぞう瀕死ブログ takezoe.hatenablog.com/entry/2015/10/…

2015-10-07 09:02:10
Kenji Yoshida @xuwei_k

ScalaのWebフレームワーク、少なくとも単純なスター数だけでも、もっと上位にいっぱいあるので、やるなら全部紹介して欲しさある twitter.com/takezoen/statu… d.hatena.ne.jp/xuwei/20150926…

2015-10-07 10:59:18
Kazuhiro Sera (瀬良) @seratch_ja

@xuwei_k とはいえ blueeyes はもうメンテされてないから、追加で触れるなら unfiltered、spray(と akka-http)、finatra って感じでしょうね。

2015-10-07 11:05:06
Kenji Yoshida @xuwei_k

.@seratch_ja blueeyesはたしかにあれですね。あと個人的にはfinchが github.com/finagle/finch#… skinnyより少しstar数は下だけど、adoptersのところの実績や、作ってる人達のリソース的に、今後わりと流行る気がしてます

2015-10-07 11:08:26
Kazuhiro Sera (瀬良) @seratch_ja

@xuwei_k あ、これは確かに良さそうかもと思ってました。そういえば少し似た立場で一応 http4s とかもいますね。。Skinny については明確に Servlet を攻めるニッチ戦略なんで非 Servlet の使いやすいデフォルトが存在してほしいと思ってます。

2015-10-07 11:13:23
Kenji Yoshida @xuwei_k

というかhttp4s、finchに勝てないなら合流してみんなfinchの開発して欲しさあるな。設計思想的にどのくらい相容れるのか違うのかよくわかってないけど、(他と比べて)より関数型なWebフレームワークという点では、ある程度近いはず・・・?

2015-10-07 11:16:40
Kazuhiro Sera (瀬良) @seratch_ja

finagle に依存するかどうかというのは結構大きな選択迫られるところあるんでまあ。

2015-10-07 11:23:51
Naoki Takezoe @takezoen

@xuwei_k 1年以上前に書いた記事の流用ということもあるんですが、HTTPツールキット系のものは基本的に除いていて、HTML返す系のWebアプリ作ることを想定した機能を備えているものに絞ってます。

2015-10-07 11:26:26
Kenji Yoshida @xuwei_k

.@takezoen えー、scalatraもskinnyも、別にscalateとかを組み合わせるだけで、べつに全部のフレームワークで同じことできるじゃないですか・・・。サーブレットか否か?という観点ならあれだけど(だとしてもunfilteredとかもあるし)

2015-10-07 11:28:27
Naoki Takezoe @takezoen

@xuwei_k 組み合わせれば何でも同じことできるというのはそうだと思うんですが、フレームワークが狙っている用途(主にAPIなのかHTMLなのか)はあるのかなと。まあそのへんの捉え方は自分の主観かと思いますのでご容赦いただければと。

2015-10-07 11:46:26
Kenji Yoshida @xuwei_k

「コントローラーと密結合になることによって力を発揮するテンプレートエンジン」みたいなの(?)がない限り、Webフレームワークが、APIサーバー作るのに向いてるかhtml返すのに向いてるか、ってトレードオフではないと思ってて、直交するというか、基本両方を同時に満たせると思ってるので

2015-10-07 12:25:09
Kenji Yoshida @xuwei_k

少なくともScala界隈で「このWebフレームワークはAPIサーバーに向いてる」とか「html返すアプリ作るなら、このWebフレームワークだ」みたいな形式の言及に以前からずっと違和感もってる。 (いや、Liftだけ特別か?)

2015-10-07 12:25:29
Kazuhiro Sera (瀬良) @seratch_ja

一つ一つは全くたいしたことじゃないけど、一応、単にボディ返すだけじゃなくて Web ページだったらこういうのよくやるよねっていうのはあって、それが予め考慮・用意されてる&勝手にメンテされるというのは一定の利点ではあるとは思う。 github.com/skinny-framewo…

2015-10-07 12:40:42
Kazuhiro Sera (瀬良) @seratch_ja

昔からある、フルスタックとか要らない、自分で組み合わせるから vs いちいち全部決めるんじゃなくて目的のメインじゃないところはある程度決まっていてよい(or 決まっていてほしい)的な話だろうと思うので、まあ各自で。

2015-10-07 12:52:29
がくぞ @gakuzzzz

確かに本質的に差は無さそう。この辺はなんか使いやすいValidation APIとそれに連携したView Helperが標準であるか無いかが分かれ目なのかなーという気がしている。(それが無いとHTML返すのに向いていると言われない) twitter.com/xuwei_k/status…

2015-10-07 12:55:39
病気の美少女 @lyrical_logical

性能面は兎も角まあ書きやすさみたいなのはどうしてもあるし、それを無視するわけにはいかない。書きやすさはどうしてもどっちもサイコーみたいのなかなかないしあったらとっくに誰かがやってるが Web 業界は Rails の時代からその辺進歩がそんなないので、まあダメなのだと思う

2015-10-07 13:06:07
Toshiyuki Takahashi @tototoshi

まだHTML返してるの?って煽りはどうか

2015-10-07 13:11:30
Kenji Yoshida @xuwei_k

そもそもhtml返すやつ基本あまり作ってないので、自分の感覚が他人とわりとずれてるか、知識不足の可能性も十分にある

2015-10-07 13:15:26
ぽけば @pocketberserker

finchはREST APIに重点をおいていてhttp4sはそこらへん明言してなくてHTTPサービスのためのインターフェースという大きめの(?)くくりだと思ってたけどそこに差異があるのかと問われると確かに微妙だ

2015-10-07 13:22:48
Kenji Yoshida @xuwei_k

Scalaのwebフレームワークとかjsonライブラリみたいな、混沌としてる界隈を、それぞれ紹介しつつみんなで<del>殴りあう</del>議論する勉強会とかをやってもいいかもしれないですね(?)

2015-10-07 13:26:54
Kenji Yoshida @xuwei_k

やりたい勉強会のネタ無限に出てきて時間が足りない

2015-10-07 13:28:00
ぽけば @pocketberserker

その形式なら平日夜に”資料なし”で開催可能だろうしなんかてきとーにやってみてもよいのでは、とか思った(思っただけ

2015-10-07 13:29:41