SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
HTML5を使うための
プログレッシブ・エンハンスメント
       Swap Skills@アップルストア銀座
                     2011年7月13日


                      有限会社 futomi
                代表取締役     羽田野 太巳
                    http://www.html5.jp/
                http://www.futomi.com/
               http://twitter.com/futomi/
<ruby>
 羽田野<rp>(</rp><rt>はたの</rt><rp>)</rp>
 太巳<rp>(</rp><rt>ふとみ</rt><rp>)</rp>
</ruby>
http://www.futomi.com/
http://www.html5.jp/
HTML5 =
 Markup +   API
アジェンダ

       ウェブとは
     開発アプローチ
Regressive Enhancement
  Graceful Degradation
Progressive Enhancement
         まとめ
ウェブとは




http://www.flickr.com/photos/notionscapital/5045320233/
あらゆる対象に
情報を伝える
ちらし
あらゆる対象に同じUX
あらゆる対象に同じUX




   ≠ウェブ
クロスブラウザー対策
あらゆる対象に
   同じUXを提供する
クロスブラウザー対策
あらゆる対象に
   同じUXを提供する
   確実に情報を伝える
本来のウェブとは
• 非メディア依存
 – ビジュアル・ブラウザー
 – 支援技術(Assistive Technology)
   • スクリーンリーダーなど
 – 検索エンジンのロボット

• リフローが前提
 – スクリーン・サイズに応じて変形自在
 – デメリットではなく、大きなメリット

• マルチデバイス
 – PC、スマートフォン、テレビなど
同じUXは美徳?
 違いは悪徳?
同じUXは美徳?
  違いは悪徳?

“私は、かしましい美徳よりは、
        静かな悪徳を好む”
           Albert Einstein
Progressive Enhancement
それは違いを受け入れること
開発アプローチ




http://www.flickr.com/photos/15216811@N06/5254696771/
さまざまな用語
         Graceful
      Degradation

  Fallback

  Regressive
Enhancement
                                      Progressive
             Unobtrusive              Enhancement
               Scripting

                           http://www.flickr.com/photos/horiavarlan/4273913228/
用語の整理
開発アプローチ
 – Regressive Enhancement
 – Graceful Degradation
 – Progressive Enhancement

手段
 – Fallback

特性表現
 – Unobtrusive Scripting
Unobtrusive Scripting
• JSは控えめにつつましく
• JSが機能することを前提としない
 – JSをオフにしたUA
 – JSの実装が貧弱なUA




                 http://clubt.jp/product/106622_4679549.html
良くない例1
<a href="javascript:window.history.back()">
              前項へ戻る</a>
改良版1
<a href="/index.html" id="bk">トップへ</a>

<script>
(function () {
 if( ! window.addEventListener ) { return; }
 var bk = document.getElementById('bk');
 bk.innerHTML = '前項へ戻る';
 bk.addEventListener('click', function(e) {
   e.preventDefault();
   window.history.back();
 }, false);
})();
</script>
良くない例2
  <ul>
   <li>ニュース</li>
   <li>天気予報</li>
   <li>マネー</li>
   ...
  </ul>

  li.onclick = function() {
    // サブメニューを動的生成
  };
改良版2
 <ul>
   ...
  <li>マネー
    <ul>
      <li>株式</li>
      <li>投資信託</li>
    </ul>
  </li>
  ...
 </ul>

 li.onclick = function() {
   // 表示・非表示の切り替え
 };
3つの開発アプローチ
• 三者択一ではない
 1. Regressive Enhancement
 2. Graceful Degradation
 3. Progressive Enhancement

• いずれも目的は同じ
 – すべての対象に必要な情報を確実に提供

• どこまで対応するか
 – 対象ユーザーとコストとの兼ね合い
アプローチの違い
高
            Regressive Enhancement


U
X
の
レ
ベ
ル




低
    低     UAの機能実装度               高
REGRESSIVE
ENHANCEMENT




  http://www.amazon.co.jp/dp/4278049056/
Regressive Enhancement
• 古いブラウザーには、
  同等の機能を
  あらゆる手段を使って
  気合いでエミュレート
• JSライブラリーが有効
• 非常に高コストゆえに
  自作は厳しい
VideoJS




http://videojs.com/
<link rel="stylesheet" href="video-js.css">
<script src="video.js"></script>                  第1段階
<script>                                    気合い注入
 VideoJS.setupAllWhenReady();
</script>

<div class="video-js-box">
 <video controls>
  <source src="v.mp4" type="video/mp4">           第2段階
  <source src="v.webm" type="video/webm">         第3段階
  <object data="....swf">                         第4段階
    ...                                気合い注入
    <p><a href="v.mp4">ダウンロード</a></p>             第5段階
  </object>                           Graceful Degradation
 </video>
