SlideShare a Scribd company logo
1 of 55
Web Components概要
2013/4/20
html5j主催
株式会社オープンウェブ・テクノロジー代表取締役
白石俊平(@Shumpei)
自己紹介
白石俊平と申します。
コミュニティhtml5j管理人(会員数5000名超)
HTML5とか勉強会主催(毎月一回、100名を動員)
Google API Expert (HTML5)
Microsoft Most Valuable Professional (IE9)
Twitter: @Shumpei
おあそび
スマホから:
http://bit.ly/efstatoka
PCの方:
http://bit.ly/efstatoka1
今日のアジェンダ
Web Componentsとは何か?
Web Componentsの構成要素
テンプレート
デコレータ
カスタム要素
Shadow DOM
Web ComponentsはWebをどう変えるか?
Web Componentsとは何か?
→WebのUIを「コンポーネント
化」するための仕様群である。
Webには、
コンポーネント
化が必要だ。
Webには、
コンポーネント
化が必要だ。
メンテナンス性
再利用性
開発効率
Web Components概要
Googleによって仕様提案
2013/4現在、Google Chromeが一部を実装済み
(Firefoxもdocument.registerのみ実装)
一部の仕様が公式のドラフトとして公開
→一般的に使えるようになるにはまだ時間がかか
りそう
Web Componentsの構成要素
Web Componentsを構成する4つの要素
テンプレート デコレータ
カスタム要素 Shadow DOM
HTMLテンプレート
HTMLテンプレート
現在、JavaScriptでテンプレートを実現する方法
は2つある。
文字列テンプレート
オフスクリーンDOM
HTMLテンプレート
現在、JavaScriptでテンプレートを実現する方法
は2つある。
文字列テンプレート
テンプレートの使用前に、<img>などが評価・実行
されることはない
DOMを考慮しない=innerHTMLを使用することに
なる
オフスクリーンDOM
<script id="tmpl1"
type="text/x-handlebars-template">
<img src="...">
<script src="..."></script>
</script>
HTMLテンプレート
現在、JavaScriptでテンプレートを実現する方法
は2つある。
文字列テンプレート
オフスクリーンDOM
DOMを持つ
テンプレートの使用前であっても、<img>などが評
価・実行されてしまう
<div id="tmpl" style="display:none;" hidden>
<img src="...">
<script src="..."></script>
</div>
HTMLテンプレート
現在、JavaScriptでテンプレートを実現する方法
は2つある。
文字列テンプレート
XSSの危険性
DOM操作
コードが書きにくい
結果が予想しづらい
HTMLテンプレートで
解決!
HTMLテンプレートの定義方法
<template>要素を使用する。
<template>内に、通常通りHTMLを記述する
<template>はレンダリングされない
<body>, <head>に定義
<html>
<head>
<template id="t">
<div id="message"></div>
</template>
</head>
<body></body>
</html>
HTMLテンプレートを使用する
contentプロパティから、内部のDOMを取得する。
<template id="t">
<div id="message"></div>
</template>
var tmplElem = document.getElementById('t');
var tmpl = tmplElem.content.cloneNode();
…
elem.appendChild(tmpl);
HTMLテンプレート
テンプレートの使用前に、<img>などが評価・実
行されることはない
DOMを持つ。
「テンプレートである」というセマンティック
を与えることができるのも良い。
デコレータ、カスタム要素で使用される汎用要
素でもある。
デコレータ
CSSの限界を超える
CSSの限界とは?
DOMを操作することは
できない
<ul>
<li>
<i>アイコン</i>
<span>自由人会議</span>
<span>5</span>
</li>
…
</ul>
くらいで済みそうなものだけれ
ど・・
デコレータ
要素を「デコレーション」するための仕組み
HTML内で定義し、CSS内で使用する
デコレータの定義
<decorator>要素と<template>要素を使用して定
義する。
<decorator id="labelDecorator">
<template>
ラベル:
</template>
</decorator>
デコレータの使用
CSS内で、decoratorプロパティを使って要素に
指定する。
/* 全てのlabel要素が「ラベル:」となる */
label {
decorator: url(#labelDecorator);
}
<label for="name">
お名前
</label>
<input id="name">
デコレータの使用
テンプレート内で<content>要素を使用して、要
素内容を挿入する箇所を指定できる。
<decorator id="labelDecorator">
<template>
<!-- ここに、要素内容が挿入される -->
<content></content>:
</template>
</decorator>
<label for="name">
お名前
</label>
<input id="name">
複数の<content>要素を指定する
<content>は複数指定できる。
select属性を用いて、要素内容の一部を抜きだし
て挿入できる。
<decorator id="fieldRowDecorator">
<template>
<div>
<!-- ここに、要素内容が挿入される -->
<content select="label"></content>:
</div>
<!-- 残りの要素はここに挿入される -->
<div id="field"><content></content></div>
</template>
</decorator>
複数の<content>要素を指定する
/* ラベルとフィールドの組み合わせ */
.fieldRow {
decorator: url(#fieldDecorator);
}
<div class="fieldRow">
<label for="name">
お名前
</label>
<input id="name">
</div>
Advanced:
デコレータのスタイリング
スコープ付きのstyle要素を使用する。
<decorator id="fieldRowDecorator">
<template>
<style scoped>...</style>
…
</template>
</decorator>
Advanced:
デコレータ内のイベント処理
デコレータは、listen()というメソッドを使用してイベント
ハンドラを登録する
デコレータのコードが実行されるのは、ロード時に一度き
り
<decorator id="decorator-event-demo">
<script>
function h(event) {
alert(event.target);
}
this.listen(
{selector: "#b", type: "click", handler: h});
</script>
<template>
<content></content>
<button id="b">Bar</button>
</template>
</decorator>
デコレータ
あくまで表示目的の機能である。
Shadow DOM(後述)は持たない
デコレータで定義されたDOMには、アクセスす
る手段がない
スタイリング目的の余計なマークアップを劇的
に減らすことができるため、非常に強力
カスタム要素
カスタム要素とは?
要素を自作できる!!!!
カスタム要素の定義
<element>要素を使用する
name属性に要素名を指定する
自作要素には「x-」という接頭辞をつけなくては
ならない
extends属性に、継承元の要素を指定する
<element name="x-fancybutton"
extends="button">
<template>
<!-- デコレータと同様 -->
…
</template>
</element>
カスタム要素の使用
要素にis属性を指定して、カスタム要素の名称を
指定する。
対象となる要素は、カスタム要素のextendsと一
致している必要がある
<button is="x-fancybutton">
<span>ボタン</span>
</button>
Advanced:
カスタム要素のインスタンス化
カスタム要素は通常の要素と同じく、
document.createElement()でインスタンス化でき
る
constructor属性で、コンストラクタを生成させ
ることも可能
var e = document.createElement('x-fancybutton');
<element name="x-fancybutton" extends="button"
constructor="FancyButton">...</element>
var fancyButton = new FancyButton();
Advanced:
カスタム要素のクラス定義
コンストラクタのプロトタイプを変更して、要
素独自の振る舞いを追加する。
<element ... constructor="FancyButton">
<script>
FancyButton.prototype.razzle = ...
// constructor属性を使用しない場合は
// 以下のコードでコンストラクタにアクセス
// var FancyButton =
this.generatedConstructor;
</script>
...
</element>
Advanced:
カスタム要素のライフサイクル
カスタム要素は、以下の様なライフサイクルイベントを捕
捉して処理を行える。
created
attributeChanged
inserted
removed
<element extends="time" name="x-clock">
<script>
this.lifecycle({
inserted: function(){ this.startUpdatingClock(); },
removed: function() { this.stopUpdatingClock(); }
});
</script>
</element>
Advanced:
document.register API
カスタム要素を作成するためのAPI。
バージョン22以降のFirefoxが実装している。
// x-foo要素を作成
document.register('x-foo', {
prototype: Object.create(
HTMLParagraphElement.prototype, {
firstMember: {
get: function() { return foo; } },
}
});
Shadow DOM
Shadow DOMとは?
開発者の目から隠されたDOMツリー
複雑な内部構造を隠蔽し、シンプルなDOMに見
せかけることができる(=カプセル化)。
Shadow DOMの実装状況
Google ChromeにはShadow DOMが実装されて
いる。
標準的な要素の多くが、Shadow DOMで実装さ
れている。
video/audio/textarea/details/input...
Shadow DOMを見る
標準的な要素が、Shadow DOMによって構築さ
れていることを確認する。
Advanced:
Shadow DOMの動作を理解する
Shadow DOMを使用した要素(Shadow Host)
の「内側」には、2つのDOMツリーがある。
<element name="x-fancybutton"
extends="button">
<template>
<content></content>
<div>...</div>
</template>
</element>
<button is="x-fancybutton">
<span>ボタン</span>
</button>
カスタム要素の定義
に含まれるDOMツ
リー。
こちらのツリーは開
発者の目に見えない。
(Shadow DOM)
カスタム要素内に入
れ子にしたDOMツ
リー。
こちらのツリーは、
Shadow DOMに取っ
て代わられる
Advanced:
Shadow DOMの動作を理解する
二種類のDOMツリー
Advanced:
Shadow DOMの動作を理解する
Shadow DOMに差し替えられる
Advanced:
Shadow DOMの動作を理解する
元のDOMツリーは、<content>要素の位置に挿入
される
<element name="x-fancybutton"
extends="button">
<template>
<content></content>
<div>...</div>
</template>
</element>
<button is="x-fancybutton">
<span>ボタン</span>
</button>
<button is="x-fancybutton">
<span>ボタン</span>
<div>...</div>
</button>
Advanced:
Shadow DOMを使う
Chrome上では既に、Shadow DOMのAPIが利用
可能となっている。
element.webkitCreateShadowRoot()を用いて、
任意の要素をShadow Hostにすることができ
る。
Advanced:
Shadow DOMを使う
以下のコードを、Shadow DOM APIを使用して
整形する。
<!DOCTYPE html>
<div id="shadowHost">
もともとあったDOMツリー
</div>
<div id="shadowSubtree">
<style scoped>
#origTree { color: red; }
</style>
<h1>Shadow DOM Subtree</h1>
<div id="origTree">
<content></content>
</div>
</div>
Advanced:
Shadow DOMを使う
// Shadow Hostとなる要素を取得
var shadowHost = document.getElementById('shadowHost');
// Shadow Hostに変換
// この時点で、元のDOMツリーは一旦非表示に
var shadowRoot = shadowHost.webkitCreateShadowRoot();
// Shadow DOM サブツリーになる要素
var shadowSubtree = document.getElementById('shadowSubtree');
// Shadow DOM サブツリーとして指定
// 表示されるのはこちらの要素になる。
// <content>要素の部分に、もとのDOMツリーが表示される
shadowRoot.appendChild(shadowSubtree);
Web Componentsは
Webをどう変えるか?
UIフレームワークの
利用方法が統一
$('#list').somelist();
<ul data-role="listview">
</ul>
<ul dojoType="x.y.SomeList">
</ul>
<ul is="x-somelist">
</ul>
外部コンポーネントの
読み込み
link要素を用いて、外部コンポーネントを読み込
むことができる。
<link rel="components" href="URL">
CDNによるコンポーネント配信な
どが期待できる!
Web UI開発の分業が可能に
コンポーネント開発者
(ハイスキル)
HTML/CSS/JSを駆使したコンポーネント開発
開発標準策定
サードパーティコンポーネントの選定など
コンポーネント利用者
(ロースキル)
HTMLマークアップ
CSSスタイリング
よりセマンティックな
マークアップに
複雑なマークアップをカプセル化することで、
よりシンプルでセマンティックなマークアップ
に。
<textarea
is="x-tweetbox"
placeholder="ツイートする">
</textarea>
WebComponentsには注目!
数年後のHTMLマークアップは、今とは全く違う
ものになっているかも?
いつまでも泥臭かったHTMLフロントエンド開発
を、洗練されたものに。
ご清聴ありがとうございました。
Follow me @Shumpei

More Related Content

What's hot

Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)Noriaki UCHIYAMA
 
Office 365 勉強会「いまさらきけない? SharePoint の基礎のキソ」
 Office 365 勉強会「いまさらきけない? SharePoint の基礎のキソ」 Office 365 勉強会「いまさらきけない? SharePoint の基礎のキソ」
Office 365 勉強会「いまさらきけない? SharePoint の基礎のキソ」Kazuhiko Nakamura
 
HTML5開発最前線
HTML5開発最前線HTML5開発最前線
HTML5開発最前線yoshikawa_t
 
Style Guide活用のススメ
Style Guide活用のススメStyle Guide活用のススメ
Style Guide活用のススメShigeki Ohtsuki
 
SharePoint 2013 流リスト ビュー カスタマイズ
SharePoint 2013 流リスト ビュー カスタマイズSharePoint 2013 流リスト ビュー カスタマイズ
SharePoint 2013 流リスト ビュー カスタマイズHirofumi Ota
 
SharePoint と Yammer
SharePoint と YammerSharePoint と Yammer
SharePoint と YammerHirofumi Ota
 
第13回 JPSPS in 大阪_失敗しないSharePointプロジェクト 案件
第13回 JPSPS in 大阪_失敗しないSharePointプロジェクト 案件第13回 JPSPS in 大阪_失敗しないSharePointプロジェクト 案件
第13回 JPSPS in 大阪_失敗しないSharePointプロジェクト 案件Akira Fukami
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリアシアル株式会社
 
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったMojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったTetsuya Tatsumi
 
20150531 phpcon kansai
20150531 phpcon kansai20150531 phpcon kansai
20150531 phpcon kansaikumamidori
 
Share point 小ネタ集
Share point 小ネタ集Share point 小ネタ集
Share point 小ネタ集Mayuko Hatanaka
 
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめhirooooo
 
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろうPHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろうYusuke Kawabata
 
20151207 shibuya handson
20151207 shibuya handson20151207 shibuya handson
20151207 shibuya handsonSix Apart
 
マークアップエンジニアと情報アーキテクチャ
マークアップエンジニアと情報アーキテクチャマークアップエンジニアと情報アーキテクチャ
マークアップエンジニアと情報アーキテクチャ力也 伊原
 
デザインが統一されているShare point サイトを作成しよう
デザインが統一されているShare point サイトを作成しようデザインが統一されているShare point サイトを作成しよう
デザインが統一されているShare point サイトを作成しようMayuko Hatanaka
 
HTML5 入門
HTML5 入門HTML5 入門
HTML5 入門NOAN
 
GDG Women DevfestW
GDG Women DevfestWGDG Women DevfestW
GDG Women DevfestWTomoko Sato
 
SharePoint 2013/Office365の「ソーシャル」でできること。SharePointは社内Facebookになれるのか?
SharePoint 2013/Office365の「ソーシャル」でできること。SharePointは社内Facebookになれるのか?SharePoint 2013/Office365の「ソーシャル」でできること。SharePointは社内Facebookになれるのか?
SharePoint 2013/Office365の「ソーシャル」でできること。SharePointは社内Facebookになれるのか?Kazuhiko Nakamura
 

What's hot (20)

Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)
 
Office 365 勉強会「いまさらきけない? SharePoint の基礎のキソ」
 Office 365 勉強会「いまさらきけない? SharePoint の基礎のキソ」 Office 365 勉強会「いまさらきけない? SharePoint の基礎のキソ」
Office 365 勉強会「いまさらきけない? SharePoint の基礎のキソ」
 
HTML5開発最前線
HTML5開発最前線HTML5開発最前線
HTML5開発最前線
 
Style Guide活用のススメ
Style Guide活用のススメStyle Guide活用のススメ
Style Guide活用のススメ
 
SharePoint 2013 流リスト ビュー カスタマイズ
SharePoint 2013 流リスト ビュー カスタマイズSharePoint 2013 流リスト ビュー カスタマイズ
SharePoint 2013 流リスト ビュー カスタマイズ
 
SharePoint と Yammer
SharePoint と YammerSharePoint と Yammer
SharePoint と Yammer
 
第13回 JPSPS in 大阪_失敗しないSharePointプロジェクト 案件
第13回 JPSPS in 大阪_失敗しないSharePointプロジェクト 案件第13回 JPSPS in 大阪_失敗しないSharePointプロジェクト 案件
第13回 JPSPS in 大阪_失敗しないSharePointプロジェクト 案件
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
 
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったMojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
 
20150531 phpcon kansai
20150531 phpcon kansai20150531 phpcon kansai
20150531 phpcon kansai
 
Share point 小ネタ集
Share point 小ネタ集Share point 小ネタ集
Share point 小ネタ集
 
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
 
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろうPHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
 
HTML5 のお話
HTML5 のお話HTML5 のお話
HTML5 のお話
 
20151207 shibuya handson
20151207 shibuya handson20151207 shibuya handson
20151207 shibuya handson
 
マークアップエンジニアと情報アーキテクチャ
マークアップエンジニアと情報アーキテクチャマークアップエンジニアと情報アーキテクチャ
マークアップエンジニアと情報アーキテクチャ
 
デザインが統一されているShare point サイトを作成しよう
デザインが統一されているShare point サイトを作成しようデザインが統一されているShare point サイトを作成しよう
デザインが統一されているShare point サイトを作成しよう
 
HTML5 入門
HTML5 入門HTML5 入門
HTML5 入門
 
GDG Women DevfestW
GDG Women DevfestWGDG Women DevfestW
GDG Women DevfestW
 
SharePoint 2013/Office365の「ソーシャル」でできること。SharePointは社内Facebookになれるのか?
SharePoint 2013/Office365の「ソーシャル」でできること。SharePointは社内Facebookになれるのか?SharePoint 2013/Office365の「ソーシャル」でできること。SharePointは社内Facebookになれるのか?
SharePoint 2013/Office365の「ソーシャル」でできること。SharePointは社内Facebookになれるのか?
 

Similar to Web Components概要 2013/4/20 エフスタ!版

20150729 polymer超入門
20150729 polymer超入門20150729 polymer超入門
20150729 polymer超入門Kazuyoshi Goto
 
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜Masakazu Muraoka
 
Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座Atsushi Miura
 
html5とcss3実例紹介とデモ
html5とcss3実例紹介とデモhtml5とcss3実例紹介とデモ
html5とcss3実例紹介とデモAkihiro Sugiyama
 
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみるWeb屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみるMasakazu Muraoka
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことMasakazu Muraoka
 
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成Osamu Monoe
 
Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Masakazu Muraoka
 
パンダの会 Html5概説
パンダの会 Html5概説パンダの会 Html5概説
パンダの会 Html5概説Masakazu Muraoka
 
何を自動化するのか
何を自動化するのか何を自動化するのか
何を自動化するのか暁 三宅
 
Ie6をさっさとやめよう その2
Ie6をさっさとやめよう その2Ie6をさっさとやめよう その2
Ie6をさっさとやめよう その2Masakazu Muraoka
 
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?Developers Summit
 
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)Hideki Akiba
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5Sho Ito
 
