天下一 Dev Server 武道会
最も優れたワンライナーWebサーバはどれか?

天下一 Dev Server 武道会

2018年11月22日、DeNAにて、Frontend de KANPAI!が開催されました。今回のテーマは「2018年わたしはこれにお世話になりました!」。ライブラリ・フレームワーク、設計思想など、フロントエンドに関する3つのテーマセッションとLTが行われました。プレゼンテーション「天下一 Dev Server 武道会 」に登壇したのは、株式会社ディー・エヌ・エーの藤原慎太郎氏。講演資料はこちら

天下一 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武道会」をやってくださいということで、終わります。

ありがとうございます。

(会場拍手)

Occurred on , Published at

Frontend de KANPAI!

Frontend de KANPAI!に関するログをまとめています。コミュニティをフォローすることで、Frontend de KANPAI!に関する新着ログが公開された際に、通知を受け取ることができます。

スピーカーをフォロー

関連タグ

人気ログ

人気スピーカー

人気コミュニティ

ピックアップ

編集部のオススメ

ログミーTechをフォローして最新情報をチェックしよう!

人気ログ

人気スピーカー

人気コミュニティ

ピックアップ

編集部のオススメ

そのイベント、ログしないなんて
もったいない!
苦労して企画や集客したイベント「その場限り」になっていませんか?