</div>
GRACEFUL DEGRADATION




     http://www.flickr.com/photos/melkorcete/180238980/
Graceful Degradation
• Fail Safe/Fault Tolerant
  – 必要な機能がないUAを救済


• デグレードして代替え機能を提供
  – 少なくとも最低限の機能を提供
  – HTMLのフォールバック機能が有効
  – 手っ取り早いが、万能ではない
マークアップ

<figure>
 <canvas>
   <table><!-- グラフの元となる表 --></table>
 </canvas>
 <figcaption>会員数の推移</figcaption>
</figure>
結果
         新しいUA        古いUA
JS/ON




JS/OFF
要素フォールバックのポイント
• JavaScriptがOFFのUAに注意
• 該当の要素をサポートしたUAでは、JSが
  OFFの場合を救済できない場合がある
• <canvas>, <video>, <audio>, etc
PROGRESSIVE
ENHANCEMENT




http://www.flickr.com/photos/melkorcete/180238980/
Progressive Enhancement
• 必要最小限の機能を用意
 – まずはマークアップから
 – あらゆるUAで利用可能


• UAの能力に応じて機能を拡張
 – CSSやJSによるUXをアドオン
 – 最新のUAなら最高のUXを




                 http://www.31ice.co.jp/contents/product/sundae/su046.html
マークアップ

<figure>
 <table><!-- グラフの元となる表 --></table>
 <figcaption>会員数の推移</figcaption>
</figure>
スクリプト

// canvas要素のノード・オブジェクト
var canvas = document.createElement('canvas');
// table要素のノード・オブジェクト
var tbl = document.getElementById('tbl');
// table要素をcanvas要素に置き換える
tbl.parentNode.replaceChild(canvas, tbl);
// グラフを描画
...
結果
         新しいUA        古いUA
JS/ON




JS/OFF
ファイルのアップロード




必要なAPIが実装されていないブラウザーをサポート
• ファイル選択コントロールによるファイル指定
• 通常のフォーム・サブミットによるアップロード
• ファイルアップロード中の進捗はわからない

                    http://www.futomi.com/library/zip/index.html
ファイルのアップロード




Progressive Enhancementを使うと
• ドラッグ&ドロップによるファイル指定
• XHR2 FormDataによるPOST
• アップロード中の進捗表示

                          http://www.futomi.com/library/zip/index.html
三層を完全に分離

           JS

          CSS
        HTML
HTMLにCSSとJSをインラインで混在させない
    HTMLだけでも最低限の機能を提供
開発の順序

HTMLのみで必要最小限を


 CSSでビジュアルを追加


   JSで操作性を追加
まとめ




      http://www.morguefile.com/archive/display/693087
優先順位を間違えない
• アクセシビリティーが最優先
 – あらゆる対象に確実に情報を届ける
 – マークアップでできることを優先
 – CSSやJSに頼らない

• ユーザービリティーをアドオン
 –   CSSで見やすさをアドオン
 –   JSで使いやすさをアドオン
 –   最新UAでは最高のUX
 –   CSSとJSはUnobtrusive(控えめ)であるべき
“望んでいたものを手に入れたと
        思い込んでいるときほど、
        願望から遠く離れていることはない”
                         ゲーテ「親和力」

 Regressive Enhancementを求めるあまり、
    大事なユーザーを逃していませんか?


    “1オンスの思慮分別は、
               1ポンドの英知に値する”
                       イギリスのことわざ

     ちょっとした工夫と配慮で、
多くのユーザーに手をさしのべることができます。
参考図書




                                         designing with
 DOM Scripting 第二版                       progressive enhancement
http://www.amazon.co.jp/dp/1430233893/      http://www.amazon.co.jp/dp/0321658884/
ご清聴ありがとうございました



              有限会社 futomi
        代表取締役     羽田野 太巳
            http://www.html5.jp/
        http://www.futomi.com/
       http://twitter.com/futomi/
主催:allWebクリエイター塾

羽田野太巳から学ぶ
「HTML5マークアップ講座」
http://all-web.org/curriculums/html5/index.html

羽田野太巳から学ぶ
「0から学ぶ JavaScript 講座」
http://all-web.org/curriculums/javascript/index.html

Más contenido relacionado

La actualidad más candente

2012年8月10日 勉強会
2012年8月10日 勉強会2012年8月10日 勉強会
2012年8月10日 勉強会Rin Yano
 