Php on windows vol.2 - session.1 - 公開用
Php on windows   vol.2 - session.1 - 公開用Php on windows   vol.2 - session.1 - 公開用
Php on windows vol.2 - session.1 - 公開用hirookun
 
HTML5がもたらすアプリ開発へのインパクト
HTML5がもたらすアプリ開発へのインパクトHTML5がもたらすアプリ開発へのインパクト
HTML5がもたらすアプリ開発へのインパクトShumpei Shiraishi
 
記事には書けなかったHTML5の話
記事には書けなかったHTML5の話記事には書けなかったHTML5の話
記事には書けなかったHTML5の話Shumpei Shiraishi
 

Similar to Web Components概要 2013/4/20 エフスタ!版 (20)

20150729 polymer超入門
20150729 polymer超入門20150729 polymer超入門
20150729 polymer超入門
 
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
 
Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座
 
html5とcss3実例紹介とデモ
html5とcss3実例紹介とデモhtml5とcss3実例紹介とデモ
html5とcss3実例紹介とデモ
 
Htmlのコトバ
HtmlのコトバHtmlのコトバ
Htmlのコトバ
 
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみるWeb屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
Web屋という仕事のこれから Web動向からWeb屋に必要な技術を考えてみる
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
 
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
 
Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方
 
パンダの会 Html5概説
パンダの会 Html5概説パンダの会 Html5概説
パンダの会 Html5概説
 
