native x webでいいとこどり開発 ~ピグトーク~

43
Native x Web でいいとこどり開発 ピグトーク 2012年4月13日 テックヒルズ #2 株式会社サイバーエージェント 原 一成

Upload: kazunari-hara

Post on 15-May-2015

1.503 views

Category:

Technology


1 download

DESCRIPTION

テックヒルズ #2(http://atnd.org/events/25630)の内容です。

TRANSCRIPT

Page 1: Native x Webでいいとこどり開発 ~ピグトーク~

Native x Web

でいいとこどり開発

~ ピグトーク ~

2012年4月13日

テックヒルズ #2

株式会社サイバーエージェント

原 一成

Page 2: Native x Webでいいとこどり開発 ~ピグトーク~

問題です

Page 3: Native x Webでいいとこどり開発 ~ピグトーク~

Native? Web?

問題です

Page 4: Native x Webでいいとこどり開発 ~ピグトーク~

Native? Web?

問題です

Page 5: Native x Webでいいとこどり開発 ~ピグトーク~

問題です

Native? Web?

Page 6: Native x Webでいいとこどり開発 ~ピグトーク~

問題です

Native? Web?

Page 7: Native x Webでいいとこどり開発 ~ピグトーク~

@herablog

原です

Page 8: Native x Webでいいとこどり開発 ~ピグトーク~

担当したもの

アメーバブログ アメーバピグ

Page 9: Native x Webでいいとこどり開発 ~ピグトーク~

HTML5, CSS3を舐めまわす会

Page 10: Native x Webでいいとこどり開発 ~ピグトーク~

アプリコンテスト

Page 11: Native x Webでいいとこどり開発 ~ピグトーク~

アプリコンテスト

Page 12: Native x Webでいいとこどり開発 ~ピグトーク~

アプリコンテスト

http://heehee.info/

Page 13: Native x Webでいいとこどり開発 ~ピグトーク~

へぇ~

・ node.js

・ AWS

・ Web Font

・ Audio

・ Local Storage

Page 14: Native x Webでいいとこどり開発 ~ピグトーク~

スマートフォン対応にあたって

要件

「動かして欲しい」

Page 15: Native x Webでいいとこどり開発 ~ピグトーク~

方法

Page 16: Native x Webでいいとこどり開発 ~ピグトーク~

方法

Page 17: Native x Webでいいとこどり開発 ~ピグトーク~

方法

Page 18: Native x Webでいいとこどり開発 ~ピグトーク~

その1 服を着せる

Page 19: Native x Webでいいとこどり開発 ~ピグトーク~

その1 服を着せる

データ化

{

"itemlist": [

{

"itemname": "VネックTシャツ・ネイビー",

"image": [

{

"position": {"x": -67,"y": -14},

"origin": {"x": 1,"y": 2},

"data": "data:image/png;base64,iVBORw0..."

}

]

}

]

}

Page 20: Native x Webでいいとこどり開発 ~ピグトーク~

その1 服を着せる

DOM追加

<div data-parts=”f_body” data-action=”f_body_mot”>

<img src=” data:image/png;base64,iVBORw0...”

style=”-webkit-transform: translate(-67px, 14px); ”

>

<img src=” data:image/png;base64,iVBORw0...”

style=”-webkit-transform: translate(-1px, 9px); ”

>

</div>

<div data-parts=”f_head” data-action=”f_head_mot”>

<img src=” data:image/png;base64,iVBORw0...”

style=”-webkit-transform: translate(-1px, 9px); ”

>

</div>

Page 21: Native x Webでいいとこどり開発 ~ピグトーク~

その2 アクションさせる

Page 22: Native x Webでいいとこどり開発 ~ピグトーク~

その2 アクションさせる

データ化(ActionScriptでも使用)

0000640000000000640000FE500100640000000

00064000CFEDC020064000000000064FFE4FE58

030063000BFFF50063FF8FFEB1040063000BFFF

50063FF5EFEF70500640000000000640032FE5B

060061FFEA001600610089FEB307005DFFDE002

2005D00D0FEFF080064000000000064FFCDFF3A

0900640000000000640048FF410A00640000000

00064000000000B006400000000006400000000

0C0064000000000063000000000D00640000000

0006400000000FF000064000000000064FFFBFE

580100640000000000640007FEE302FFF7FF9DF

