76
モバイルWebアプリを 複数端末で動かすために 注意すること 2013.09.12 90分で身につくスマホウェブ制作術 @dsuket

モバイルWebアプリケーションを複数端末で動かすために注意すること

Embed Size (px)

DESCRIPTION

NTTレゾナントさんの「90分で身につくスマホウェブ制作術」で話した資料です。 http://atnd.org/events/42962

Citation preview

Page 1: モバイルWebアプリケーションを複数端末で動かすために注意すること

モバイルWebアプリを複数端末で動かすために

注意すること

2013.09.1290分で身につくスマホウェブ制作術

@dsuket

Page 2: モバイルWebアプリケーションを複数端末で動かすために注意すること

About me高岡大介Work

• 外資系SIベンダーを経て研究所へ。• Web技術研究開発・開発支援。• 記事書いたり、資料作ったり、講演したり• Japan Sencha User Group, AITC

twitter: @dsuketfacebook.com/dsuketslideshare.net/dsuket

Inkpod Web

Sencha Touchパーフェクトガイド

Page 3: モバイルWebアプリケーションを複数端末で動かすために注意すること

Webアプリ作ってますか?

Page 4: モバイルWebアプリケーションを複数端末で動かすために注意すること

Mobile Web Appイイところ

Page 5: モバイルWebアプリケーションを複数端末で動かすために注意すること

•IEがない!

Page 6: モバイルWebアプリケーションを複数端末で動かすために注意すること

•IEがない!•モダンHTML5機能が使える!•

Page 7: モバイルWebアプリケーションを複数端末で動かすために注意すること

•IEがない!•モダンHTML5機能が使える!•仕事で新しいデバイスが使える!

Page 8: モバイルWebアプリケーションを複数端末で動かすために注意すること

Mobile Web Appイヤなところ

Page 9: モバイルWebアプリケーションを複数端末で動かすために注意すること

•端末サイズバラバラ

Page 10: モバイルWebアプリケーションを複数端末で動かすために注意すること

•端末サイズバラバラ•細かい動きが全然ちがう•

Page 11: モバイルWebアプリケーションを複数端末で動かすために注意すること

•端末サイズバラバラ•細かい動きが全然ちがう•バッドノウハウの塊

Page 12: モバイルWebアプリケーションを複数端末で動かすために注意すること

本題

Page 13: モバイルWebアプリケーションを複数端末で動かすために注意すること

モバイルWebアプリコンテストに出してみた

事例ベースにノウハウと苦労話など

Page 14: モバイルWebアプリケーションを複数端末で動かすために注意すること

コンテンスト概要•ドコモゼミ Webアプリラボ•マルチプラットフォーム対応•子供向け学習アプリ

Page 16: モバイルWebアプリケーションを複数端末で動かすために注意すること

Mobile Webの注意点

Page 17: モバイルWebアプリケーションを複数端末で動かすために注意すること

Mobile Webの注意点

•画面小さい: MBA 13” の 0.12倍

Page 18: モバイルWebアプリケーションを複数端末で動かすために注意すること

Mobile Webの注意点

•画面小さい: MBA 13” の 0.12倍

•タッチUI: マウスとは異なる操作

Page 19: モバイルWebアプリケーションを複数端末で動かすために注意すること

Mobile Webの注意点

•画面小さい: MBA 13” の 0.12倍

•タッチUI: マウスとは異なる操作

•回線細い: 遅い、不安定

Page 20: モバイルWebアプリケーションを複数端末で動かすために注意すること

Mobile Webの注意点

•画面小さい: MBA 13” の 0.12倍

•タッチUI: マウスとは異なる操作

•回線細い: 遅い、不安定

今日のスコープ

Page 21: モバイルWebアプリケーションを複数端末で動かすために注意すること

気をつけたこと

Page 22: モバイルWebアプリケーションを複数端末で動かすために注意すること

気をつけたこと

1. ボタンは大きく押しやすく

Page 23: モバイルWebアプリケーションを複数端末で動かすために注意すること

気をつけたこと

1. ボタンは大きく押しやすく

2. 解像度に合わせた画像

Page 24: モバイルWebアプリケーションを複数端末で動かすために注意すること