何を自動化するのか
何を自動化するのか何を自動化するのか
何を自動化するのか
 
Ie6をさっさとやめよう その2
Ie6をさっさとやめよう その2Ie6をさっさとやめよう その2
Ie6をさっさとやめよう その2
 
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
 
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
 
Thing.jsについて
Thing.jsについてThing.jsについて
Thing.jsについて
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5
 
HTML5の話
HTML5の話HTML5の話
HTML5の話
 
Php on windows vol.2 - session.1 - 公開用
Php on windows   vol.2 - session.1 - 公開用Php on windows   vol.2 - session.1 - 公開用
Php on windows vol.2 - session.1 - 公開用
 
HTML5がもたらすアプリ開発へのインパクト
HTML5がもたらすアプリ開発へのインパクトHTML5がもたらすアプリ開発へのインパクト
HTML5がもたらすアプリ開発へのインパクト
 
記事には書けなかったHTML5の話
記事には書けなかったHTML5の話記事には書けなかったHTML5の話
記事には書けなかったHTML5の話
 

More from Shumpei Shiraishi

コンセプトのつくりかた - アイデアをかたちにする技術
コンセプトのつくりかた - アイデアをかたちにする技術コンセプトのつくりかた - アイデアをかたちにする技術
コンセプトのつくりかた - アイデアをかたちにする技術Shumpei Shiraishi
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶShumpei Shiraishi
 
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門Shumpei Shiraishi
 
JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門Shumpei Shiraishi
 
「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んでShumpei Shiraishi
 
「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んでShumpei Shiraishi
 
WebRTCがビデオ会議市場に与えるインパクトを探る
WebRTCがビデオ会議市場に与えるインパクトを探るWebRTCがビデオ会議市場に与えるインパクトを探る
WebRTCがビデオ会議市場に与えるインパクトを探るShumpei Shiraishi
 
変身×フランツ・カフカ
変身×フランツ・カフカ変身×フランツ・カフカ
変身×フランツ・カフカShumpei Shiraishi
 
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んでイラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んでShumpei Shiraishi
 
「1秒でわかる!アパレル業界ハンドブック」を読んで
「1秒でわかる!アパレル業界ハンドブック」を読んで「1秒でわかる!アパレル業界ハンドブック」を読んで
「1秒でわかる!アパレル業界ハンドブック」を読んでShumpei Shiraishi
 
HTML5時代のフロントエンド開発入門
HTML5時代のフロントエンド開発入門HTML5時代のフロントエンド開発入門
HTML5時代のフロントエンド開発入門Shumpei Shiraishi
 
6,000人のWeb技術者コミュニティを5年間やってみて学んだこと
6,000人のWeb技術者コミュニティを5年間やってみて学んだこと6,000人のWeb技術者コミュニティを5年間やってみて学んだこと
6,000人のWeb技術者コミュニティを5年間やってみて学んだことShumpei Shiraishi
 
