SlideShare a Scribd company logo
1 of 20
HTML5 と 関連API
はじめに 一般的に”HTML5”と呼ばれている範囲(広義) Web Workers “HTML5”という仕様 ドラッグ&ドロップ キャンバス Data Cache API コミュニケーション オフライン File API など… Server-Sent API Web Sockets Indexed Database API Web SQL Database Web Storage など… HTML5&API入門[白石俊平,2010,6頁,日経BP社]より引用、一部変更
今後の予定 「HTML5 の新機能」 ・キャンバス ・ドラッグ&ドロップAPI ・リッチテキスト編集用API ・フォーム要素 ・video要素、audio要素 ・その他新機能 「関連API」 ・FileAPI ・Geolocation API ・コミュニケーションAPI ・オフラインWebアプリケーション ・Web Storage ・Web SQL Database ・Web Workers ・Web Sockets ・Server-Sent Events ・その他API
> HTML5の新機能 > キャンバス > 目次 目次 ・キャンバスとは ・特性 ・アクセシビリティ ・使いどころ ・ブラウザの実装状況 ・まとめ ・おまけ - キャンバス と SVG -
> HTML5の新機能 > キャンバス > キャンバスとは キャンバスとは ブラウザ上でグラフィックスを自由に描画するための要素とAPI 絵具、筆 キャンバス canvas要素 + API  = グラフィックスの自由な描画 絵
> HTML5の新機能 > キャンバス > キャンバスとは canvas要素 グラフィックスの自由な描画が可能な領域を表す <canvas id=“demo1” width=“300” height=“200”></canvas> <html> ※width属性・height属性   指定が無い場合はデフォルト値が適用される   width:300 / height:150   もちろんCSSから指定可能 ※id属性   JavaScriptから操作するため、   指定してあった方がデベロッパーフレンドリー 300 canvas 200
> HTML5の新機能 > キャンバス > キャンバスとは API canvas 要素にグラフィックスを描画するためのインタフェース JavaScript からグラフィックスを操作するための命令や関数の集合 <script>   命令:描画しろ </script> <html> <html> canvas
> HTML5の新機能 > キャンバス > 特性 ビットマップグラフィックス 画像を格子状に多くの細密な点(ピクセル、pixel)に分割し、 その点の色や濃度をRGB等の表色系を用いて数値として表現したもの
> HTML5の新機能 > キャンバス > 特性 キャンバス は ビットマップグラフィックス を扱うもの -> キャンバス で描画した画像は ビットマップグラフィックス の特性を継承する   例)画像を拡大すると画質が悪くなる
> HTML5の新機能 > キャンバス > 特性 主な特性 ・描画速度が速い   一度描画されたグラフィックスを個別に認識することができない。しかし、それ故に高速である。 ・ピクセル操作   ピクセルレベルでのグラフィックス描画が可能である ・グラフィックスを動的に変更可能   描画内容を JavaScript で動的に操作できる ・画像やビデオのデータを読み込むことができる   img 要素や video 要素との連携
> HTML5の新機能 > キャンバス > 特性 誤解されがちなこと・注意点 ・アニメーション   アニメーションを表現するためのアクションがネイティブな機能として実装されていない ≠ アニメーション苦手   1コマずつ図を描きなおすという処理を繰り返すことで表現可能であり、   描画速度を考えるとむしろ得意といえる。 ・3Dグラフィックス   現時点での仕様には含まれていない ≠ 3D描画不可   策定中の仕様が標準化に向けて動く気配も。ブラウザでの実装も進みつつある。   WebGL … http://www.khronos.org/ ・インタラクション   JavaScript で描画内容を操作することができる ≠ インタラクション自由自在   一度描画されたグラフィックは、個別に(オブジェクト毎 または オブジェクトのグループとして)認識することができない。   極端に言うと「キャンバスで描画したグラフィックス」=「ひとつの画像(img要素)」と捉える事ができる。   -> アクセシビリティの問題
> HTML5の新機能 > キャンバス > アクセシビリティ アクセシビリティ フォールバックが考慮されており、ある程度のアクセシビリティは実現可能 サービス 問題発生 ユーザー 性能を落とす 機能制限 代替となる機能 サービスを継続
> HTML5の新機能 > キャンバス > アクセシビリティ フォールバックコンテンツ サンプル <canvas width=“300” height=“200”> <!-– フォールバックコンテンツ -->     <img src=“hoge.jpg” width=“100” height=“50” alt=“hoge” /> <p>hogehoge</p> </canvas> 対応している場合 対応していない場合 <html> <html> canvas img hogehoge
> HTML5の新機能 > キャンバス > 使いどころ 得意 描画速度が重要なケースや動きのある装飾、更新性のある図表など(アニメーション、ゲーム、グラフ) demo-1 demo-2 demo-3 不得意 サイズが大きなデータを扱う場合やインタラクティブ性が求められるケース(地図、ユーザインタフェース) demo-4 demo-5
> HTML5の新機能 > キャンバス > ブラウザの実装状況 ブラウザの実装状況 ・2010年1月時点で、Internet Explorer を除く全てのメジャーブラウザで利用可能   一部APIの使用不可やバグがある場合も… ・IE でも JavaScriptライブラリ を使用することで、機能制限はあるが利用可能   ExplorerCanvas … http://code.google.com/p/explorercanvas/   uuCanvas.js … http://code.google.com/p/uupaa-js-spinoff/ ・IE での実装は?   MS は IE9 では Web標準への対応を強化することを名言しているが Platform Preview ではキャンバスは未実装…   @IT … http://www.atmarkit.co.jp/fwcr/design/benkyo/html5_07/01.html
> HTML5の新機能 > キャンバス > まとめ キャンバスは Flash の代替えではない! 特性を理解して使い分けよう
> HTML5の新機能 > キャンバス > おまけ(キャンバス と SVG) 思ったより使いどころがない…? 思ったより面白くない…? いやいや! !待て!
> HTML5の新機能 > キャンバス > おまけ(キャンバス と SVG) SVG(Scalable Vector Graphics)とは 2次元のベクターグラフィックスを XML 文書で表現するための仕様(2001年9月にW3Cが勧告) ・グラフィックスを XML 文書で表現   グラフィックスの描画自体は JavaScript から操作しなくても可能   描画されたグラフィックスは DOM として認識できる ・ベクターグラフィックス   SVGで生成されたグラフィックスはベクターグラフィックスの特性を継承する ・インタラクション   DOM + JavaScript によって動的・対話的な処理が可能
> HTML5の新機能 > キャンバス > おまけ(キャンバス と SVG) 相互補完の関係 キャンバス と SVG は相互補完の関係にあると捉える事ができる
> HTML5の新機能 > キャンバス > おまけ(キャンバス と SVG) キャンバスと SVG でより豊かな表現が可能に!