気をつけたこと

1. ボタンは大きく押しやすく

2. 解像度に合わせた画像

3. かわいいフォントを使いたい

Page 25: モバイルWebアプリケーションを複数端末で動かすために注意すること

気をつけたこと

1. ボタンは大きく押しやすく

2. 解像度に合わせた画像

3. かわいいフォントを使いたい

4. アイコンもキレイに

Page 26: モバイルWebアプリケーションを複数端末で動かすために注意すること

1. ボタンは大きく押しやすく

Page 27: モバイルWebアプリケーションを複数端末で動かすために注意すること

1. ボタンは大きく押しやすく

•ずれているタッチポイント• 参考:タッチUXを実現する7つのポイント

Page 28: モバイルWebアプリケーションを複数端末で動かすために注意すること

1. ボタンは大きく押しやすく

•ずれているタッチポイント• 参考:タッチUXを実現する7つのポイント

•スマホは不安定• 片手で or 満員電車で or 歩きながら

Page 29: モバイルWebアプリケーションを複数端末で動かすために注意すること

1. ボタンは大きく押しやすく

•ずれているタッチポイント• 参考:タッチUXを実現する7つのポイント

•スマホは不安定• 片手で or 満員電車で or 歩きながら

•子供は加減を知らない• 目一杯押すのでドラッグになる

Page 30: モバイルWebアプリケーションを複数端末で動かすために注意すること

ボタンの当たりエリア

Page 31: モバイルWebアプリケーションを複数端末で動かすために注意すること

ボタンの当たりエリア

実際のサイズ

Page 32: モバイルWebアプリケーションを複数端末で動かすために注意すること

ボタンの当たりエリア

実際のサイズ

当たりエリア

Page 33: モバイルWebアプリケーションを複数端末で動かすために注意すること

tapイベント

Page 34: モバイルWebアプリケーションを複数端末で動かすために注意すること

tapイベント

Page 35: モバイルWebアプリケーションを複数端末で動かすために注意すること

tapイベント

• clickイベントは使わない

Page 36: モバイルWebアプリケーションを複数端末で動かすために注意すること

tapイベント

• clickイベントは使わない• dragの閾値

Page 37: モバイルWebアプリケーションを複数端末で動かすために注意すること

tapイベント

• clickイベントは使わない• dragの閾値• Hammer.js が便利

Page 38: モバイルWebアプリケーションを複数端末で動かすために注意すること

2. 解像度に合わせた画像

Page 39: モバイルWebアプリケーションを複数端末で動かすために注意すること

2. 解像度に合わせた画像

•Retina対応

Page 40: モバイルWebアプリケーションを複数端末で動かすために注意すること

2. 解像度に合わせた画像

•Retina対応•画面一杯に表示したい

Page 41: モバイルWebアプリケーションを複数端末で動かすために注意すること

2. 解像度に合わせた画像

•Retina対応•画面一杯に表示したい•ファイルサイズはできるだけ小さく

Page 42: モバイルWebアプリケーションを複数端末で動かすために注意すること

SVG (Scalable Vector Graphics)

•パスデータをXMLで定義•伸ばしても、Retinaでもキレイ!•シンプルな画像ならpngよりも軽い• gzipもできる•アニメーションもできる

Page 43: モバイルWebアプリケーションを複数端末で動かすために注意すること
Page 44: モバイルWebアプリケーションを複数端末で動かすために注意すること
Page 45: モバイルWebアプリケーションを複数端末で動かすために注意すること

同じSVG画像を使用

Page 46: モバイルWebアプリケーションを複数端末で動かすために注意すること

アニメーション

•ひらがなの書き順• Pathを伸ばしながら描画• SMILも使える

Page 48: モバイルWebアプリケーションを複数端末で動かすために注意すること

SVGの注意点

•やや重い(CPUを喰う)•複雑なパスはサイズが大きい• 軽量化が必要。パスの最適化など•ブラウザによって微妙な差異がある

Page 49: モバイルWebアプリケーションを複数端末で動かすために注意すること

IMGタグで使用した時の問題

Page 50: モバイルWebアプリケーションを複数端末で動かすために注意すること

