Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ピクシブのAndroidアプリ事情
Search
Keisuke SASAKI
September 10, 2014
Technology
1
4.4k
ピクシブのAndroidアプリ事情
2014/09/09 インターン向け発表資料
そもそもAndroidって何よ?から、社内での開発フローなどなど
Keisuke SASAKI
September 10, 2014
Tweet
Share
More Decks by Keisuke SASAKI
See All by Keisuke SASAKI
pixiv SUMMER BOOT CAMP 2015 講義資料
rooandqoo
0
3.4k
Rails寺子屋 x kosenconf 告知
rooandqoo
0
68
高専カンファレンス in 釧路 発表資料
rooandqoo
2
800
Other Decks in Technology
See All in Technology
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
160
AWSの最新サービスでAIエージェント構築に楽しく入門しよう
minorun365
PRO
8
470
20250807 Applied Engineer Open House
sakana_ai
PRO
2
610
意志の力が9割。アニメから学ぶAI時代のこれから。
endohizumi
1
110
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
160
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
120
AIは変更差分からユニットテスト_結合テスト_システムテストでテストすべきことが出せるのか?
mineo_matsuya
5
2.5k
MCPサーバーを活用したAWSコスト管理
arie0703
0
130
Mackerel in さくらのクラウド
cubicdaiya
1
290
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
2.6k
Amazon S3 Vectorsは大規模ベクトル検索を低コスト化するサーバーレスなベクトルデータベースだ #jawsugsaga / S3 Vectors As A Serverless Vector Database
quiver
2
990
JAWS-UG のイベントで使うハンズオンシナリオを Amazon Q Developer for CLI で作ってみた話
kazzpapa3
0
120
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
54
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Docker and Python
trallard
45
3.5k
Automating Front-end Workflow
addyosmani
1370
200k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
What's in a price? How to price your products and services
michaelherold
246
12k
Gamification - CAS2011
davidbonilla
81
5.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
A better future with KSS
kneath
239
17k
Transcript
pixivͷAndroidΞϓϦࣄ ։ൃ෦ ϞόΠϧνʔϜ ࠤʑ Ղ༞ @RooandQoo
ࠤʑՂ༞@RooandQoo AndroidΤϯδχΞ ࠓͷ৽ଔ(ࣾྺ3) About me
What is Android
What is Android ɾGoogle ͷϞόΠϧ͚OS ɾΦʔϓϯιʔε ɾੈքతγΣΞߴ͍ ɾຊͩͱ…
What is Android όʔδϣϯίʔυͷ໊લ͕͓՛ࢠ
What is Android 1.5 : Cupcake 1.6 : Donut 2.0
: Eclair 2.2 : Frozen Yogurt 3.0 : Gingerbread 4.0 : Ice Cream Sandwich 4.1 : Jelly Bean 4.4 : KitKat 5.0? : L…?
What is Android ͔Θ͍͍
What is Android ɾ͍ͭ͜ʹਖ਼໊ࣜশͳ͍Β͍͠
What is Android ࠷ۙͷ Google ੜ׆ͱ AndroidΛ ີணͤ͞Α͏ͱ͍ͯ͠Δ
Android Wear
Android Auto
Android TV
What is Android ͦͷ͏ͪྫྷଂݿͱ͔ʹ৯͍ࠐΜͰ͖ͦ͏
What is Android ͷճΓͷͷΛ hack Ͱ͖Δͱ͍ͬͨҙຯͰ ͓͍ͬͯͯଛͳ͍͔ʁ
How to Dev
How to Dev Apps ɾJava(ͬΆ͍ݴޠ) + xml ɾAndroid Studio(IDE) ωΠςΟϒͳΞϓϦ
How to Dev Apps ɾJava(ͬΆ͍ݴޠ) + xml ɾAndroid Studio(IDE) ωΠςΟϒͳΞϓϦ
ScalaͰॻ͜͏ͱؤுͬͯΔਓ͍ΔΒ͍͠
How to Dev Apps ɾTitanium Mobile ɾMonaca ɾRhodes ɾCordova !
ͳͲͳͲ… WebΞϓϦͬΆͭ͘͘ΕΔϑϨʔϜϫʔΫ
How to Dev Apps Java Ϣʔβ͔Βͷೖྗʹର͢ΔԠ ͳͲɺ৭ʑͳॲཧ xml ϨΠΞτΞϓϦͷจࣈྻɺͳͲͷ ఆٛ
Architecture
Architecture Java Resources(xml) AndroidManifest.xml Build Script Project Source ͦΜͳʹେ͖͘ͳ͍
Java Resources(xml) AndroidManifest.xml Build Script Project Source ΞϓϦέʔγϣϯશମͷઃఆϑΝΠϧ Architecture
Java Resources(xml) AndroidManifest.xml Build Script Project Source ϏϧυઃఆͷεΫϦϓτϑΝΠϧ(Gradle) Architecture
Way to hello world
Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞ ɾRun ϘλϯΛԡ͢
Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞ ɾRun ϘλϯΛԡ͢ ͔ΜͨΜʂ
Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞ ɾRun ϘλϯΛԡ͢ https://developer.android.com/sdk/installing/studio.html
Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞ ɾRun ϘλϯΛԡ͢ New
Project͔ΒαΫαΫͭ͘ΕΔ ॳΊ͔Β1ຕͷActivityΛ͍࣋ͬͯΔ
Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞ ɾRun ϘλϯΛԡ͢
Way to hello world
Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞ ɾRun ϘλϯΛԡ͢ New
Project͔ΒαΫαΫͭ͘ΕΔ ॳΊ͔Β1ຕͷActivityΛ͍࣋ͬͯΔ
Activity?
Activity ɾϘλϯϦετͳͲͷը໘ύʔπ ɾWebϖʔδ(WebView) ɾάϥϑΟοΫε AndroidΞϓϦʹ͓͚Δը໘ͷ୯Ґ ͳͲ͕දࣔ͞ΕΔJavaͷΫϥε
Activity AndroidΞϓϦʹ͓͚Δը໘ͷ୯Ґ Ϣʔβͷૢ࡞Λड͚ͯॲཧ͢Δͷ Activityͷࣄ
Activity Activity Resource Load Show Operation User
Development Environment
Development Environment Android։ൃ༻ͷϓϥάΠϯΛ ՃͰΠϯετʔϧ͢Δඞཁ͕͋ͬͨ
Development Environment 2013ϦϦʔεɺ0.8.6(20149݄9ݱࡏ)
Development Environment Eclipseͱൺ͍͍ͯͱ͜Ζ
Development Environment Gradle͕͑Δ
Development Environment ʢGradle͕͑Δ͜ͱͰʣ ϥΠϒϥϦͷཧָ͕
Development Environment ࢀߟࢿྉʢ͍͍ײ͡ʹ·ͱ·ͬͯ·͢ʣ http://blog.nkzn.info/entry/2014/03/21/015914
Development Environment pixivͰ2014ͷ4݄ʹҠߦͨ͠
Gradle
Gradle
Gradle ɾAntMavenʹΘΔϏϧυπʔϧ ɾهड़͕؆୯Ͱਓؒʹݟ͍͢ ɾAndroid StudioͰඞਢ ɾϥΠϒϥϦͷཧָ
Gradle [Gradle] GradleͱMavenͱAnt+ivyͷൺֱ http://d.hatena.ne.jp/kaakaa_hoe/20130312 ࢀߟࢿྉ
None
None
None
Gradle ɾAntMavenʹΘΔϏϧυπʔϧ ɾهड़͕؆୯Ͱਓؒʹݟ͍͢ ɾAndroid StudioͰඞਢ ɾϥΠϒϥϦͷཧָ
Gradle ɾAntMavenʹΘΔϏϧυπʔϧ ɾهड़͕؆୯Ͱਓؒʹݟ͍͢ ɾAndroid StudioͰඞਢ ɾϥΠϒϥϦͷཧָ
Gradle ͜͜ʹॻ͚ͩ͘ʂ
Gradle ศརʂ
Android@pixiv
ɾpixiv ɾpixiv ίϛοΫ ɾpixiv wall Android@pixiv ग़ͯ͠ΔΞϓϦ
iOSΞϓϦʹൺͯϦϦʔεͷख͕ؒͳ͍ͨΊɺ ࣮ݧతػೳΛಋೖ͢Δ࣌ͷઑฌʹͳΔ͜ͱ͋Δ Android@pixiv
ɾgit / GitHub ɾTravis CI ɾDeployGate ɾCrashlytics ɾGoogle Analytics Android@pixiv
ར༻ͯ͠Δπʔϧ
ݴΘͣͱΕͨιʔείʔυཧγεςϜ ػೳՃόάमਖ਼PRϕʔεͰߦ͏ Android@pixiv git / GitHub
GitHubʹ push ͞ΕͨίʔυΛ Ϗϧυɺςετͯ͘͠ΕΔ ͜Εʹ pass ͠ͳ͍ίʔυϚʔδ͞Εͳ͍ Android@pixiv Travis CI
ΞϓϦͷβ൛γεςϜ ࣾͷਓʹͬͯΒͬͯ ༻ײͷ֬ೝσόοάΛߦ͏ Android@pixiv DeployGate
ΞϓϦͷΫϥογϡݪҼੳͳͲΛ αϙʔτͯ͘͠ΕΔαʔϏε ൃੜՕॴճ͕Θ͔ΔͷͰσόοάʹॏๅ͍ͯ͠Δ Android@pixiv Crashlytics
Ϣʔβ͕ΞϓϦͰͲΜͳΞΫγϣϯΛߦ͔ͬͨʁ ͱ͍ͬͨΠϕϯτΛղੳͯ͘͠ΕΔαʔϏε Android@pixiv Google Analytics
ྑ͛͞ͳπʔϧ / ϥΠϒϥϦੵۃతʹಋೖͯ͠Δ Android@pixiv
࣮ɺpush ࣮͢Δͷ ܾΊΔ ࣾςετ (DeployGate) ϦϦʔε Release Cycle
Android@pixiv ࣮͢Δػೳͷݕ౼ Β͕ ΄͍͠ͷ Ϣʔβ͕ ΄͍͠ͷ ձࣾతʹ ྑ͍ͷ ίίΛॏతʹ ຬ͍ͨͯ͘͠
Android@pixiv ։ൃ Issueཱͯͯ
Android@pixiv ։ൃ ॻ͍ͯPRΛ͛Δ
Android@pixiv ։ൃ PRඞͣϨϏϡΞʔ͕1ਓҎ্͍ͭͯ ίʔυϨϏϡʔΛߦ͏
Android@pixiv ։ൃ ࠷ۙWIPͱͯ͠࡞ۀ్தͷPRΛग़͠ɺ ࡉ͔͍୯ҐͰϨϏϡʔͯ͠Β͏͜ͱ
Android@pixiv ։ൃ ྑ͛͞ͳϥΠϒϥϦυϯυϯ͏
Android@pixiv ։ൃ ඞཁʹԠͯ͡APIΛॻ͍ͨΓ͢Δ
Android@pixiv ྫ UIେվम
Android@pixiv Β͕΄͍͠ ɾࣜUI͍͍Ճݮμα͍ ʢެࣜͬΆ͘ͳ͍…ʣ ɾࠓͬΆ͍σβΠϯͷைྲྀʹΓ͍ͨ
Android@pixiv Ϣʔβ͕΄͍͠ ɾ͖ͬ͢Γ·ͱ·ͬͨUI͍͍͢ ɾଞͷࠓ෩ͷΞϓϦͱσβΠϯ͕ἧ͍ͬͯͯྑ͍
Android@pixiv ձࣾతʹྑ͍ ɾΞϓϦͪΌΜͱ࡞Γ͜ΜͰΔΞϐʔϧͰ͖Δ
None
None
Android@pixiv ɾେنͳվमͩͬͨͷͰ ɹϦϦʔε͞Εͨ࣌ͷײಈ͕େ͖͔ͬͨ ݟ
Android@pixiv ݟ ɾIssueͱPRͷن͕େʹͳΓ͗ͨ͢ →ͳΔ͘ࡉ͔۠ͬͨ͘ํ͕ϨϏϡΞʔ͕ࠔΒͳ͍
Android@pixiv ݟ ɾIssueͱPRͷن͕େʹͳΓ͗ͨ͢ →ͳΔ͘ࡉ͔۠ͬͨ͘ํ͕ϨϏϡΞʔ͕ࠔΒͳ͍ ϞόΠϧΞϓϦʹݶͬͨ͡Όͳ͍͚Ͳ…
matome ɾϞόΠϧνʔϜϑοτϫʔΫ͕͍ܰ ! ɾΓ͍ͨ͜ͱ͕࣮ݱ͘͢͠ɺ ɹϢʔβ͔ΒͷϨεϙϯεૣ͍ ! ɾগͳ͘ͱpixivͰͦΜͳײ͡Ͱ͢