天下一 Dev Server 武道会、開幕

司会者:それでは、本日最後ですね。今年「Frontend de KANPAI!」のトリを飾っていただきますのは……。

藤原慎太郎氏(以下、藤原):いや、そんなハードル上げないでくださいよ(笑)。

(会場笑)

司会者:上げるだけ上げてみた(笑)。株式会社ディー・エヌ・エーよりPちゃん、よろしくお願いします。

藤原:よろしくお願いします。

(会場笑)

「天下一 Dev Server 武道会」ということでやっていきたいと思います。こんにちは。Pちゃんです。

ふだんはUIデザイナーをやっていて、MyAnimeListとかハッカドールとかに関わっています。自己紹介はいいやってことで。

今年お世話になったものですね。

自分はこんな感じでお世話になりました。普通っちゃ普通なんですけど、デザイナーなのでSketch、Abstract、あとBotを作るのにNow.shとか、あとみなさんご存じNuxt.jsとかにお世話になりました。さっき所さんのお話とかでもあったと思うんですけど、Nuxtのgenerateとかを自分もよく使っていたかなと思います。

この中でFROKANでしゃべるとしたらNuxtかなとか思ってたのですが、Nuxtが超便利なこととかもうみなさん百も承知だと思いますし、あと5分間のLTで説明できるような内容でもないなということで。

今回は、nuxt generateをしたあとに出てくる./distを何かしらのローカルサーバで確認すると思うのですが、それを何で確認するのがよいかという、超ニッチなどうでもいい話をしたいと思います。

今回エントリーした4選手

というわけで、あらためまして、「天下一 Dev Server 武道会」です。

参加資格は、ローカルでWebサーバが立つことと、あとCommand Line Interfaceを持ていることです。選手入場。今回は時間が5分しかないということで、4つに勝手に絞りました。

No.1は「python -m SimpleHTTPServer」。ワンライナーサーバ界の重鎮ですね。

No2は、ここからは全部npmから出てきてるんですけど、「light-server」

「budo」と

「serve」というこの4つで戦っていきたいと思います。

評価方法は、完全に個人的な独断と偏見なんですけど、3つの軸で評価をしたいと思います。

「覚えやすさ」、単純にコマンドを何文字で打てるのかというのと、あと「触りやすさ」、やりたいことをサッとできるかという。これが一番大事かなと思うんですけど。そのあと「その他」の機能網羅性とか実績とかでやっていきたいなと。各3点、合計9点満点です。

1回戦「覚えやすさ」

1回戦は単純にそのコマンドを何文字で呼び出せるかという話で、5文字うんたらかんたらという感じで。

これ時間がないのでパって出すんですけど、pythonは5位で1点、light-serverが11文字なので2点、budoとserveはめちゃくちゃ打ちやすいので3点にしました。

(会場笑)

2回戦「触りやすさ」

2回戦は触りやすさで、やりたいことをサッとできるか? これが一番重要。今回は./distをlocalhost:3000でホスティングするという一番ありがちなシチュエーションで試したいと思います。

No.1のpythonです。

このコマンドです。42文字もかかります。そもそも./distをベースにホスティングするみたいなことができないので、cdでディレクトリを変更する必要があるみたいのがあって、かなり実用的ではないので0点としました。

(会場笑)

No.2のlight-serverは「-s dist -p 3000」みたいな感じで28文字で実行ができます。

さっきより短いですね。あとオプションも直感的ですごいわかりやすいので、3点あげました。

No.3のbudoも20文字で実行できます。

オプションも直感的にわかりやすくて、「-dってなっているところはディレクトリだな」ってわかるし、「-pがポートだな」わかるので、すごいわかりやすいなということで、これも3点あげました。

最後にNo4のserveです。

これはごちょごちょって書いてあるんですけど、60文字で実行ができます。

distをベースにホスティングみたいなことが設定ファイル経由だとできるんですよ。serve.jsonというのを作ってあげればできるんですけど、1回目は60文字かかると。2回目からはこのserve.jsonを参照するので「serve -l 3000」だけで実行ができる。13文字。「まぁ1点はあげようかな」みたいな感じで1点はあげました。

3回戦「その他アピールポイント」

3回戦、その他です。その他では、アピールできることをバシバシあげて、独断と偏見で加点していきます。

はい、python。

世の中で一番使われているローカルサーバです。「そうだね」っていうことで1点あげます。

(会場笑)

light-server。

これはすごくて、http2対応できることを売りにしている。まぁ「すごいね」というのと。あと、機能網羅性もなかなかすごいんですけど、これちょっと今紹介できる時間がないので見てほしいんですけど、2点加点をしました。

次、budoですね。

budoはGitHub Starがけっこう1,400超えてて、たぶんかなり多いです。まぁ「そうだね。すごいね」というのと。あと、機能網羅性が、たぶん個人的に使っている感じだと、light-serverより多いです。「確かにすごい」と。これ見てほしいんですけど、2点加点です。

最後にserve。

GitHub Starが3,400超えです。これはZEIT, IncというけっこうOSS界で有名なところが作っているみたいなのもあって、Star3,400超えているというのもあるんですけど、「すごいね」というので1点加点をしました。

天下一Dev Server武道会、優勝は?

はい、結果発表。

こんな感じです(笑)。pythonファンのみなさん、ごめんなさい。というわけで、独断と偏見による天下一 Dev Server 武道会、優勝はbudoです(笑)。

(会場笑)

まとめです。

今回の優勝は、触りやすさ・機能網羅性の面からbudoに決定をしました。http2を使いたいときはlight-serverを使うとよさそうというのがあります。

「もっとほかによさそうなのがあるで!」みたいなのがあれば、次回以降のFROKANで「第2回 天下一Dev Server武道会」をやってくださいということで、終わります。

ありがとうございます。

(会場拍手)