IMGタグで使用した時の問題

Page 51: モバイルWebアプリケーションを複数端末で動かすために注意すること

IMGタグで使用した時の問題

一部のAndroidで、アスペクト比が狂う

Page 52: モバイルWebアプリケーションを複数端末で動かすために注意すること

SVGタグのサイズ指定が重要

<IMG SRC=”rama.svg”

width=”300” height=”300”>・・・

<svg

width=”600” height=”600”>・・・</svg>

rama.svg

index.html

viewboxsvg

img

Page 53: モバイルWebアプリケーションを複数端末で動かすために注意すること

3. かわいいフォントを使いたい

Page 54: モバイルWebアプリケーションを複数端末で動かすために注意すること

3. かわいいフォントを使いたい

•Android標準フォントはダサイ•Web Fontできれいなフォントを

Page 55: モバイルWebアプリケーションを複数端末で動かすために注意すること

3. かわいいフォントを使いたい

•Android標準フォントはダサイ•Web Fontできれいなフォントを

•SVGでオリジナルフォント作成

Page 56: モバイルWebアプリケーションを複数端末で動かすために注意すること

fontの作り方

Page 57: モバイルWebアプリケーションを複数端末で動かすために注意すること

fontの作り方

• SVGでフォントのアウトラインを作成

Page 58: モバイルWebアプリケーションを複数端末で動かすために注意すること

fontの作り方

• SVGでフォントのアウトラインを作成

• FontForgeで変換

Page 59: モバイルWebアプリケーションを複数端末で動かすために注意すること

fontの作り方

• SVGでフォントのアウトラインを作成

• FontForgeで変換

•日本語フォントは大変• ダイナミック・サブセッティング

Page 60: モバイルWebアプリケーションを複数端末で動かすために注意すること

4. アイコンもキレイに

Page 61: モバイルWebアプリケーションを複数端末で動かすために注意すること

4. アイコンもキレイに

•Web Font をアイコン代わりに• retinaにも対応

Page 62: モバイルWebアプリケーションを複数端末で動かすために注意すること

4. アイコンもキレイに

•Web Font をアイコン代わりに• retinaにも対応•色んなアイコンセット• Font Awesome• IcoMoon

Page 63: モバイルWebアプリケーションを複数端末で動かすために注意すること

4. アイコンもキレイに

•Web Font をアイコン代わりに• retinaにも対応•色んなアイコンセット• Font Awesome• IcoMoon

Page 64: モバイルWebアプリケーションを複数端末で動かすために注意すること

Web Fontアイコン 注意点

Page 65: モバイルWebアプリケーションを複数端末で動かすために注意すること

Web Fontアイコン 注意点

•色は変更可能グラデーションはかけられない

Page 67: モバイルWebアプリケーションを複数端末で動かすために注意すること

テスト

Page 68: モバイルWebアプリケーションを複数端末で動かすために注意すること

テスト•複数端末での確認が大変

Page 69: モバイルWebアプリケーションを複数端末で動かすために注意すること

テスト•複数端末での確認が大変•実機でしか出ない問題など

Page 70: モバイルWebアプリケーションを複数端末で動かすために注意すること

テスト•複数端末での確認が大変•実機でしか出ない問題など•特にAndroid

Page 71: モバイルWebアプリケーションを複数端末で動かすために注意すること

テスト•複数端末での確認が大変•実機でしか出ない問題など•特にAndroid

Page 72: モバイルWebアプリケーションを複数端末で動かすために注意すること

まとめ

Page 73: モバイルWebアプリケーションを複数端末で動かすために注意すること

まとめ

•タッチUI の特性を理解する

Page 74: モバイルWebアプリケーションを複数端末で動かすために注意すること

まとめ

•タッチUI の特性を理解する•SVGは使える子

Page 75: モバイルWebアプリケーションを複数端末で動かすために注意すること

まとめ

•タッチUI の特性を理解する•SVGは使える子•実機で確認が大事

Page 76: モバイルWebアプリケーションを複数端末で動かすために注意すること

まとめ

•タッチUI の特性を理解する•SVGは使える子•実機で確認が大事•Android爆発しろ!!