エンジニアと歩くFluent Conference 2014 第1回 カンファレンス全体の印象

レポート第1回目は、ピクセルグリッドのCTOでもある外村によるカンファレンス全体の印象レポートです。どんなプログラムが開かれていたか、見聞きした限りのリアルな情報をお届けします。

発行

著者 外村 和仁 フロントエンド・エンジニア
エンジニアと歩くFluent Conference 2014 シリーズの記事一覧

FluentConfとは

FluentConfはO'Reillyが主催している、フロントエンドデベロッパー向けのカンファレンスです。今年(2014年)は3月11日から3月13日までの3日間、サンフランシスコにて開催されました。

ピクセルグリッドからフロントエンド・エンジニアの外村と中島の2名が参加してきたので、全体の内容や、それぞれが気になったセッションなどについてレポートします。

プログラム全体の傾向

FluentConf 2014は、基調講演、通常セッション、ワークショップ、イベントを合わせると、3日間で実に100以上のプログラムが開催されました。

その中でも、次のようなトピックに関するプログラムが多かったように思います。

  • Webサイトの速度、パフォーマンス
  • ECMA Script6
  • Node.js
  • AngularJS、Ember.jsなどのWebアプリのためのフレームワーク
  • WebComponents、Polymer
  • フロントエンド開発に関するTips

セッションのスライドと動画*は、以下に公開されるので、気になるセッションがあった場合はチェックしてみてください。

*注:スライドと動画

現在スライドと動画は掲載途中なので、現時点ではまだ用意されていないものもあります。

同じ時間帯に5〜6つのセッションが同時進行しているので、すべてのセッションを見たわけではありませんが、全体的なセッションの印象としては、難易度の高いセッションは少なく、基本的なフロントエンドの知識さえあれば十分理解できるレベルのものが多かったように思います(もちろん中にはハイレベルなものもありました)。

我々が聞いたセッションの内容などについては、次回以降でレポートする予定です。

ワークショップ

今回のカンファレンスでは、通常のセッションは2日目からで、1日目はワークショップのプログラムが行われました。今回我々は、次の2つのワークショップに参加してきました。

ワークショップという言葉から、20〜30人程度の参加者で、手を動かしてコードを書く時間が長いプログラムを想像していたのですが、どちらのワークショップも、100〜300人くらいの大人数を相手に進めるワークショップで、どちらかというプレゼン中心のもの。想像していたものとは、少し違いました。

「Web Components in Action」は、基本的にWebComponensとはどういうものかという解説をしながら、途中で用意された課題をこなしていくという形式でした。手を動かして課題をこなす時間の割合が少なかったのが少し残念でしたが、難易度の高い課題で、楽しむことができました。

このワークショップで使ったスライドや課題は、以下のリポジトリ*に用意されているので興味がある方は確認してみてください。

*注:リポジトリの構成

exerciseディレクトリが課題があり、solutionsディレクリに解答があります。

午後に参加した「AngularJS Fundamentals」のワークショップは、AngularJSのチュートリアルのような内容で、時間を取ってコードを書いてみることはなく、ほとんどプレゼンの内容を聞くだけになってしまいました。

我々は、ある程度AngularJSの知識があったため、得られるものは多くありませんでしたが、AngularJSをまったく知らないという人が、AngularJSをイチから学ぶためには有意義なセッションだったと思います。

Survivor Challenge

今回のカンファレンスに参加して一番おもしろかったのが、2日目の最後に行われた、「Survivor Challenge」というプログラミングコンテストでした。

元々参加するつもりはなく、どのようなものかもまったく知らずに見にいったのですが、誰でも参加できそうだったので、試しに参加してみることにしました。

コンテンストの内容はTwilioというサービスを使って、いくつかの課題をクリアしてくというもので、最初に課題をクリアした5人に豪華賞品(iPad Airなど)が与えられるというものでした。

Twilioは電話やSMSなどをWeb APIから操作できるサービスです。例えば、次のようなNode.jsのスクリプトを実行することで、TwilioのAPIを通してSMSを送信できます。

var twilio = require('twilio');
var twilioClient = twilio(SID, AUTHTOKEN);

twilioClient.sms.messages.create({
  body: 'Hello!',      // 送信するメッセージ
  to:   'xxxxxxxxxxx', // 送信先の電話番号
  from: 'xxxxxxxxxxx'  // 送信元の電話番号
});

コンテストでは、このAPIを利用して次のような問題が出されました。

  • 指定した電話番号に特定の文字をSMSで送信せよ
  • 指定した電話番号に電話をかけ、電話を取ったらMP3ファイルの音声を流せ
  • 指定した電話番号に電話をかけ、電話を取り、5つの番号を入力したら、その合計値を指定した番号にSMSで送信せよ

Twilioにユーザー登録するところから始まったのですが、米国のTwilioのサービスに日本の携帯電話を登録するとメッセージの送信ができないという制限がある*など、ちょっとしたところでつまづいたものの、なんとか課題を進め、最後の課題がほぼ終わって後は送信するだけというところで、上位5人が決まってしまいタイムオーバーとなりました。

*注:制限のクリア

会場で知り合った米国在住の日本人の方が電話番号を貸してくれました!

一番右が最終課題クリア者。私(Kazuhito)は課題2で終了

入賞できなかったのは残念でしたが、実際にカンファレンスに行かないと参加できないコンテストですから、とてもよい経験なりました。

ちなみにTwilioは日本ではKDDIが代理店としてサービスを提供していますので、日本でも利用可能です。

コラム:コンテンスト後日談

これは日本に帰国して数日経って気づいたことですが……。コンテンストで使用されていたNode.jsのTwilioクライアントが、私が作成したjwt-simpleというnpm(Node Packaged Modules)に依存していることがわかりました。

jwt-simpleはJWT(JSON Web Token)をNode.jsでエンコード/デコードするためのものです。

コンテストの参加者やスタッフに「僕が作ったモジュールを使ってくれているね」というネタで、話しかければ楽しかったのに!と、いまさらながら思っています。もう、完全に手遅れなんですけど(笑)。

企業ブース

最後におまけですが、FluentConfではたくさんのスポンサー企業がブースを出して自社の製品の宣伝などを行っていました。ブースでスタッフに話しかけたり、ちょっとしたゲームに参加すると、ボールペンやステッカー、Tシャツなどの、さまざまなグッズをもらうことができます。

我々は最初話しかけるのをためらって見ているだけでしたが、一度話しかけてみると、意外といけるということがわかり、たくさんのグッズをゲットしてきました(写真は中島の戦利品)。

このようなブースを回ってのグッズ集めも、海外カンファレンスの醍醐味のひとつです。

まとめ

今回はFluentConf 2014に関するプログラム全体の感想などについて書きました。次回は一緒に参加した中島によるセッションのレポートをお届けする予定です。