SlideShare una empresa de Scribd logo
1 de 88
Descargar para leer sin conexión
もっと良くなる
HTMLアプリケーション設計と実装
2013年 06月 21日
株式会社ミツエーリンクス
黄(ホァン) 聖實
ADC MEETUP 07 - MAX RETWEET
1
MAXの関連セッション
Christophe  Coenraets  
Technical  Evangelist  for  Adobe
@ccoenraets
http://coenraets.org
Architecting  a  PhoneGap  Application
(10  architectural  principles)
http://adobe.ly/166OJmk
2
自己紹介
インタラクション・アーキテクト
⻩黄(ホァン)  聖實
・WEB/モバイル(iOS、Android、Windowsストア)コンテンツ開発
・Windowsストアアプリのデザインコンサルティング
・動画配信サービスコンテンツ開発
・言語のマークアップより、ロジックの設計や実装が好きです。
3
本日の内容
1。Webアプリについて
2。HTMLアプリ設計と実装のガイド
3。最後に
4
Webアプリ
5
Webアプリ
アプリストアに出せない
iOS ¦ Android ¦ BlackBerry ¦ WindowsPhone ¦ Bada ¦ Symbian ¦ webOS
6
PhoneGapは
WebアプリをHybridアプリ化してくれる。
iOS ¦ Android ¦ BlackBerry ¦ WindowsPhone ¦ Bada ¦ Symbian ¦ webOS
7
Hybridアプリ
Nativeの機能の一部も使える、
Web技術ベースのアプリ。
8
PhoneGapは
WebアプリとデバイスのAPIをつなげてくれる。
iOS ¦ Android ¦ BlackBerry ¦ WindowsPhone ¦ Bada ¦ Symbian ¦ webOS
9
Hybrid Native
必要スキル HTML, JS, CSS Objective C, Java, C/C++
クロスプラットフォーム Yes No
デバイス APIs Yes Yes
配布 App Store App Store
更新 App Store + Instant App Store
パフォーマンス Fast Faster
10
クロスプラットフォーム対応
Web技術を知っていれば、
たくさんのクロスプラットフォーム対応にも、
⾔言語の悩みがない。
Hybridアプリの
“
11
“
パフォーマンス
Webアプリが遅くなる80〜~90%の理理由は、
アプリ⾃自体の問題ではなくボトルネックの
問題である。
Hybridアプリの
12
“
パフォーマンス
ボトルネックの原因は、
ネットワークや他のことが原因で、
アプリを解析するエンジンの問題ではない。
Hybridアプリの
13
それでは、
本題に入ります。
14
#1  
抽象的なデーターアクセス
15
データーアクセス
抽象的なデーターアクセス
In-Memory LocalStorage WebSQL Ajax/JSON
アプリ
※仕様策定を廃止(W3C)
16
抽象的なデーターアクセス
$.ajax({url: ‘/api/story/3’}).done(function(story){
// Code
});
17
・テスト環境がネットにつながらなかったら?
・アクセスの方法を切り替える必要があったら?
・その他、仕様が変わったら?
データーアクセス
課題①
18
抽象的なデーターアクセス
データーにアクセスする構造とそれを直接に
操作する手続きをまとめて定義すること。
抽象的なデーターアクセス
19
要は、構造をまとめることです。
抽象的なデーターアクセス
In-Memoryデーターにアクセスする。
LocalStorageデーターにアクセスする。
Ajaxでネット上のデーターにアクセスする。
データーに
アクセスする。}
20
抽象的なデーターアクセス
In-Memory LocalStorage WebSQL Ajax/JSON
データーインターフェース
アプリ
抽象的なデーターアクセス
21
抽象的なデーターアクセス
dataAdapter.findByTitle(‘写真’).done(function(story) {
// Code
});
※どこにアクセスしているか分からなくするのがポイント。
22
・共通のAPI
抽象的なデーターアクセス
In-Memory LocalStorage WebSQL Ajax/JSON
データーインターフェース
アプリ
23
抽象的なデーターアクセス
サンプル
Abstract Adapter
24
抽象的なデーターアクセス
dataAdapter.findByTitle(‘写真’).done(function(story) {
// Code
});
抽象化されたデーターアダプター
共通のルール
25
In-Memory/LocalStorage/Ajax など、
データー取得スピードがバラバラ。
抽象的なデーターアクセス
課題②
26
抽象的なデーターアクセス
dataAdapter.findByTitle(‘写真’).done(function(story) {
// Code
});
実行タイミングは?
27
・共通のAPI
・非同期処理
抽象的なデーターアクセス
In-Memory LocalStorage WebSQL Ajax/JSON
データーインターフェース
アプリ
28
抽象的なデーターアクセス
Deferred & Promise
指定の処理を連結した際、その結果を
非同期でコールバックする処理モジュール。
jQueryの
29
抽象的なデーターアクセス
function testDeferred() {
var deffered = $.Deferred();
var results = 処理用コード
deferred.resolve(results);
return deferred.promise();
}
ここにデーター読み込み
処理を入れると、読み込
み完了後返す。(非同期)
30
抽象的なデーターアクセス
サンプル
Deferred & Promise
31
・共通APIを持っているため、対応がしやすい。
・動的なプロトタイプを作るときに処理スピードが早い。
・デバックがしやすい。
抽象的なデーターアクセス
メリット
32
#2  
デバイスでもブラウザでも動くアプリ
33
デバイスでもブラウザでも動くアプリ
JavaScriptの標準ダイアログは、
PhoneGapアプリでもブラウザでも動く。
  ・Webアプリも対応可能。
  ・デバックがしやすい。
