RubyKaigi 2014 で Hypermedia Web API について発表しました
9月18日の RubyKaigi 2014 (1日目) で “Hypermedia: the Missing Element to Building Adaptable Web APIs in Rails” というタイトルの発表をしました。
時間オーバーしてしまったのが反省点ですが、発表後にまわりの方々から良かったという言葉をいただいて、Twitterなどを見ても好評だったようで、嬉しい限りです。ありがとうございます。
詳しい内容については、るびまに載せる予定なのでそちらに譲るとして、要旨は、“RESTful Web APIs” (O'Reilly) に書かれている内容から、エッセンスを自分なりにまとめたものです。前半部分は「なぜハイパーメディアが必要なのか」についての説明、後半部分はそれをRailsで実践する設計手法の例になっています。
毎月第2・第4木曜日に開催している「RESTful Web APIs 読書会」は、前回の開催までで本編の第13章までをすべて読み終わり、発表はそのまとめでもあります。Introductionで「実質的にハイパーメディアについての本です」と言っている通り、この本ではハイパーメディアの重要性が初歩から非常に丁寧に説明されています。
この本の読書会を開いたからこそ、今回の発表ができたといえます。著者のLeonard RichardsonさんとMike Amundsenさん、そして読書会参加者のみなさん、ありがとうございました。
(10/9に意見交換会をやりました。その時の増補日本語版スライド)
作ったものについてですが、MicrodataをJSONに変換(+Railsのrender拡張)するHypermicrodata gemに関しては、まだ「とりあえず動く」レベルでしかなく、例えば直前に公開されたGarageなどとは比べるべくもない状態ですが、それぞれアプローチが少し異なるので、これから徐々に完成度を上げていきたいと思います。
また、ハイパーメディアに対応するクライアントも例示のために必要だなと思ったので、semdoc-alpsというRubyクライアントを作っていたのですが、まだフォームのsubmitに対応しておらず、これも中途半端な状態です。別のプラットフォームの例としてAndroidのクライアントも作りかけたのですが、まったく進んでいません…。が、クライアント側も同時に進めていく予定です。
祝日の夜にもかかわらず、リハーサルでとても貴重なアドバイスをくれたSendagaya.rb参加者のみなさん、僕の拙い説明をもっと噛み砕いて説明し直してくれたSonicGardenの遠藤さん、Androidプログラミングのアドバイスをくれたてしさん、昨年に引き続いてスライドの英語をレビューしてくれたクリスさん、ありがとうございました。
また、これも昨年と同様、直前提出の原稿から変更があったにもかかわらず、技術的にもハイレベルに対応してくださった同時通訳のお二方、ありがとうございました。
そしてすばらしい運営をしていただいたRubyKaigi Teamのみなさん、本当にありがとうございました。
ほかの方の発表を聴いて
今回あまり多くのセッションを聴けなかった(反省…)のですが、印象に残ったのは @Yuryu さんの“Rails Girls: Not Only for Girls”です。“Respect everyone as individual professionals”という言葉はとても大事なことだなと思いました。
RubyHiroba 2014
Rails Girls Tokyo 4th でせいいっぱいで、ほかのを見てる余裕がなかったんですが、昨年に続いてこういう場が提供されるのはとてもうれしいですね。これは毎年続いてほしい!