BluemixでGWTアプリケーションを動かす
BluemixでGWTアプリケーションを動かすBluemixでGWTアプリケーションを動かす
BluemixでGWTアプリケーションを動かすShisei Hanai
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門Kohei Kadowaki
 
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話yoshioka_cb
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Yusuke Wada
 
AngularJSの高速化
AngularJSの高速化AngularJSの高速化
AngularJSの高速化Kon Yuichi
 
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかなぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかYoichi Toyota
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScripthideaki honda
 
BACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発についてBACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発についてToshio Ehara
 
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJBTsunenaga Hanyuda
 
HTML5 & The Web Platform
HTML5 & The Web PlatformHTML5 & The Web Platform
HTML5 & The Web PlatformMasataka Yakura
 
Web Platform -- Moving Forward!
Web Platform -- Moving Forward!Web Platform -- Moving Forward!
Web Platform -- Moving Forward!Masataka Yakura
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころAyumi Goto
 
Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1daisuke shimizu
 
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術Y Watanabe
 
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会Yuki Okada
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分松田 千尋
 
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったMojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったTetsuya Tatsumi
 
HTML5 開発環境の紹介
HTML5 開発環境の紹介HTML5 開発環境の紹介
HTML5 開発環境の紹介tomo_masakura
 

La actualidad más candente (20)

2012年8月10日 勉強会
2012年8月10日 勉強会2012年8月10日 勉強会
2012年8月10日 勉強会
 
BluemixでGWTアプリケーションを動かす
BluemixでGWTアプリケーションを動かすBluemixでGWTアプリケーションを動かす
BluemixでGWTアプリケーションを動かす
 
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
 
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
 
AngularJSの高速化
AngularJSの高速化AngularJSの高速化
AngularJSの高速化
 
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかなぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのか
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScript
 
BACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発についてBACKBONE.JSによるWebアプリケーション開発について
BACKBONE.JSによるWebアプリケーション開発について
 
3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB3.Java EE7 徹底入門 CDI&EJB
3.Java EE7 徹底入門 CDI&EJB
 
HTML5 & The Web Platform
HTML5 & The Web PlatformHTML5 & The Web Platform
HTML5 & The Web Platform
 
Web Platform -- Moving Forward!
Web Platform -- Moving Forward!Web Platform -- Moving Forward!
Web Platform -- Moving Forward!
 
iOS WebView App
iOS WebView AppiOS WebView App
iOS WebView App
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころ
 
Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1Backbonejs @BuildInsiderOffline #1
Backbonejs @BuildInsiderOffline #1
 
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
 
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
 
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったMojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
 
HTML5 開発環境の紹介
HTML5 開発環境の紹介HTML5 開発環境の紹介
HTML5 開発環境の紹介
 

Destacado

最近のHTML5はどうなってるのか
最近のHTML5はどうなってるのか最近のHTML5はどうなってるのか
最近のHTML5はどうなってるのかShumpei Shiraishi
 
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery MobileモバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobiledsuke Takaoka
 
最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれdsuke Takaoka
 
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよSencha のフレームワーク Ext JS 5 について 15 分で説明するよ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ久司 中村
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミングSwapSkills
 
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめhirooooo
 
HTML5ハイブリッドアプリ開発 で拓くビジネスチャンス
HTML5ハイブリッドアプリ開発で拓くビジネスチャンスHTML5ハイブリッドアプリ開発で拓くビジネスチャンス
HTML5ハイブリッドアプリ開発 で拓くビジネスチャンス アシアル株式会社
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料Osamu Shimoda
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスアシアル株式会社
 
50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニックmiso- soup3
 
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Masakazu Muraoka
 
次世代Web業務アプリケーション
次世代Web業務アプリケーション次世代Web業務アプリケーション
次世代Web業務アプリケーションFumio SAGAWA
 
一から作る業務システム vol.1
一から作る業務システム vol.1一から作る業務システム vol.1
一から作る業務システム vol.1Mitsuaki Kida
 
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)K Tsukada
 
モバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれからモバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれからdsuke Takaoka
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説Akira Inoue
 
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」Osamu Shimoda
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?Fumio SAGAWA
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 Monaca
 

Destacado (20)

Workshop1-01
Workshop1-01Workshop1-01
Workshop1-01
 
最近のHTML5はどうなってるのか
最近のHTML5はどうなってるのか最近のHTML5はどうなってるのか
最近のHTML5はどうなってるのか
 
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery MobileモバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
モバイルWebアプリのこれまでとこれから。Sencha Touch vs jQuery Mobile
 
最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ
 
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよSencha のフレームワーク Ext JS 5 について 15 分で説明するよ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
 