はじめにことばありき
はじめにことばありきはじめにことばありき
はじめにことばありきShumpei Shiraishi
 
この人と結婚していいの?を読んで
この人と結婚していいの?を読んでこの人と結婚していいの?を読んで
この人と結婚していいの?を読んでShumpei Shiraishi
 
第62回 読書するエンジニアの会(テーマ:メカ) 「Prototyping lab」
第62回 読書するエンジニアの会(テーマ:メカ) 「Prototyping lab」第62回 読書するエンジニアの会(テーマ:メカ) 「Prototyping lab」
第62回 読書するエンジニアの会(テーマ:メカ) 「Prototyping lab」Shumpei Shiraishi
 

More from Shumpei Shiraishi (20)

俺的GEB概論(前半)
俺的GEB概論(前半)俺的GEB概論(前半)
俺的GEB概論(前半)
 
コンセプトのつくりかた - アイデアをかたちにする技術
コンセプトのつくりかた - アイデアをかたちにする技術コンセプトのつくりかた - アイデアをかたちにする技術
コンセプトのつくりかた - アイデアをかたちにする技術
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
 
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
 
JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門JavaScript使いのためのTypeScript実践入門
JavaScript使いのためのTypeScript実践入門
 
「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで
 
「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで「それでも人生にイエスと言う」を読んで
「それでも人生にイエスと言う」を読んで
 