34
デバイスでもブラウザでも動くアプリ
しかし、
タイトルが「index.html」に表示されるのは、
PhoneGapアプリ らしい 表示ではない。
35
デバイスでもブラウザでも動くアプリ
・JavaScript API:
alert(message);
・PhoneGap API:
navigator.notification.alert(message, alertCallback, [title], [buttonName])
36
デバイスでもブラウザでも動くアプリ
どうすればいいの?
37
デバイスでもブラウザでも動くアプリ
「抽象的な仕組み」で作成する。
  ・ブラウザではJavaScript alertで表示。
  ・デバイスではNative alertで表示。
解決案
38
デバイスでもブラウザでも動くアプリ
JavaScript Native
通知インターフェース
アプリ
39
デバイスでもブラウザでも動くアプリ
サンプル
Abstract Notification
40
#3  
シングルページ中⼼心の設計
41
シングルページ中心の設計
マルチページ VS シングルページ
42
シングルページ中心の設計
マルチページ
43
シングルページ中心の設計
マルチページ
クライアント
(HTML/CSS)
サーバー
(Java/.Net/
PHP/...)
クライアントはサーバーにページ(UI)を要求する。
データー
(SQL/...)
44
シングルページ中心の設計
シングルページ
クライアント
(HTML/JS/CSS)
サーバー
(Java/.Net/
PHP/...)
データー
(SQL/JSON/
InMemory/...)
クライアントはサーバー/データーにデーターを要求し、
ページ(UI)はクライアントで生成。
45
シングルページ中心の設計
<html>
<head>
<title>Single Page</title>
<script src=”app.js”></script>
</head>
<body></body>
</html>
46
シングルページ中心の設計
マルチページ シングルページ
ページ数 複数ページ 1ページ
UIの生成先 サーバー クライアント
マークアップ言語 Java, .NET, PHP,... JavaScript
オフラインサポート Limited Yes
画面の切り替え ブラウザ 開発者
パフォーマンス 遅い 早い
アセットの読み込み ページを読み込む度に 1回
47
・UIをクライアントで生成するので、
 ページ表示までの待ち時間が短い。
・同じアセットは初回のみ読むなど、無駄な読み込みが少ない。
・オフラインでも動く。
・UIの表示、ページの切り替えなどをクライアントで
 コントロールするため、ユーザー経験中心の操作ができる。
