SlideShare a Scribd company logo
1 of 52
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
アバター着せ替えアプリ開発における
フロントエンド技術( Vue.js 活用事例 )
February 10, 2017
Toru Enokido
Keita Sakamoto
Design Strategies Office.
DeNA Co., Ltd.
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
自己紹介
デザイン戦略室第一グループ
榎戸 徹
2014年入社。
2014年1月〜 怪盗ロワイヤルでフロントエンドを担当。
2014年10月〜 ヘルスケア事業部でKenCoMのフロントエンドを担当。
2016年5月〜 オープンプラットフォーム事業本部でクリエイティブチームのマネージャー
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
自己紹介
デザイン戦略室第三グループ
坂本 啓太
2012年入社。FINAL FANTASY BRIGADE などのブラウザゲームや、
ハッカドールなどのメディアサービスのフロントエンドを担当。
現在、主に新規サービス開発のフロントエンドを担当している。
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
アジェンダ
■ アバター着せ替えアプリについて
■ フロントエンド技術について
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
アバター着せ替えアプリ?
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Mobage のアバターシステムを活用して、
自由にアバターを作り、
SNS や チャットに投稿できる
海外向けキーボードアプリ
(※2017年3月リリース予定)
アバター着せ替えアプリ?
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
海外向け?
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
日本のIPコンテンツは海外で引きがある
きっかけ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
日本のIPコンテンツは海外で引きがある
きっかけ
● 日本のMANGA・アニメの普及
● 外国人観光客による聖地巡礼
● 細分化されたジャンルと多様性
● 深いテーマ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
MobageはIP、Non IP含め
アバターアセットがいくつも存在
きっかけ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
ユーザ自身がアバターを使ったスタンプを
気軽に作って使えれば
新たな体験を提供できるのでは?
きっかけ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
プロジェクト要件
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
プロジェクト要件
■ アプリとして出す
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
プロジェクト要件
■ アプリとして出す
⁃ 中身は WebView(キーボード以外)のハイブリッドアプリ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
プロジェクト要件
■ アプリとして出す
⁃ 中身は WebView(キーボード以外)のハイブリッドアプリ
• アプリ的なUXが求められる
• SPA (シングルページアプリケーション)
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
プロジェクト要件
■ アプリとして出す
⁃ 中身は WebView(キーボード以外)のハイブリッドアプリ
• アプリ的なUXが求められる
• SPA (シングルページアプリケーション)
■ アイテムを選ぶとアバターが着替えられる
⁃ シームレスな動きの実現
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
どうやってつくろう?
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
どうやってつくろう?
いくつかの JSフレームワークを検討した結果
Vue.js を採用
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js?
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js?
■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク
ではなく必要に応じて拡張できるほうが良い
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js?
■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク
ではなく必要に応じて拡張できるほうが良い
■ 公式のルーティングライブラリの vue-router があることも
大きかった
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js?
■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク
ではなく必要に応じて拡張できるほうが良い
■ 公式のルーティングライブラリの vue-router があることも
大きかった
■ 社内で Vue.js の導入事例があった
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js?
■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク
ではなく必要に応じて拡張できるほうが良い
■ 公式のルーティングライブラリの vue-router があることも
大きかった
■ 社内で Vue.js の導入事例があった
■ 動作・サイズともに軽い
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js?
■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク
ではなく必要に応じて拡張できるほうが良い
■ 公式のルーティングライブラリの vue-router があることも
大きかった
■ 社内で Vue.js の導入事例があった
■ 動作・サイズともに軽い
■ 学習コストの低さ(社内の知見・日本語ドキュメント)
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 1
component
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 1
component とは?
再利用可能なコードの
カプセル化
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 1
component
■ コンポーネント化したアイテム
v-for でループ
※ 開発中の画面です
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 1
component
■ コンポーネント化したアイテム
v-for でループ
■ 選択したアイテムのIDをアバターの
src に追加するとアバターが変化
<template>
<div v-touch:tap="select(item)">
<img :src="itemPath + item.disFile">
<!-- check -->
<div class="item-check"
:class="{ 'is-active': item.itemID === itemsObj[item.itemType] }">
</div>
</div>
</template>
<!-- custom tag -->
<item v-for="item in category" :item="item"></item>
※ 開発中の画面です
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 1
component
// Item.vue
store,
vuex: {
getters: {
itemsObj: (state) => state.itemsObj,
},
},
props: {
'item': {
type : Object,
required: true,
},
},
data( ) {
return {
itemPath: constants.ITEM_PATH,
}
},
methods: {
select(item) {
// 省略
// 最終的にアバター画像を変えている
// actions 本当はactions.jsとか作る
store.dispatch('CHANGE_AVATAR_URL', newUrl);
},
},
※ 開発中の画面です
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 2
vue-router
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 2
vue-router とは?
SPA を簡単に作るための
Vue.js のオフィシャルルータ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 2
vue-router
■ vue-router で簡単にSPAを構築可能
※ 開発中の画面です
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 2
vue-router
■ vue-router で簡単にSPAを構築可能
■ path と View を担当する component
を紐付けるだけ
router.map({
// 省略
'/edit': {
component: EditView,
},
'/stickers': {
component: StickersView,
},
// 省略
});
※ 開発中の画面です
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 3
Vuex
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 3
Vuex とは?
アプリケーションの状態を管理するための
アーキテクチャ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 3
Vuex
■ データの流れが単方向に
■ アプリケーションの全ての状態が
Storeにあり、全ての component から
アクセス可能
非常にシンプルになり、画期的
※ 開発中の画面です
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 3
Vuex
// Item.vue
methods: {
select(item) {
// 省略
// 最終的にアバター画像を変えている
// actions 本当はactions.jsとか作る
store.dispatch('CHANGE_AVATAR_URL', newUrl);
},
},
// store.js
const state = {
avatarUrl: '',
};
const mutations = {
CHANGE_AVATAR_URL(state, newUrl) {
state.avatarUrl = newUrl;
},
};
<!-- html -->
<img :src="avatarUrl">
アイテムを選択
Actions で url を作る
Mutations で Store の状態を変更する
アバターが変わる
1
2
3
4
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 活用法 3
Vuex
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vuex
1
アイテムを選択1
Vue.js 活用法 3
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vuex
1 2
アイテムを選択
Actions で url を作る
1
2
Vue.js 活用法 3
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vuex
1 2
3
アイテムを選択
Actions で url を作る
Mutations で Store の状態を変更する
1
2
3
Vue.js 活用法 3
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vuex
1 2
34
アイテムを選択
Actions で url を作る
Mutations で Store の状態を変更する
アバターが変わる
1
2
3
4
Vue.js 活用法 3
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
まとめ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
component
vue-router
Vuex
まとめ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
component
コンポーネントの使い回しで開発が進むほど作業スピードアップ
vue-router
Vuex
まとめ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
component
コンポーネントの使い回しで開発が進むほど作業スピードアップ
vue-router
SPA を制作する工数は格段に短くなる 無かったらどうなるの??こわい
Vuex
まとめ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
component
コンポーネントの使い回しで開発が進むほど作業スピードアップ
vue-router
SPA を制作する工数は格段に短くなる 無かったらどうなるの??こわい
Vuex
状態管理が楽になり、アプリケーション内のデータのやり取りに迷わなくなった
コードの複雑さの回避、全ては store にあることの安心感
やはり開発進むほど効果実感
まとめ
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
結果
アプリケーションで実現したいことの工数が減り、
サービスのクオリティアップに貢献できた
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Vue.js 使いましょう!
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
ご清聴ありがとうございました!!!
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
募集
オープンプラットフォーム事業部では、
多くのお客様に最高のエンターテイメントを提供したい「変な人」を募集中です!
近日
公開!!