Angular2実践入門
Angular2実践入門Angular2実践入門
Angular2実践入門
 
WebRTCがビデオ会議市場に与えるインパクトを探る
WebRTCがビデオ会議市場に与えるインパクトを探るWebRTCがビデオ会議市場に与えるインパクトを探る
WebRTCがビデオ会議市場に与えるインパクトを探る
 
変身×フランツ・カフカ
変身×フランツ・カフカ変身×フランツ・カフカ
変身×フランツ・カフカ
 
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んでイラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで
 
「1秒でわかる!アパレル業界ハンドブック」を読んで
「1秒でわかる!アパレル業界ハンドブック」を読んで「1秒でわかる!アパレル業界ハンドブック」を読んで
「1秒でわかる!アパレル業界ハンドブック」を読んで
 
漫☆画太郎論
漫☆画太郎論漫☆画太郎論
漫☆画太郎論
 
HTML5時代のフロントエンド開発入門
HTML5時代のフロントエンド開発入門HTML5時代のフロントエンド開発入門
HTML5時代のフロントエンド開発入門
 
6,000人のWeb技術者コミュニティを5年間やってみて学んだこと
6,000人のWeb技術者コミュニティを5年間やってみて学んだこと6,000人のWeb技術者コミュニティを5年間やってみて学んだこと
6,000人のWeb技術者コミュニティを5年間やってみて学んだこと
 
はじめにことばありき
はじめにことばありきはじめにことばありき
はじめにことばありき
 
秒速一億円
秒速一億円秒速一億円
秒速一億円
 
この人と結婚していいの?を読んで
この人と結婚していいの?を読んでこの人と結婚していいの?を読んで
この人と結婚していいの?を読んで
 
20130921レジュメ2
20130921レジュメ220130921レジュメ2
20130921レジュメ2
 
第62回 読書するエンジニアの会(テーマ:メカ) 「Prototyping lab」
第62回 読書するエンジニアの会(テーマ:メカ) 「Prototyping lab」第62回 読書するエンジニアの会(テーマ:メカ) 「Prototyping lab」
第62回 読書するエンジニアの会(テーマ:メカ) 「Prototyping lab」
 

Web Components概要 2013/4/20 エフスタ!版