狠狠撸

狠狠撸Share a Scribd company logo
Amebaの
ネイティブ開発
株式会社サイバーエージェント
藤原?聖

#devsumiB
藤原?聖 fujiwara_satoru
Android Developer
facebook.com/satoru.fujiwara

東京大学
情報工学科

ベンチャー
Android

2011年9月
中途入社
藤原?聖 fujiwara_satoru
CyberAgent Inc.

チーフネイティブエンジニア
アメーバアプリ
プラットフォーム&コミュニティ
Androidお兄さん
20140214_devsumi_ameba_native
Android / iOS
facebook.com/atom.cyberagent
開発合宿
ネイティブエンジニア以外のエ
ンジニア向け
20140214_devsumi_ameba_native
Ameba
ネイティブ
体制
ツール
取り组み
体制
プラットフォーム&ブログ

ゲーム (7 Apps+)

コミュニティ (30 Apps+)
プラットフォーム&ブログ
Android

iOS

QA

UUUUUUUU UU
10人
Ameba
SDK

1App
ゲーム
Ameba Native Studio
Unity / Cocos2d-x

Unity plugin

UUUUU

UU

5人+
1App
ゲーム
GP室
iOS

Android

UUUU UUUU
8人+
…

5Apps+
コミュニティ
ネイティブスタジオ
Android

iOS

UUUUU
UUUUU

UUUUU?
UUUUU

15人+

30Apps+
…
プラットフォーム/ゲーム(Native Studio)

UUUUU

r
o

ro

1アプリ

複数アプリ

UUUUUUUUU
コミュニティ/ゲーム(GP室)
複数アプリ

UUUUUUUUU
コミュニティ/ゲーム(GP室)
Android

iOS

UUUUU
UUUUU

UUUUU?
UUUUU

…
Android

iOS

UUUUU
UUUUU

UUUUU?
UUUUU

…
Android

iOS

UUUUU
UUUUU

UUUUU?
UUUUU

…
Android

iOS

UUUUU
UUUUU

UUUUU?
UUUUU

…
Android

iOS

UUUUU
UUUUU

UUUUU?
UUUUU

…
運用アプリ開発のタスクの波
新規のスピードリリース
本日の厂迟辞谤测
多くのネイティブアプリを
複数人で流動的に開発する時に、

どのようにして
「スピード」と「クオリティ」
を担保するか?
ツール
复数人开発
20140214_devsumi_ameba_native
Pull Request
git-?ow
r
o

ro

GitHub-?ow
git-?ow + PullRequest
upstream

fork

master

origin
develop

develop
clone

remote add
local

develop

より詳しくは
http://ameblo.jp/ca-1pixel/entry-11658373787.html
git-?ow + PullRequest
リリース

upstream
master

origin
PullRequest

feature/

develop

Pull

local
develop
feature/

より詳しくは
http://ameblo.jp/ca-1pixel/entry-11658373787.html

Push
GitHub-?ow + PullRequest
リリース

upstream

PullRequest

master

Pull

origin
feature/

local
master
feature/

厳密にはGitHub-?owではないです…「のようなもの」

Push
git-?ow
d
n

dn

a

a

GitHub-?ow
PullRequestでコードレビュー
upstreamに不要なbranchがない
20140214_devsumi_ameba_native
スピード
クオリティ
;
20140214_devsumi_ameba_native
Crashlytics
BugSense
Crittercism

今のところこれ
スピード
クオリティ
20140214_devsumi_ameba_native
Jenkins?
配布の自动化
AppZone

github.com/CyberAgent/AppZone
レビューの自动化
Pull Reqしました!
静的コード解析
Lint
CheckStyle
FindBug
PMD
cpd
20140214_devsumi_ameba_native
可视化&一元化
アンケート
Android
Developer
r
o

ro

iOS
Developer
Sorry… Android only
Eclipse
r
o

ro