More Related Content

Viewers also liked

HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...SwapSkills
 
最近の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
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説Akira Inoue
 
モバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれからモバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれからdsuke Takaoka
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?Fumio SAGAWA
 
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」Osamu Shimoda
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 Monaca
 

Viewers also liked (20)

HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
 
最近の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・フレームワーク)
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 
モバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれからモバイルWebアプリのこれまでとこれから
モバイルWebアプリのこれまでとこれから
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
 
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
 

Similar to Workshop1-01

Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Sho Ito
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践Shumpei Shiraishi
 
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like databaseオフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like databaseyoshikawa_t
 
プログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクトプログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクトDaisuke Nishino
 
OSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーションOSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーションDaisuke Masubuchi
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践真吾 吉田
 
技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャYugo Shimizu
 
楽ちんユーザー認証付Spa
楽ちんユーザー認証付Spa楽ちんユーザー認証付Spa
楽ちんユーザー認証付SpaTakahiro Tsuchiya
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe APImaruyama097
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APImaruyama097
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介Tadahiro Higuchi
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)Yuji Takayama
 
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」Takashi Endo
 
マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?Microsoft
 
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携CData Software Japan
 
イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱Fumio SAGAWA
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践de:code 2017
 

Similar to Workshop1-01 (20)

Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
 
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like databaseオフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
 
プログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクトプログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクト
 
OSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーションOSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーション
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ
 
API Gateway / AWS CLI
API Gateway / AWS CLIAPI Gateway / AWS CLI
API Gateway / AWS CLI
 
楽ちんユーザー認証付Spa
楽ちんユーザー認証付Spa楽ちんユーザー認証付Spa
楽ちんユーザー認証付Spa
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
 
勉強会資料①
勉強会資料①勉強会資料①
勉強会資料①
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
 
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
 
マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?
 
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携
 
HTML5最前線
HTML5最前線HTML5最前線
HTML5最前線
 
イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱イマドキのフロントエンドエンジニアの道具箱
イマドキのフロントエンドエンジニアの道具箱
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
 

Workshop1-01

  • 2. はじめに 一般的に”HTML5”と呼ばれている範囲(広義) Web Workers “HTML5”という仕様 ドラッグ&ドロップ キャンバス Data Cache API コミュニケーション オフライン File API など… Server-Sent API Web Sockets Indexed Database API Web SQL Database Web Storage など… HTML5&API入門[白石俊平,2010,6頁,日経BP社]より引用、一部変更
  • 3. 今後の予定 「HTML5 の新機能」 ・キャンバス ・ドラッグ&ドロップAPI ・リッチテキスト編集用API ・フォーム要素 ・video要素、audio要素 ・その他新機能 「関連API」 ・FileAPI ・Geolocation API ・コミュニケーションAPI ・オフラインWebアプリケーション ・Web Storage ・Web SQL Database ・Web Workers ・Web Sockets ・Server-Sent Events ・その他API
  • 4. > HTML5の新機能 > キャンバス > 目次 目次 ・キャンバスとは ・特性 ・アクセシビリティ ・使いどころ ・ブラウザの実装状況 ・まとめ ・おまけ - キャンバス と SVG -
  • 5. > HTML5の新機能 > キャンバス > キャンバスとは キャンバスとは ブラウザ上でグラフィックスを自由に描画するための要素とAPI 絵具、筆 キャンバス canvas要素 + API  = グラフィックスの自由な描画 絵
  • 6. > HTML5の新機能 > キャンバス > キャンバスとは canvas要素 グラフィックスの自由な描画が可能な領域を表す <canvas id=“demo1” width=“300” height=“200”></canvas> <html> ※width属性・height属性   指定が無い場合はデフォルト値が適用される   width:300 / height:150   もちろんCSSから指定可能 ※id属性   JavaScriptから操作するため、   指定してあった方がデベロッパーフレンドリー 300 canvas 200
  • 7. > HTML5の新機能 > キャンバス > キャンバスとは API canvas 要素にグラフィックスを描画するためのインタフェース JavaScript からグラフィックスを操作するための命令や関数の集合 <script> 命令:描画しろ </script> <html> <html> canvas
  • 8. > HTML5の新機能 > キャンバス > 特性 ビットマップグラフィックス 画像を格子状に多くの細密な点(ピクセル、pixel)に分割し、 その点の色や濃度をRGB等の表色系を用いて数値として表現したもの
  • 9. > HTML5の新機能 > キャンバス > 特性 キャンバス は ビットマップグラフィックス を扱うもの -> キャンバス で描画した画像は ビットマップグラフィックス の特性を継承する   例)画像を拡大すると画質が悪くなる
  • 10. > HTML5の新機能 > キャンバス > 特性 主な特性 ・描画速度が速い   一度描画されたグラフィックスを個別に認識することができない。しかし、それ故に高速である。 ・ピクセル操作   ピクセルレベルでのグラフィックス描画が可能である ・グラフィックスを動的に変更可能   描画内容を JavaScript で動的に操作できる ・画像やビデオのデータを読み込むことができる   img 要素や video 要素との連携
  • 11. > HTML5の新機能 > キャンバス > 特性 誤解されがちなこと・注意点 ・アニメーション   アニメーションを表現するためのアクションがネイティブな機能として実装されていない ≠ アニメーション苦手   1コマずつ図を描きなおすという処理を繰り返すことで表現可能であり、   描画速度を考えるとむしろ得意といえる。 ・3Dグラフィックス   現時点での仕様には含まれていない ≠ 3D描画不可   策定中の仕様が標準化に向けて動く気配も。ブラウザでの実装も進みつつある。   WebGL … http://www.khronos.org/ ・インタラクション   JavaScript で描画内容を操作することができる ≠ インタラクション自由自在   一度描画されたグラフィックは、個別に(オブジェクト毎 または オブジェクトのグループとして)認識することができない。   極端に言うと「キャンバスで描画したグラフィックス」=「ひとつの画像(img要素)」と捉える事ができる。   -> アクセシビリティの問題
  • 12. > HTML5の新機能 > キャンバス > アクセシビリティ アクセシビリティ フォールバックが考慮されており、ある程度のアクセシビリティは実現可能 サービス 問題発生 ユーザー 性能を落とす 機能制限 代替となる機能 サービスを継続
  • 13. > HTML5の新機能 > キャンバス > アクセシビリティ フォールバックコンテンツ サンプル <canvas width=“300” height=“200”> <!-– フォールバックコンテンツ --> <img src=“hoge.jpg” width=“100” height=“50” alt=“hoge” /> <p>hogehoge</p> </canvas> 対応している場合 対応していない場合 <html> <html> canvas img hogehoge
  • 14. > HTML5の新機能 > キャンバス > 使いどころ 得意 描画速度が重要なケースや動きのある装飾、更新性のある図表など(アニメーション、ゲーム、グラフ) demo-1 demo-2 demo-3 不得意 サイズが大きなデータを扱う場合やインタラクティブ性が求められるケース(地図、ユーザインタフェース) demo-4 demo-5
  • 15. > HTML5の新機能 > キャンバス > ブラウザの実装状況 ブラウザの実装状況 ・2010年1月時点で、Internet Explorer を除く全てのメジャーブラウザで利用可能   一部APIの使用不可やバグがある場合も… ・IE でも JavaScriptライブラリ を使用することで、機能制限はあるが利用可能   ExplorerCanvas … http://code.google.com/p/explorercanvas/   uuCanvas.js … http://code.google.com/p/uupaa-js-spinoff/ ・IE での実装は?   MS は IE9 では Web標準への対応を強化することを名言しているが Platform Preview ではキャンバスは未実装…   @IT … http://www.atmarkit.co.jp/fwcr/design/benkyo/html5_07/01.html
  • 16. > HTML5の新機能 > キャンバス > まとめ キャンバスは Flash の代替えではない! 特性を理解して使い分けよう
  • 17. > HTML5の新機能 > キャンバス > おまけ(キャンバス と SVG) 思ったより使いどころがない…? 思ったより面白くない…? いやいや! !待て!
  • 18. > HTML5の新機能 > キャンバス > おまけ(キャンバス と SVG) SVG(Scalable Vector Graphics)とは 2次元のベクターグラフィックスを XML 文書で表現するための仕様(2001年9月にW3Cが勧告) ・グラフィックスを XML 文書で表現   グラフィックスの描画自体は JavaScript から操作しなくても可能   描画されたグラフィックスは DOM として認識できる ・ベクターグラフィックス   SVGで生成されたグラフィックスはベクターグラフィックスの特性を継承する ・インタラクション   DOM + JavaScript によって動的・対話的な処理が可能
  • 19. > HTML5の新機能 > キャンバス > おまけ(キャンバス と SVG) 相互補完の関係 キャンバス と SVG は相互補完の関係にあると捉える事ができる
  • 20. > HTML5の新機能 > キャンバス > おまけ(キャンバス と SVG) キャンバスと SVG でより豊かな表現が可能に!