More Related Content

What's hot

禍つヴァールハイトを支えるレイアウト業務
禍つヴァールハイトを支えるレイアウト業務禍つヴァールハイトを支えるレイアウト業務
禍つヴァールハイトを支えるレイアウト業務KLab Inc. / Tech
 
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現Unity Technologies Japan K.K.
 
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjpChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjpK Kinzal
 
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Kenta Nagai
 
Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方Makoto Ito
 
WebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をするWebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をする龍一 田中
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春VerMasahito Zembutsu
 
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことgree_tech
 
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するにはアジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するにはGraat(グラーツ)
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例sairoutine
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAOre Product
 
アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法寛 水野
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践Yoshifumi Kawai
 
スマートフォンゲーム企画書制作のポイント
スマートフォンゲーム企画書制作のポイントスマートフォンゲーム企画書制作のポイント
スマートフォンゲーム企画書制作のポイントTetsuya Kimura
 
ATEMスイッチャーSDKを使用したライブ動画配信用制作・送出システムの開発
ATEMスイッチャーSDKを使用したライブ動画配信用制作・送出システムの開発ATEMスイッチャーSDKを使用したライブ動画配信用制作・送出システムの開発
ATEMスイッチャーSDKを使用したライブ動画配信用制作・送出システムの開発Eiji KOMINAMI
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 