Android Studio
20140214_devsumi_ameba_native
環境切り替え(gradle)
sourceSets {!
main {!
manifest.srcFile 'AndroidManifest.xml'!
java.srcDirs = ['src/main/java']!
resources.srcDirs = ['src/product']!
res.srcDirs = ['res']!
assets.srcDirs = ['assets']!
}!
develop {!
resources.srcDirs = ['src/develop']!
}!
staging {!
resources.srcDirs = ['src/staging']!
}!
product {!
resources.srcDirs = ['src/product']!
}!
}
jarの生成
android.libraryVariants.all { variant ->!
????def name = variant.buildType.name!
????if (name.equals(com.android.builder.BuilderConstants.DEBUG)) {!
????????return;!
????}!
????def task = project.tasks.create "jar${name.capitalize()}", Jar!
????task.dependsOn variant.javaCompile!
????task.from variant.javaCompile.destinationDir!
????task.from android.sourceSets.main.resources!
????artifacts.add('archives', task);!
}

参考
http://stackover?ow.com/questions/19307341/android-library-gradle-release-jar
deploy maven
apply plugin: 'maven'!

!

uploadArchives {!
????repositories {!
????????mavenDeployer {!
????????????repository url: "https://maven-server-url"!
????????????pom.version = '1.0.0'!
????????????pom.groupId = 'atom.commons'!
????????????pom.artifactId = 'atom-commons-util'!
????????}!
????}!
}
Android Studio
产耻迟…
Eclipse
20140214_devsumi_ameba_native
0.4.2 (early access preview)
Save Action
ant
Save Action
auto format & clean up
環境切り替え(ant)
<property name="source.dir" value="bin/buildsrc" />!
!
<target name="product">!
<property name="buildenv" value="product" />!
<antcall target="dobuild"/>!
</target>!
!
<target name="staging">!
<property name="buildenv" value="staging" />!
<antcall target="dobuild"/>!
</target>!
!
<target name="develop">!
<property name="buildenv" value="develop" />!
<antcall target="dobuild"/>!
<antcall target="dolint"/>!
</target>!
!
<target name="-pre-build">!
<antcall target="clean"/>!
<property name="buildenv" value="develop" />!
<copy todir="${source.dir}">!
<fileset dir="src/main/java"/>!
<fileset dir="src/${buildenv}"/>!
</copy>!
</target>
atom-bootstrap
.settings
custom_rules.xml
开発环境の统一
デバッグ
Sorry… Android only
Smartphone Test Farm
Smartphone Test Farm
?

ブラウザからリアルタイムでAndroid実
機デバッグ

?

ブラウザ/WebView/logcat/apk/
ScreenShot/etc

?

一部オープンソース

?

github.com/CyberAgent/adbkit
20140214_devsumi_ameba_native
Pull Request で复数人开発
アプリのクラッシュを一元管理
AppZoneでアプリ配布
自動でコードレビュー&一元管理
auto format / clean up
様々な端末を同時にDebug
谁が作っても同じ様に
谁でも作れる
本日の厂迟辞谤测
多くのネイティブアプリを
複数人で流動的に開発する時に、

どのようにして
「スピード」と「クオリティ」
を担保するか?
one of the

Answer
全部のアプリを同じ
様に作る
一人のスペシャリス
トが全部作る様に
取り组み
検証指令塔
SMAq (テスト)
CS
セキュリティ診断
K点チェック
アプリリリース判定
アプリのクオリティをチェック
イノテック会议
流動的な体制

SMAq

K点チェック
エンジニア主導
みんなを巻き込む
多くのネイティブアプリを
複数人で流動的に開発する時に、

どのようにして
「スピード」と「クオリティ」
を担保するか?
一人のスペシャリス
トが全部作る?
Action!
みんなで協力できる
形を
みんなで考える
Thank you!
Ask The Speaker
Ad

Recommended

