Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hypermicrodata Client

Hypermicrodata Client

TokyuRuby会議08 の "Hypermicrodata Client" の発表資料

Kunihiko Ito

November 29, 2014
Tweet

More Decks by Kunihiko Ito

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  12. 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'}

    View Slide

  13. 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"
    }
    ]
    }
    ]
    }
    }

    View Slide

  14. アイディア
    クライアントが hypermicrodata

    同じルールで読みとれれば
    簡単に作れるようになるのでは?

    View Slide

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

    View Slide

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

    View Slide