What's hot (20)

禍つヴァールハイトを支えるレイアウト業務
禍つヴァールハイトを支えるレイアウト業務禍つヴァールハイトを支えるレイアウト業務
禍つヴァールハイトを支えるレイアウト業務
 
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
 
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjpChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
 
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法
 
Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
 
WebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をするWebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をする
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
MVPの在り方
MVPの在り方MVPの在り方
MVPの在り方
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
 
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するにはアジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
 
Lean coffee
Lean coffeeLean coffee
Lean coffee
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
 
アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法アメーバピグのユーザ体験を定量/定性で捉える方法
アメーバピグのユーザ体験を定量/定性で捉える方法
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 
スマートフォンゲーム企画書制作のポイント
スマートフォンゲーム企画書制作のポイントスマートフォンゲーム企画書制作のポイント
スマートフォンゲーム企画書制作のポイント
 
ATEMスイッチャーSDKを使用したライブ動画配信用制作・送出システムの開発
ATEMスイッチャーSDKを使用したライブ動画配信用制作・送出システムの開発ATEMスイッチャーSDKを使用したライブ動画配信用制作・送出システムの開発
ATEMスイッチャーSDKを使用したライブ動画配信用制作・送出システムの開発
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 

Viewers also liked

DeNAのAIとは #denatechcon
DeNAのAIとは #denatechconDeNAのAIとは #denatechcon
DeNAのAIとは #denatechconDeNA
 
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconサービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconDeNA
 
その後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechconその後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechconDeNA
 
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconDeNA
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話Kazuho Oku
 
ログ分析で支えるゲームパラメータ設計 #denatechcon
ログ分析で支えるゲームパラメータ設計 #denatechconログ分析で支えるゲームパラメータ設計 #denatechcon
ログ分析で支えるゲームパラメータ設計 #denatechconDeNA
 
DeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNA
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechconDeNA
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNA
 
自動運転に向けた取り組みと安全管理
自動運転に向けた取り組みと安全管理自動運転に向けた取り組みと安全管理
自動運転に向けた取り組みと安全管理Kuwabara Kunihito
 
BootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみたBootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみたBeMarble
 
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
DeNAの動画配信サービスを支えるインフラの内部  #denatechconDeNAの動画配信サービスを支えるインフラの内部  #denatechcon
DeNAの動画配信サービスを支えるインフラの内部 #denatechconDeNA
 
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーションYuya Unno
 
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みDeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みToshiharu Sugiyama
 
実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017 実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017 Preferred Networks
 
DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤Kenshin Yamada
 
Unityアバターアプリ開発パッケージのご提案
Unityアバターアプリ開発パッケージのご提案Unityアバターアプリ開発パッケージのご提案
Unityアバターアプリ開発パッケージのご提案gdays
 
Resumen de trabajo de ruido
Resumen de trabajo de ruidoResumen de trabajo de ruido
Resumen de trabajo de ruidoJUAN BASTORI
 

Viewers also liked (20)

DeNAのAIとは #denatechcon
DeNAのAIとは #denatechconDeNAのAIとは #denatechcon
DeNAのAIとは #denatechcon
 
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconサービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechcon
 
