Slide 1

Slide 1 text

Hypermicrodat a client Kunihiko Ito 永和システムマネジメント

Slide 2

Slide 2 text

はじめに Ruby Kaigi 2014 参加しました?

Slide 3

Slide 3 text

今日話すこと Ruby Kaigi 2014 で感じたこと 試してみたこと

Slide 4

Slide 4 text

参加しました? Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails

Slide 5

Slide 5 text

聞いていない方 Video: http:// rubykaigi.org/2014/ presentation/S- ToruKawamura

Slide 6

Slide 6 text

はじめまして 初参加 Kunihiko Ito @kunitoo

Slide 7

Slide 7 text

概要 Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails 疎結合なAPI 状態遷移をレスポンスに含める 設計 WEB API

Slide 8

Slide 8 text

hypermicrodata HTMLをJSONに変換 HTMLから抽出 mirodata リンク フォーム

Slide 9

Slide 9 text

あらためて Video: http:// rubykaigi.org/2014/ presentation/S- ToruKawamura

Slide 10

Slide 10 text

感じたこと サーバは簡単に作成できそう クライアント難しくなりそう

Slide 11

Slide 11 text

実際に作ってみよう! rails g scaffold User name email view に microdata を付加

Slide 12

Slide 12 text

show.html.haml .person{itemscope: true, itemtype: 'http://schema.org/Person', itemid: users_url(@user), data: {main_item: true}} .media .media-body %p#notice= notice %p %strong Name: %span{itemprop: 'name'}= @user.name %p %strong Email: %span{itemprop: 'email'}= @user.email = link_to 'Edit', edit_user_path(@user), rel: 'edit' | \#{link_to 'Back', users_path, rel: 'collection', itemprop: 'isPartOf'}

Slide 13

Slide 13 text

uber+json { "uber":{ "version":"1.0", "data":[ { "url":"http://localhost:3000/users.1", "name":"Person", "data":[ { "name":"name", "value":"Kunihiko Ito" }, { "name":"email", "value":"[email protected]" }, { "name":"isPartOf", "rel":"collection", "url":"/users" }, { "rel":"edit", "url":"/users/1/edit" } ] } ] } }

Slide 14

Slide 14 text

アイディア クライアントが hypermicrodata と 同じルールで読みとれれば 簡単に作れるようになるのでは?

Slide 15

Slide 15 text

やってみて microdata の付加が難しい http://schema.org/ メタ的に考える必要がある もっとデフォルトでできるとう れしい

Slide 16

Slide 16 text

hypermicrodata client みなさんも挑戦してみて下さい