PDF
エンジニアリングするデザイナーが领域を超えて见えたこと
Mayumi Narisawa
?
PPTX
闯别苍办颈苍蝉を使おうよ
Yohei Oda
?
PDF
第38回载せられない补辫辫
civic Sasaki
?
PDF
Codename Oneの紹介
Yusuke Yamamoto
?
PDF
OpenSTFを ECSに乗せてみた話
司 知花
?
PDF
インフラざっくり会
祐磨 堀
?
PDF
鲍贰4ディープラーニングってやつでなんとかして!环境构筑编(笔测迟丑辞苍3+罢别苍蝉辞谤贵濒辞飞)
エピック?ゲームズ?ジャパン Epic Games Japan
?
PDF
Scc2013 air
Jun Futakawa
?
PPTX
[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦
historia_Inc
?
PDF
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Kaoru NAKAMURA
?
PPTX
Open STF Plugin 作ってみた
justice_sm
?
PPT
础苍诲谤辞颈诲谤辞辞迟化あれこれ
ns_pl
?
PDF
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
エピック?ゲームズ?ジャパン Epic Games Japan
?
PPTX
デザイナーがネイティブ実装に関わるメリットとコツ
Yurie Shiratori
?
PPTX
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
エピック?ゲームズ?ジャパン Epic Games Japan
?
PDF
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
エピック?ゲームズ?ジャパン Epic Games Japan
?
PDF
ケ?ームツクール第1回 Unity x VuforiaでARカメラを作ろう!
ゲームツクール!
?
KEY
世界一簡単なAndroidアプリ作り 20121020
Takeaki Tada
?
PDF
Redmine plugin ハンズオン
Haruyuki Iida
?
PDF
「颁补尘别濒辞驳」础苍诲谤辞颈诲开発秘话
Shoya Tsukada
?
PDF
Abc2013 autumn fujiwara
cyberagent
?
PDF
础苍诲谤辞颈诲アプリ开発を楽にするために
Shuichi Takaya
?
PPTX
Firebase update from io'17
Namito Satoyama
?
PDF
2011年5月28日 Android勉強会プレゼン資料
Eiichi Yoshikawa
?
PDF
20121123 アト?部定例会 unityアフ?リに広告を入れる方法
Yasuyuki Kamata
?
PPTX
Pepper sdk for android studio with mac
篤 富田
?
PPTX
尝别补辫尘辞迟颈辞苍と辫5.箩蝉:顿贰惭翱と解説
光吉 浜谷
?
PDF
Trend and use case 20120607a with Ar (Augmented reality) -Ar(拡張現実) の動向と活用事例
Etsuji Kameyama
?
PPTX
础苍诲谤辞颈诲エンジニアになってからの1年间の感想と振り返り
ichirokato5
?
PDF
アジャイル开発导入のためにやってきたこと
Arata Fujimura
?

More Related Content

What's hot (11)

PPTX
[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦
historia_Inc
?
PDF
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Kaoru NAKAMURA
?
PPTX
Open STF Plugin 作ってみた
justice_sm
?
PPT
础苍诲谤辞颈诲谤辞辞迟化あれこれ
ns_pl
?
PDF
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
エピック?ゲームズ?ジャパン Epic Games Japan
?
PPTX
デザイナーがネイティブ実装に関わるメリットとコツ
Yurie Shiratori
?
PPTX
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
エピック?ゲームズ?ジャパン Epic Games Japan
?
PDF
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
エピック?ゲームズ?ジャパン Epic Games Japan
?
PDF
ケ?ームツクール第1回 Unity x VuforiaでARカメラを作ろう!
ゲームツクール!
?
KEY
世界一簡単なAndroidアプリ作り 20121020
Takeaki Tada
?
PDF
Redmine plugin ハンズオン
Haruyuki Iida
?
[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦
historia_Inc
?
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Kaoru NAKAMURA
?
Open STF Plugin 作ってみた
justice_sm
?
础苍诲谤辞颈诲谤辞辞迟化あれこれ
ns_pl
?
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
エピック?ゲームズ?ジャパン Epic Games Japan
?
デザイナーがネイティブ実装に関わるメリットとコツ
Yurie Shiratori
?
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
エピック?ゲームズ?ジャパン Epic Games Japan
?
『修羅道』制作事例 モバイルハイエンドグラフィックゲーム実現まで
エピック?ゲームズ?ジャパン Epic Games Japan
?
ケ?ームツクール第1回 Unity x VuforiaでARカメラを作ろう!
ゲームツクール!
?
世界一簡単なAndroidアプリ作り 20121020
Takeaki Tada
?
Redmine plugin ハンズオン
Haruyuki Iida
?

Similar to 20140214_devsumi_ameba_native (20)

PDF
「颁补尘别濒辞驳」础苍诲谤辞颈诲开発秘话
Shoya Tsukada
?
PDF
Abc2013 autumn fujiwara
cyberagent
?
PDF
础苍诲谤辞颈诲アプリ开発を楽にするために
Shuichi Takaya
?
PPTX
Firebase update from io'17
Namito Satoyama
?
PDF
2011年5月28日 Android勉強会プレゼン資料
Eiichi Yoshikawa
?
PDF
20121123 アト?部定例会 unityアフ?リに広告を入れる方法
Yasuyuki Kamata
?
PPTX
Pepper sdk for android studio with mac
篤 富田
?
PPTX
尝别补辫尘辞迟颈辞苍と辫5.箩蝉:顿贰惭翱と解説
光吉 浜谷
?
PDF
Trend and use case 20120607a with Ar (Augmented reality) -Ar(拡張現実) の動向と活用事例
Etsuji Kameyama
?
PPTX
础苍诲谤辞颈诲エンジニアになってからの1年间の感想と振り返り
ichirokato5
?
PDF
アジャイル开発导入のためにやってきたこと
Arata Fujimura
?
PPTX
App inventor20分勝負
Takeaki Tada
?
PDF
エクストリーム?プログラミング開発におけるUIテスト #yjbonfire
驰补丑辞辞!デベロッパーネットワーク
?
PDF
LIFFとLINE SDKの昨今
LINE Corporation
?
PDF
知っ徳! 納徳!Magic Leap 《開発編》
Sadao Tokuyama
?
PDF
Current state and case introducation of AR (Autumn of 2012)- 拡張現実の現状と事例紹介
Etsuji Kameyama
?
PDF
最速て?リリースするための础苍诲谤辞颈诲アフ?リテ?サ?イン
Naoki Aoyama
?
PDF
everevo × Open Graph
Tetsuwo OISHI
?
PDF
App shortcuts
Namito Satoyama
?
PDF
iPhoneアフ?リ無料勉強会 vol1
codeal
?
「颁补尘别濒辞驳」础苍诲谤辞颈诲开発秘话
Shoya Tsukada
?
Abc2013 autumn fujiwara
cyberagent
?
础苍诲谤辞颈诲アプリ开発を楽にするために
Shuichi Takaya
?
Firebase update from io'17
Namito Satoyama
?
2011年5月28日 Android勉強会プレゼン資料
Eiichi Yoshikawa
?
20121123 アト?部定例会 unityアフ?リに広告を入れる方法
Yasuyuki Kamata
?
Pepper sdk for android studio with mac
篤 富田
?
尝别补辫尘辞迟颈辞苍と辫5.箩蝉:顿贰惭翱と解説
光吉 浜谷
?
Trend and use case 20120607a with Ar (Augmented reality) -Ar(拡張現実) の動向と活用事例
Etsuji Kameyama
?
础苍诲谤辞颈诲エンジニアになってからの1年间の感想と振り返り
ichirokato5
?
アジャイル开発导入のためにやってきたこと
Arata Fujimura
?
App inventor20分勝負
Takeaki Tada
?
エクストリーム?プログラミング開発におけるUIテスト #yjbonfire
驰补丑辞辞!デベロッパーネットワーク
?
LIFFとLINE SDKの昨今
LINE Corporation
?
知っ徳! 納徳!Magic Leap 《開発編》
Sadao Tokuyama
?
Current state and case introducation of AR (Autumn of 2012)- 拡張現実の現状と事例紹介
Etsuji Kameyama
?
最速て?リリースするための础苍诲谤辞颈诲アフ?リテ?サ?イン
Naoki Aoyama
?
everevo × Open Graph
Tetsuwo OISHI
?
App shortcuts
Namito Satoyama
?
iPhoneアフ?リ無料勉強会 vol1
codeal
?
Ad

Recently uploaded (7)

PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PDF
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
PDF
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
PPTX
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
色について.pptx .
iPride Co., Ltd.
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
Ad

20140214_devsumi_ameba_native