F9D0009FFDFFE5F03FFE2FFA2FFA2001EFF8CFE

BE0400610017FFE90061FF53FEFE05FFFA00630

0630006002DFE6306FFD9005B005B00270081FE

C407FFE1005E005E001F00B9FF13FF000063000

Page 23: Native x Webでいいとこどり開発 ~ピグトーク~

その2 アクションさせる

-webkit-transform

▼Frame 1

<div data-parts=”f_body” data-action=”f_body_mot”

style=”-webkit-transform: matrix(0.1, 0, 0, 0.1, 1.8,

-43.7); ”>

</div>

▼Frame 2

<div data-parts=”f_body” data-action=”f_body_mot”

style=”-webkit-transform: matrix(0.99, 0, 0, 0.99,

0.75, -40.5); ”>

</div>

▼Frame 3

▼Frame 4

  ・

  ・

Page 24: Native x Webでいいとこどり開発 ~ピグトーク~

その2 アクションさせる

-webkit-transform: translate3d(0, 0, 0);

-webkit-transform-style: preserve-3d;

▼iOS Simulatorで確認

[Debug]→[Color Blended Layers]

GPUを効かせる

Page 25: Native x Webでいいとこどり開発 ~ピグトーク~

その2 アクションさせる

できた!!

DEMO

Page 26: Native x Webでいいとこどり開発 ~ピグトーク~

要件追加

要件追加

「こんなこともしたいんだけど」

Page 27: Native x Webでいいとこどり開発 ~ピグトーク~

要件追加

Page 28: Native x Webでいいとこどり開発 ~ピグトーク~

Native

速い

デバイスアクセス

Store

Page 29: Native x Webでいいとこどり開発 ~ピグトーク~

Web

多デバイス

容易

変更しやすい

Page 30: Native x Webでいいとこどり開発 ~ピグトーク~

方針

アプリとして出す以上

スムーズさが大事

Page 31: Native x Webでいいとこどり開発 ~ピグトーク~

問題です

Native? Web?

Page 32: Native x Webでいいとこどり開発 ~ピグトーク~

Web 表示に専念

Native 処理、トランジッション

Native x Web

Page 33: Native x Webでいいとこどり開発 ~ピグトーク~

問題です

Native? Web?

Page 34: Native x Webでいいとこどり開発 ~ピグトーク~

Native x Web

DEMO

Page 35: Native x Webでいいとこどり開発 ~ピグトーク~

最後にいくつか

Tips

Page 36: Native x Webでいいとこどり開発 ~ピグトーク~

Tips

background-size: cover;

Page 37: Native x Webでいいとこどり開発 ~ピグトーク~

background-size: cover;

ひとつの画像で多くの

画面サイズに対応

Page 38: Native x Webでいいとこどり開発 ~ピグトーク~

Tips

Offline Application Cache

Page 39: Native x Webでいいとこどり開発 ~ピグトーク~

Offline Application Cache

CACHE MANIFEST# Version 0.0.88

CACHE:# JavaScript../js/myroom.min.js

# Stylesheet../css/common/common.css../css/common/avatar.css

# Image../img/room/bg_001_evening.png../img/room/bg_001_night.png

指定したファイルをデ

バイスにキャッシュ

Page 40: Native x Webでいいとこどり開発 ~ピグトーク~

Offline Application Cache

CACHE MANIFEST# Version 0.0.88

CACHE:# JavaScript../js/myroom.min.js

# Stylesheet../css/common/common.css../css/common/avatar.css

# Image../img/room/bg_001_evening.png../img/room/bg_001_night.png

2回目以降サーバへア

クセスしないので

表示がはやい

Page 41: Native x Webでいいとこどり開発 ~ピグトーク~

Offline Application Cache

CACHE MANIFEST# Version 0.0.88

CACHE:# JavaScript../js/myroom.min.js

# Stylesheet../css/common/common.css../css/common/avatar.css

# Image../img/room/bg_001_evening.png../img/room/bg_001_night.png

※注意点※

ファイル自体をキャッ

シュしない

Android Webviewは

デフォルトオフ

Page 42: Native x Webでいいとこどり開発 ~ピグトーク~

Web 表示に専念

Native 処理、トランジッション

Native x Web

Page 43: Native x Webでいいとこどり開発 ~ピグトーク~