その後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechconその後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechcon
 
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
ログ分析で支えるゲームパラメータ設計 #denatechcon
ログ分析で支えるゲームパラメータ設計 #denatechconログ分析で支えるゲームパラメータ設計 #denatechcon
ログ分析で支えるゲームパラメータ設計 #denatechcon
 
DeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechcon
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
 
自動運転に向けた取り組みと安全管理
自動運転に向けた取り組みと安全管理自動運転に向けた取り組みと安全管理
自動運転に向けた取り組みと安全管理
 
BootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみたBootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみた
 
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
DeNAの動画配信サービスを支えるインフラの内部  #denatechconDeNAの動画配信サービスを支えるインフラの内部  #denatechcon
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
 
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
 
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みDeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
 
実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017 実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017
 
DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤
 
Unityアバターアプリ開発パッケージのご提案
Unityアバターアプリ開発パッケージのご提案Unityアバターアプリ開発パッケージのご提案
Unityアバターアプリ開発パッケージのご提案
 
fichas diligenciadas
fichas diligenciadasfichas diligenciadas
fichas diligenciadas
 
Resumen de trabajo de ruido
Resumen de trabajo de ruidoResumen de trabajo de ruido
Resumen de trabajo de ruido
 

Similar to アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon

DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestMasaki Nakagawa
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向Tsutomu Ogasawara
 
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
 
内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサーKaoru NAKAMURA
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
AUGM Tokyo 2013 Adobe Creative Cloud のご紹介
AUGM Tokyo 2013 Adobe Creative Cloud のご紹介AUGM Tokyo 2013 Adobe Creative Cloud のご紹介
AUGM Tokyo 2013 Adobe Creative Cloud のご紹介Tsuyoshi Nakao
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要Ryohei Sogo
 
Developer Summit_20140214
Developer Summit_20140214Developer Summit_20140214
Developer Summit_20140214samemoon
 
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)壽子 大倉
 
クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年Kuniteru Asami
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用de:code 2017
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI [網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI Hiromichi Koga
 
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~Akira Inoue
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1Satoshi Ueno
 
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~Recruit Technologies
 

Similar to アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon (20)

DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
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
 
内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
AUGM Tokyo 2013 Adobe Creative Cloud のご紹介
AUGM Tokyo 2013 Adobe Creative Cloud のご紹介AUGM Tokyo 2013 Adobe Creative Cloud のご紹介
AUGM Tokyo 2013 Adobe Creative Cloud のご紹介
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要
 
Developer Summit_20140214
Developer Summit_20140214Developer Summit_20140214
Developer Summit_20140214
 
scrum_fest_osaka_2020
scrum_fest_osaka_2020scrum_fest_osaka_2020
scrum_fest_osaka_2020
 
Vue入門
Vue入門Vue入門
Vue入門
 
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
最低限のコードでWebサイトを作成しよう(ADC MEETUP 08)
 
クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年クラウド案件の作り方 for azureしなの4周年
クラウド案件の作り方 for azureしなの4周年
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI [網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI
 
Fuel php活用事例
Fuel php活用事例Fuel php活用事例
Fuel php活用事例
 
Web matrix2とvisual studio
Web matrix2とvisual studioWeb matrix2とvisual studio
Web matrix2とvisual studio
 
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
 
ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1ニフティクラウドC4SA_ご紹介資料ver.1.1
ニフティクラウドC4SA_ご紹介資料ver.1.1
 
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
 

More from DeNA

DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DeNA
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用DeNA
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...DeNA
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】DeNA
 
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】DeNA
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeNA
 
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】DeNA
 
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA
 
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】DeNA
 
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】DeNA
 
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】DeNA
 
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA
 
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]DeNA
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれDeNA
 
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]DeNA
 
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]DeNA
 
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]DeNA
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてDeNA
 
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]DeNA
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA
 

More from DeNA (20)

DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
 
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
 
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
 
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
 
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
 
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
 
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
 
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介
 
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
 
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
 
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
 
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
 
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
 

アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon

  • 1. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. アバター着せ替えアプリ開発における フロントエンド技術( Vue.js 活用事例 ) February 10, 2017 Toru Enokido Keita Sakamoto Design Strategies Office. DeNA Co., Ltd.
  • 2. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 自己紹介 デザイン戦略室第一グループ 榎戸 徹 2014年入社。 2014年1月〜 怪盗ロワイヤルでフロントエンドを担当。 2014年10月〜 ヘルスケア事業部でKenCoMのフロントエンドを担当。 2016年5月〜 オープンプラットフォーム事業本部でクリエイティブチームのマネージャー
  • 3. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 自己紹介 デザイン戦略室第三グループ 坂本 啓太 2012年入社。FINAL FANTASY BRIGADE などのブラウザゲームや、 ハッカドールなどのメディアサービスのフロントエンドを担当。 現在、主に新規サービス開発のフロントエンドを担当している。
  • 4. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. アジェンダ ■ アバター着せ替えアプリについて ■ フロントエンド技術について
  • 5. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. アバター着せ替えアプリ?
  • 6. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Mobage のアバターシステムを活用して、 自由にアバターを作り、 SNS や チャットに投稿できる 海外向けキーボードアプリ (※2017年3月リリース予定) アバター着せ替えアプリ?
  • 7. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 海外向け?
  • 8. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 日本のIPコンテンツは海外で引きがある きっかけ
  • 9. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 日本のIPコンテンツは海外で引きがある きっかけ ● 日本のMANGA・アニメの普及 ● 外国人観光客による聖地巡礼 ● 細分化されたジャンルと多様性 ● 深いテーマ
  • 10. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. MobageはIP、Non IP含め アバターアセットがいくつも存在 きっかけ
  • 11. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. ユーザ自身がアバターを使ったスタンプを 気軽に作って使えれば 新たな体験を提供できるのでは? きっかけ
  • 12. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. プロジェクト要件
  • 13. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. プロジェクト要件 ■ アプリとして出す
  • 14. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. プロジェクト要件 ■ アプリとして出す ⁃ 中身は WebView(キーボード以外)のハイブリッドアプリ
  • 15. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. プロジェクト要件 ■ アプリとして出す ⁃ 中身は WebView(キーボード以外)のハイブリッドアプリ • アプリ的なUXが求められる • SPA (シングルページアプリケーション)
  • 16. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. プロジェクト要件 ■ アプリとして出す ⁃ 中身は WebView(キーボード以外)のハイブリッドアプリ • アプリ的なUXが求められる • SPA (シングルページアプリケーション) ■ アイテムを選ぶとアバターが着替えられる ⁃ シームレスな動きの実現
  • 17. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. どうやってつくろう?
  • 18. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. どうやってつくろう? いくつかの JSフレームワークを検討した結果 Vue.js を採用
  • 19. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js?
  • 20. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js? ■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク ではなく必要に応じて拡張できるほうが良い
  • 21. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js? ■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク ではなく必要に応じて拡張できるほうが良い ■ 公式のルーティングライブラリの vue-router があることも 大きかった
  • 22. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js? ■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク ではなく必要に応じて拡張できるほうが良い ■ 公式のルーティングライブラリの vue-router があることも 大きかった ■ 社内で Vue.js の導入事例があった
  • 23. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js? ■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク ではなく必要に応じて拡張できるほうが良い ■ 公式のルーティングライブラリの vue-router があることも 大きかった ■ 社内で Vue.js の導入事例があった ■ 動作・サイズともに軽い
  • 24. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js? ■ 小〜中規模プロジェクトのため、フルスタックのフレームワーク ではなく必要に応じて拡張できるほうが良い ■ 公式のルーティングライブラリの vue-router があることも 大きかった ■ 社内で Vue.js の導入事例があった ■ 動作・サイズともに軽い ■ 学習コストの低さ(社内の知見・日本語ドキュメント)
  • 25. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法
  • 26. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 1 component
  • 27. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 1 component とは? 再利用可能なコードの カプセル化
  • 28. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 1 component ■ コンポーネント化したアイテム v-for でループ ※ 開発中の画面です
  • 29. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 1 component ■ コンポーネント化したアイテム v-for でループ ■ 選択したアイテムのIDをアバターの src に追加するとアバターが変化 <template> <div v-touch:tap="select(item)"> <img :src="itemPath + item.disFile"> <!-- check --> <div class="item-check" :class="{ 'is-active': item.itemID === itemsObj[item.itemType] }"> </div> </div> </template> <!-- custom tag --> <item v-for="item in category" :item="item"></item> ※ 開発中の画面です
  • 30. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 1 component // Item.vue store, vuex: { getters: { itemsObj: (state) => state.itemsObj, }, }, props: { 'item': { type : Object, required: true, }, }, data( ) { return { itemPath: constants.ITEM_PATH, } }, methods: { select(item) { // 省略 // 最終的にアバター画像を変えている // actions 本当はactions.jsとか作る store.dispatch('CHANGE_AVATAR_URL', newUrl); }, }, ※ 開発中の画面です
  • 31. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 2 vue-router
  • 32. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 2 vue-router とは? SPA を簡単に作るための Vue.js のオフィシャルルータ
  • 33. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 2 vue-router ■ vue-router で簡単にSPAを構築可能 ※ 開発中の画面です
  • 34. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 2 vue-router ■ vue-router で簡単にSPAを構築可能 ■ path と View を担当する component を紐付けるだけ router.map({ // 省略 '/edit': { component: EditView, }, '/stickers': { component: StickersView, }, // 省略 }); ※ 開発中の画面です
  • 35. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 3 Vuex
  • 36. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 3 Vuex とは? アプリケーションの状態を管理するための アーキテクチャ
  • 37. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 3 Vuex ■ データの流れが単方向に ■ アプリケーションの全ての状態が Storeにあり、全ての component から アクセス可能 非常にシンプルになり、画期的 ※ 開発中の画面です
  • 38. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 3 Vuex // Item.vue methods: { select(item) { // 省略 // 最終的にアバター画像を変えている // actions 本当はactions.jsとか作る store.dispatch('CHANGE_AVATAR_URL', newUrl); }, }, // store.js const state = { avatarUrl: '', }; const mutations = { CHANGE_AVATAR_URL(state, newUrl) { state.avatarUrl = newUrl; }, }; <!-- html --> <img :src="avatarUrl"> アイテムを選択 Actions で url を作る Mutations で Store の状態を変更する アバターが変わる 1 2 3 4
  • 39. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 活用法 3 Vuex
  • 40. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vuex 1 アイテムを選択1 Vue.js 活用法 3
  • 41. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vuex 1 2 アイテムを選択 Actions で url を作る 1 2 Vue.js 活用法 3
  • 42. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vuex 1 2 3 アイテムを選択 Actions で url を作る Mutations で Store の状態を変更する 1 2 3 Vue.js 活用法 3
  • 43. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vuex 1 2 34 アイテムを選択 Actions で url を作る Mutations で Store の状態を変更する アバターが変わる 1 2 3 4 Vue.js 活用法 3
  • 44. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. まとめ
  • 45. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. component vue-router Vuex まとめ
  • 46. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. component コンポーネントの使い回しで開発が進むほど作業スピードアップ vue-router Vuex まとめ
  • 47. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. component コンポーネントの使い回しで開発が進むほど作業スピードアップ vue-router SPA を制作する工数は格段に短くなる 無かったらどうなるの??こわい Vuex まとめ
  • 48. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. component コンポーネントの使い回しで開発が進むほど作業スピードアップ vue-router SPA を制作する工数は格段に短くなる 無かったらどうなるの??こわい Vuex 状態管理が楽になり、アプリケーション内のデータのやり取りに迷わなくなった コードの複雑さの回避、全ては store にあることの安心感 やはり開発進むほど効果実感 まとめ
  • 49. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 結果 アプリケーションで実現したいことの工数が減り、 サービスのクオリティアップに貢献できた
  • 50. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. Vue.js 使いましょう!
  • 51. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. ご清聴ありがとうございました!!!
  • 52. Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved. 募集 オープンプラットフォーム事業部では、 多くのお客様に最高のエンターテイメントを提供したい「変な人」を募集中です! 近日 公開!!