SlideShare una empresa de Scribd logo
1 de 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.
募集
オープンプラットフォーム事業部では、
多くのお客様に最高のエンターテイメントを提供したい「変な人」を募集中です!
近日
公開!!

Más contenido relacionado

La actualidad más candente

ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05都元ダイスケ Miyamoto
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018Yusuke Suzuki
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方Shohei Koyama
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~infinite_loop
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことgree_tech
 
AWS WAF を活用しよう
AWS WAF を活用しようAWS WAF を活用しよう
AWS WAF を活用しようYuto Ichikawa
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021Yusuke Suzuki
 
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIJenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIshigeyuki azuchi
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Takayuki Shimizukawa
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 

La actualidad más candente (20)

ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
 
AWS WAF を活用しよう
AWS WAF を活用しようAWS WAF を活用しよう
AWS WAF を活用しよう
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
 
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIJenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 

Destacado

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
 

Destacado (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 a アバター着せ替えアプリ開発におけるフロントエンド技術(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 a アバター着せ替えアプリ開発におけるフロントエンド技術(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人月でできるアプリ!?~
 

Más de 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
 

Más de 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. 募集 オープンプラットフォーム事業部では、 多くのお客様に最高のエンターテイメントを提供したい「変な人」を募集中です! 近日 公開!!