今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング今からハジメるHTML5プログラミング
今からハジメるHTML5プログラミング
 
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
 
HTML5ハイブリッドアプリ開発 で拓くビジネスチャンス
HTML5ハイブリッドアプリ開発で拓くビジネスチャンスHTML5ハイブリッドアプリ開発で拓くビジネスチャンス
HTML5ハイブリッドアプリ開発 で拓くビジネスチャンス
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
 
50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック
 
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発
 
次世代Web業務アプリケーション
次世代Web業務アプリケーション次世代Web業務アプリケーション
次世代Web業務アプリケーション
 
一から作る業務システム vol.1
一から作る業務システム vol.1一から作る業務システム vol.1
一から作る業務システム vol.1
 
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
 
モバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれからモバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれから
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
 

Similar a HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement

jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tipsyoshikawa_t
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
 
JS非同期処理のいま
JS非同期処理のいまJS非同期処理のいま
JS非同期処理のいまMasakazu Muraoka
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210cmtomoda
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】Yasuhito Yabe
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップYasuhito Yabe
 
Brush up your Coding!
Brush up your Coding!Brush up your Coding!
Brush up your Coding!Shogo Sensui
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitAtsuhiro Kubo
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーAyumu Kawaguchi
 
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナー
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナーProgressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナー
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナーFutomi Hatano
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)Hiroaki KOBAYASHI
 
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドXPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドTetsuji Hayashi
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.nextyoshikawa_t
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
 
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10Sea Mountain
 

Similar a HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement (20)

jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
Webteko 20090925
Webteko 20090925Webteko 20090925
Webteko 20090925
 
JS非同期処理のいま
JS非同期処理のいまJS非同期処理のいま
JS非同期処理のいま
 
HTML5最新動向
HTML5最新動向HTML5最新動向
HTML5最新動向
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
 
Brush up your Coding!
Brush up your Coding!Brush up your Coding!
Brush up your Coding!
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
 
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
 
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナー
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナーProgressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナー
Progressive Enhancement - クロスブラウザー対応に必要なこと - Microsoft IE10 移行セミナー
 
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
 
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドXPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
 
Visualforce + jQuery
Visualforce + jQueryVisualforce + jQuery
Visualforce + jQuery
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10Ruby on Rails Tutorial Chapter8-10
Ruby on Rails Tutorial Chapter8-10
 

Más de SwapSkills

セマンティック検索 20100731
セマンティック検索 20100731セマンティック検索 20100731
セマンティック検索 20100731SwapSkills
 
Talk microdata
Talk microdataTalk microdata
Talk microdataSwapSkills
 
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門SwapSkills
 
SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]SwapSkills
 
HTML5 & Web Platform
HTML5 & Web PlatformHTML5 & Web Platform
HTML5 & Web PlatformSwapSkills
 
実践!スマートフォンサイト制作
実践!スマートフォンサイト制作実践!スマートフォンサイト制作
実践!スマートフォンサイト制作SwapSkills
 
スマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティスマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティSwapSkills
 
今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップSwapSkills
 
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 SwapSkills
 
『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次SwapSkills
 
Swapskills Print Css
Swapskills Print CssSwapskills Print Css
Swapskills Print CssSwapSkills
 
Swap Skills I Phone
Swap Skills I PhoneSwap Skills I Phone
Swap Skills I PhoneSwapSkills
 

Más de SwapSkills (12)

セマンティック検索 20100731
セマンティック検索 20100731セマンティック検索 20100731
セマンティック検索 20100731
 
Talk microdata
Talk microdataTalk microdata
Talk microdata
 
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門
 
SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]SwapSkillsFree|jQueryMobile [基礎編]
SwapSkillsFree|jQueryMobile [基礎編]
 
HTML5 & Web Platform
HTML5 & Web PlatformHTML5 & Web Platform
HTML5 & Web Platform
 
実践!スマートフォンサイト制作
実践!スマートフォンサイト制作実践!スマートフォンサイト制作
実践!スマートフォンサイト制作
 
スマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティスマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティ
 
今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ今からハジメるHTML5マークアップ
今からハジメるHTML5マークアップ
 
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 
『XHTML+SVG+MathMLの技術を知る! 』 小山田 晃浩 
 
『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次『はじめてのXSLT 』小林 信次
『はじめてのXSLT 』小林 信次
 
Swapskills Print Css
Swapskills Print CssSwapskills Print Css
Swapskills Print Css
 
Swap Skills I Phone
Swap Skills I PhoneSwap Skills I Phone
Swap Skills I Phone
 

HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressive enhancement