シングルページ中心の設計
メリット
48
・クライアント側のロジックが複雑になる。
・メモリ管理が必要。
・モジュール化戦略が必要。
シングルページ中心の設計
デメリット
49
シングルページ中心の設計
サンプル
Single Page
50
シングルページ中心の設計
var html = ‘’
+ ‘<div class=”header”>’
+ ‘<a href=”#” class=”button-left”>List</a>’
+ ‘<h1>Stories</h1>’
+ ‘</div>’
+ ‘<div class=”details”>’
+ ‘<img src=”thumbnail/’ + e.thumb + ‘_.jpg” />’
+ ‘<h1>’ + e.title + ‘</h1>’
+ ‘<p class=”duration”>’ + e.duration + ‘</p>’
+ ‘</div>’;
51
シングルページ中心の設計
しかし、
JavaScript実装者がHTMLコーディングも
しなければならない。
52
#4  
テンプレートの適⽤用
53
テンプレートの適用
ロジックからUIを分離
54
シングルページ中心の設計
var html = ‘’
+ ‘<div class=”header”>’
+ ‘<a href=”#” class=”button-left”>List</a>’
+ ‘<h1>Stories</h1>’
+ ‘</div>’
+ ‘<div class=”details”>’
+ ‘<img src=”thumbnail/’ + e.thumb + ‘_.jpg” />’
+ ‘<h1>’ + e.title + ‘</h1>’
+ ‘<p class=”duration”>’ + e.duration + ‘</p>’
+ ‘</div>’;
55
シングルページ中心の設計
<div class=”header”>
<a href=”#” class=”button-left”>List</a>
<h1>Stories</h1>
</div>
<div class=”details”>
<img src=”thumbnail/{{thumb}}_.jpg” />
<h1>{{title}}</h1>
<p class=”duration”>{{duration}}</p>
</div>
56
テンプレートの適用
繰り返すコードに適用
57
テンプレートの適用
<li><a href=”#story/:1”>第1話</a></li>
<li><a href=”#story/:2”>第2話</a></li>
<li><a href=”#story/:3”>第3話</a></li>
・・・
<li><a href=”#story/:{{id}}”>第{{id}}話</a></li>
58
・UIとロジックの分かれているので、保守性が高い。
・ツール化できる。
テンプレートの適用
メリット
59
・Mustache.js
・Handlebar.js
・Underscore.js
テンプレートの適用
紹介
60
テンプレートの適用
サンプル
Handlebar.js
61
シングルページ中心の設計
<script id=”home-tpl” type=”text/x-handlebars-template”>
<span id=”title”>{{title}}</span>
<span id=”thumb”><img src=”{{thumb}}.jpg” /></span>
<span id=”duration”>{{duration}}</span>
</script>
1. テンプレートの指定 (HTML)
var myData = [
{‘title’: ‘TITLE1’, ‘thumb’: ‘0001’, ‘duration’: ’05:20:12’},
{‘title’: ‘TITLE2’, ‘thumb’: ‘0002’, ‘duration’: ’02:17:06’}
];
var homeTpl = Handlebars.compile($(“#home-tpl”).html());
$(‘body’).html(homeTpl(myData));
2. テンプレートの読み込み (JavaScript)
62
#5  
MV*  デザインパターン
(MVC/MVMC/MVP/・・・)
63
MV*デザインパターン
要は、「構造的」に分けよう。
64
MV*デザインパターン
Model
var Story = function() {
this.url = “/story”;
this.validate = function() {
};
};
65
MV*デザインパターン
View
var StoryView = function() {
this.initialize = function() {
};
this.render = function() {
};
};
66
MV*デザインパターン
Controller
var JSONPAdapter = function(url) {
this.findById = function(id) {
return $.ajax({url: url + “/” + id, dataType: “jsonp”});
};
this.findByTitle = function(searchKey) {
return $.ajax({url: url + “?title=” + searchKey, dataType:
“jsonp”});
};
};
67
MV*デザインパターン
サンプル
MVC (Model-View-Controller)
68
#6  
フレームワークの選択
69
フレームワークの選択
フレームワーク
FullStack CustomStack
UI
Dojo Toolkit
jQuery Mobile
Sencha
Twitter Bootstrap
Zurb Foundation
Radchet
Architecture
Dojo Toolkit
jQuery Mobile
Sencha
Backbone.js
AngularJS
Ember
Knockout
DOM
Dojo Toolkit
jQuery Mobile
Sencha
jQuery
zepto.js
70
フレームワークの選択
Topcoat
http://topcoat.io
71
フレームワークの選択
サンプル
Topcoat
72
#7  
ルーティンの使⽤用
73
ルーティンの使用
シングルページは物理的なページ移動は行わないため、
ページURLの#(ハッシュ)以降の文字列の変化でページを識別する。
74
ルーティンの使用
マルチページ
page1.html
page2.html
page3.html
page4.html
シングルページ
#page1
#page2
#page3
#page4
index.html Routing
75
ルーティンの使用
サンプル
Backbone.js - Routing
76
#8  
デバイス特⻑⾧長を⽣生かした設計
77
デバイス特長を生かした設計
操作 マウス タッチ
通知 JavaScript Native
ストレージ オンライン オフライン
センサー No Yes
78
デバイス特長を生かした設計
サンプル
Click VS Touch
79
#9  
HTML”らしさ”を隠す
80
・alert()
・-webkit-touch-callout: none;
 リンクを長押しした際のポップアップメニューを隠す。
・-webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
リンクをタッチした際のハイライトカラーを消す。
HTML らしさ を隠す
81
#10  
パフォーマンスのための設計
82
・UIはクライアント側に持つ。
・UIの表示はデーターの読み込みとは別にする。
・キャッシューしなさい。(データー、セレクター、テンプレート)
・ハードウェア加速を使う。
・Clickイベントは300ms以上遅延する。(UXを考えよう)
パフォーマンスのための設計
83
・CSSスプライトシートを使う。
・影とグラデーションを減らす。
・レイアウト更新を減らす。
・今使っているフレームワークが本当に必要か。
・テスト!テスト!テスト!
パフォーマンスのための設計
84
最後に
85
1. 抽象的なデーターアクセス
2. デバイスでもブラウザでも動くアプリ
3. シングルページ中心の設計
4. テンプレートの適用
5. MV* デザインパターン
最後に
86
6. フレームワークの選択
7. ルーティングの使用
8. デバイスの特長を生かした設計
9. HTML らしさ を隠す
10. パフォーマンスのための設計
最後に
87
ありがとうございました。
@siriz
88

Más contenido relacionado

La actualidad más candente

120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会Monaca
 
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-Shinichiro Yoshida
 
HTML5 によるロボット制御
HTML5 によるロボット制御HTML5 によるロボット制御
HTML5 によるロボット制御Honma Masashi
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化Takashi Okamoto
 
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法アシアル株式会社
 
Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣アシアル株式会社
 
モバイルアプリ開発の現状
モバイルアプリ開発の現状モバイルアプリ開発の現状
モバイルアプリ開発の現状Koji Suzuki
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 Monaca
 
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPIWindows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPIOsamu Monoe
 
Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発Osamu Monoe
 
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実Monaca
 
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門Shumpei Shiraishi
 
その Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しようその Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しようOsamu Monoe
 
Monacaエンタープライズのご紹介
Monacaエンタープライズのご紹介Monacaエンタープライズのご紹介
Monacaエンタープライズのご紹介アシアル株式会社
 
Ionicでハイブリッドアプリ入門①
Ionicでハイブリッドアプリ入門①Ionicでハイブリッドアプリ入門①
Ionicでハイブリッドアプリ入門①Tomokatsu Iguchi
 
Monacaで簡単スマートフォンアプリ開発体験講座
Monacaで簡単スマートフォンアプリ開発体験講座Monacaで簡単スマートフォンアプリ開発体験講座
Monacaで簡単スマートフォンアプリ開発体験講座Monaca
 
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜Monaca
 
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014Tsuyoshi Nakao
 
事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント 事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント Monaca
 

La actualidad más candente (20)

120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
 
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
 
HTML5 によるロボット制御
HTML5 によるロボット制御HTML5 によるロボット制御
HTML5 によるロボット制御
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
 
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
 
Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣
 
Onsen UIが目指すもの
Onsen UIが目指すものOnsen UIが目指すもの
Onsen UIが目指すもの
 
モバイルアプリ開発の現状
モバイルアプリ開発の現状モバイルアプリ開発の現状
モバイルアプリ開発の現状
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
 
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPIWindows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
 
Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発Visual Studio 2015 を使用した Cordova アプリの開発
Visual Studio 2015 を使用した Cordova アプリの開発
 
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
ハイブリッドアプリ開発最前線から見たHtml5の理想と現実
 
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
 
その Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しようその Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しよう
 
Monacaエンタープライズのご紹介
Monacaエンタープライズのご紹介Monacaエンタープライズのご紹介
Monacaエンタープライズのご紹介
 
Ionicでハイブリッドアプリ入門①
Ionicでハイブリッドアプリ入門①Ionicでハイブリッドアプリ入門①
Ionicでハイブリッドアプリ入門①
 
Monacaで簡単スマートフォンアプリ開発体験講座
Monacaで簡単スマートフォンアプリ開発体験講座Monacaで簡単スマートフォンアプリ開発体験講座
Monacaで簡単スマートフォンアプリ開発体験講座
 
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
 
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
 
事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント 事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント
 

Similar a もっと良くなるHTMLアプリケーション設計と実装

HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道Hideki Akiba
 
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKIデザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKIHideki Akiba
 
GDG Women DevfestW
GDG Women DevfestWGDG Women DevfestW
GDG Women DevfestWTomoko Sato
 
Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Masakazu Muraoka
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5Sho Ito
 
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
 
スマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイントスマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイントMasakazu Muraoka
 
HTML5での制作、いつから始める?
HTML5での制作、いつから始める?HTML5での制作、いつから始める?
HTML5での制作、いつから始める?Fuminori Mori
 
スマホにおけるWebGL入門
スマホにおけるWebGL入門スマホにおけるWebGL入門
スマホにおけるWebGL入門Yohta Kanke
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324Tak Inamori
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Sho Ito
 
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成Osamu Monoe
 
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」Takashi Endo
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップYasuhito Yabe
 
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)Google Developer Relations Team
 
_HTML5で組んでみた_
_HTML5で組んでみた__HTML5で組んでみた_
_HTML5で組んでみた_Kelly Holonic
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
 

Similar a もっと良くなるHTMLアプリケーション設計と実装 (20)

HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
 
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKIデザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
 
GDG Women DevfestW
GDG Women DevfestWGDG Women DevfestW
GDG Women DevfestW
 
Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方Html5時代のクリエイターのあり方
Html5時代のクリエイターのあり方
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5
 
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プラクティスガイド
 
スマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイントスマートフォン開発の事例 Html5開発の導入ポイント
スマートフォン開発の事例 Html5開発の導入ポイント
 
HTML5での制作、いつから始める?
HTML5での制作、いつから始める?HTML5での制作、いつから始める?
HTML5での制作、いつから始める?
 
スマホにおけるWebGL入門
スマホにおけるWebGL入門スマホにおけるWebGL入門
スマホにおけるWebGL入門
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
3 倍早い?! MS 製開発者専用ツールによる HTML5 + JavaScript を使ったWeb 作成
 
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
2014年メディア工房勉強会 第1章「Webの仕組みとHTML5」
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
 
_HTML5で組んでみた_
_HTML5で組んでみた__HTML5で組んでみた_
_HTML5で組んでみた_
 
Html5 and Graphics
Html5 and GraphicsHtml5 and Graphics
Html5 and Graphics
 
Dot_fes2013
Dot_fes2013Dot_fes2013
Dot_fes2013
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 

もっと良くなるHTMLアプリケーション設計と実装