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 Studioプラグイン開発
Search
konifar
February 18, 2016
Programming
2
4k
実践!Android Studioプラグイン開発
DroidKaigi
konifar
February 18, 2016
Tweet
Share
More Decks by konifar
See All by konifar
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.4k
提案のレベルを上げる #QiitaConference
konifar
79
32k
目安箱の設置とワークさせるポイント
konifar
5
2.1k
サバイバルモード下でのエンジニアリングマネジメント
konifar
30
13k
Android開発以外のAndroid開発経験の活かしどころ
konifar
3
3k
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
400
オーナーシップを持つ領域を明確にする
konifar
16
5.7k
雑に思考を整理する技術と効能
konifar
78
44k
何のための個人目標設定?
konifar
34
19k
Other Decks in Programming
See All in Programming
ゲームの物理
fadis
5
1.5k
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
990
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
720
AIコーディングAgentとの向き合い方
eycjur
0
220
学習を成果に繋げるための個人開発の考え方 〜 「学習のための個人開発」のすすめ / personal project for leaning
panda_program
1
110
Flutterと Vibe Coding で個人開発!
hyshu
1
260
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
240
TDD 実践ミニトーク
contour_gara
0
150
Nuances on Kubernetes - RubyConf Taiwan 2025
envek
0
190
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
200
🔨 小さなビルドシステムを作る
momeemt
1
500
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
150
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
It's Worth the Effort
3n
187
28k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Designing for Performance
lara
610
69k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
The Language of Interfaces
destraynor
160
25k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Transcript
࣮ફʂ"OESPJE4UVEJP ϓϥάΠϯ։ൃ ʢʣ খ༟հʢ!LPOJGBSʣ %SPJE,BJHJ3PPN#
͜ʹ;͊ʔ !LPOJGBS
5BQUSJQ w ੈքதʹ༑ͩͪΛ࡞ΕΔ w ࣗಈ༁Ͱ؆୯ίϛϡχ έʔγϣϯ w ϲࠃສਓ͕ར༻ IUUQTQMBZHPPHMFDPNTUPSFBQQT EFUBJMT
JEDPNUBQUSJQ
BOESPJENBUFSJBMJDPOHFOFSBUPS IUUQTHJUIVCDPNLPOJGBSBOESPJENBUFSJBMEFTJHO JDPOHFOFSBUPSQMVHJO
BOESPJENBUFSJBMJDPOHFOFSBUPS IUUQTHJUIVCDPNLPOJGBSBOESPJENBUFSJBMEFTJHO JDPOHFOFSBUPSQMVHJO w ϚςϦΞϧΞΠίϯΛ؆୯ʹஔͰ͖Δ IUUQTHJUIVCDPNHPPHMFNBUFSJBMEFTJHOJDPOT w ୯ޠͰΠϯΫϦϝϯλϧαʔνͰ͖Δ w ΞΠίϯͷ৭Λࣗ༝ʹมߋͰ͖Δ
BOESPJENBUFSJBMJDPOHFOFSBUPS IUUQTHJUIVCDPNLPOJGBSBOESPJENBUFSJBMEFTJHO JDPOHFOFSBUPSQMVHJO w ϚςϦΞϧΞΠίϯΛ؆୯ʹஔͰ͖Δ IUUQTHJUIVCDPNHPPHMFNBUFSJBMEFTJHOJDPOT w ୯ޠͰΠϯΫϦϝϯλϧαʔνͰ͖Δ w ΞΠίϯͷ৭Λࣗ༝ʹมߋͰ͖Δ
BOESPJENBUFSJBMJDPOHFOFSBUPS IUUQTHJUIVCDPNLPOJGBSBOESPJENBUFSJBMEFTJHO JDPOHFOFSBUPSQMVHJO w ϚςϦΞϧΞΠίϯΛ؆୯ʹஔͰ͖Δ IUUQTHJUIVCDPNHPPHMFNBUFSJBMEFTJHOJDPOT w ୯ޠͰΠϯΫϦϝϯλϧαʔνͰ͖Δ w ΞΠίϯͷ৭Λࣗ༝ʹมߋͰ͖Δ
BOESPJENBUFSJBMJDPOHFOFSBUPS w ϚςϦΞϧΞΠίϯΛ؆୯ʹஔͰ͖Δ IUUQTHJUIVCDPNHPPHMFNBUFSJBMEFTJHOJDPOT w ୯ޠͰΠϯΫϦϝϯλϧαʔνͰ͖Δ w ΞΠίϯͷ৭Λࣗ༝ʹมߋͰ͖Δ ಛʹݸਓ։ൃͷ࣌ʹ͘͢͝ศརʂ
BOESPJENBUFSJBMJDPOHFOFSBUPS
Πϯετʔϧ͘Β͍
ϓϥάΠϯ։ൃͷ Λ͠·͢
ϓϥάΠϯ։ൃͷಛ ͓͞Β͍
"OESPJE4UVEJPϓϥάΠϯͷಛ w *OUFMMJ+ϕʔεɻ։ൃʹ*OUFMMJ+͕ඞཁɻ w ը໘·ΘΓ4XJOHɻ w +BWBͩͱಈ͔ͳ͍ͷͰ+BWBͰ։ൃ͕ඞཁɻ
"OESPJE4UVEJPϓϥάΠϯͷಛ w *OUFMMJ+ϕʔεɻ։ൃʹ*OUFMMJ+͕ඞཁɻ w ը໘·ΘΓ4XJOHɻ w +BWBͩͱಈ͔ͳ͍ͷͰ+BWBͰ։ൃ͕ඞཁɻ
"OESPJE4UVEJPϓϥάΠϯͷಛ w *OUFMMJ+ϕʔεɻ։ൃʹ*OUFMMJ+͕ඞཁɻ w ը໘·ΘΓ4XJOHɻ w +BWBͩͱಈ͔ͳ͍ͷͰ+BWBͰ։ൃ͕ඞཁɻ
)FMMP8PSME
)FMMP8PSMEͷखॱ *OUFMMJ+ΛΠϯετʔϧ *OUFMMJ+1MBUGPSN1MVHJOͷϓϩδΣΫτ࡞ QMVHJOYNMΛهड़ "DUJPOΫϥεΛ࡞
Ϗϧυ࣮ߦ
)FMMP8PSMEͷखॱ *OUFMMJ+ΛΠϯετʔϧ *OUFMMJ+1MBUGPSN1MVHJOͷϓϩδΣΫτ࡞ QMVHJOYNMΛهड़ "DUJPOΫϥεΛ࡞
Ϗϧυ࣮ߦ
)FMMP8PSMEͷखॱ *OUFMMJ+ΛΠϯετʔϧ *OUFMMJ+1MBUGPSN1MVHJOͷϓϩδΣΫτ࡞ QMVHJOYNMΛهड़ "DUJPOΫϥεΛ࡞
Ϗϧυ࣮ߦ
)FMMP8PSMEͷखॱ *OUFMMJ+ΛΠϯετʔϧ *OUFMMJ+1MBUGPSN1MVHJOͷϓϩδΣΫτ࡞ QMVHJOYNMΛهड़ "DUJPOΫϥεΛ࡞
Ϗϧυ࣮ߦ
)FMMP8PSMEͷखॱ *OUFMMJ+ΛΠϯετʔϧ *OUFMMJ+1MBUGPSN1MVHJOͷϓϩδΣΫτ࡞ QMVHJOYNMΛهड़ "DUJPOΫϥεΛ࡞
Ϗϧυ࣮ߦ
)FMMP8PSMEͷखॱ *OUFMMJ+ΛΠϯετʔϧ *OUFMMJ+1MBUGPSN1MVHJOͷϓϩδΣΫτ࡞ QMVHJOYNMΛهड़ "DUJPOΫϥεΛ࡞
Ϗϧυ࣮ߦ
)FMMP8PSMEͷखॱ *OUFMMJ+ΛΠϯετʔϧ *OUFMMJ+1MBUGPSN1MVHJOͷϓϩδΣΫτ࡞ QMVHJOYNMΛهड़ "DUJPOΫϥε
Ϗϧυ ৄ͘͠2JJUBʹʂ IUUQRJJUBDPNLPOJGBSJUFNTDF⒎FDGD
͜͜·ͰΘΓͱ؆୯
͜ͷઌ
ԿΛͲ͏ͨ͠Β͍͍͔Θ͔Βͳ͍ w ςΩετΛબͨ࣌͠ʹϝχϡʔग़͢ʹʁ w μΠΞϩάΞϥʔτͲ͏ͬͯग़͢ͷʁ w ϑΝΠϧૢ࡞Ͳ͏Δͷʁ
ϓϥάΠϯΛ ࣮ࡍʹ࡞Δ࣌ʹཱͭ Λ͠·͢
ࠓ͢͜ͱ ͓͖֮͑ͯ͘Ϋϥεͱׂ 6*ͷ࣮ Μͩ࣌ͷௐํ
ࠓ͞ͳ͍͜ͱ جຊతͳ։ൃͷྲྀΕ TXJOHͷࡉ͔͍ ςετίʔυͷ
͓͖֮͑ͯ͘Ϋϥεͱׂ
"O"DUJPO&WFOU 1SPKFDU &EJUPS %PDVNFOU 1TJ'JMF
"O"DUJPO&WFOU 1SPKFDU &EJUPS %PDVNFOU 1TJ'JMF
"O"DUJPO&WFOU w ϓϥάΠϯͷ"DUJPOʹؔ࿈͢Δ͞· ͟·ͳใΛऔಘͰ͖ΔΫϥε w ϓϩδΣΫτͷதΛࢀরɺૢ࡞ͨ͠ ͍࣌ʹɺ͜ͷΫϥε͔ΒใΛऔಘͰ ͖Δ
ϝχϡʔͷදࣔΛΓସ͑Δ KBWBϑΝΠϧ্Ͱ ӈΫϦοΫ TUSJOHTYNM্Ͱ ӈΫϦοΫ
ϝχϡʔͷදࣔΛΓସ͑Δ
ϝχϡʔͷදࣔΛΓସ͑Δ TUSJOHTYNM͔Ͳ͏͔ͷఆ
ϝχϡʔͷදࣔΛΓସ͑Δ FWFOUHFU1SFTFOUBUJPO TFU7JTJCMF ͰදࣔΛΓସ͑
"O"DUJPO&WFOU 1SPKFDU &EJUPS %PDVNFOU 1TJ'JMF
1SPKFDU w ϓϩδΣΫτ໊σΟϨΫτϦͷύεͳ ͲɺϓϩδΣΫτͷใΛऔಘͰ͖Δ w 1SPKFDU3PPU.BOBHFS Λͬͯɺ4%, ϏϧυରͷιʔεσΟϨΫτϦͳͲ औಘͰ͖Δ
4%,όʔδϣϯΛऔಘ͢Δ
4%,όʔδϣϯΛऔಘ͢Δ 1SPKFDU3PPU.BOBHFSΛͬͯ 4ELΛऔಘ
4%,όʔδϣϯΛऔಘ͢Δ ϧʔτύεϑΝΠϧҰཡΛ औಘ͢Δ͜ͱͰ͖Δ
"O"DUJPO&WFOU 1SPKFDU &EJUPS %PDVNFOU 1TJ'JMF
&EJUPS w ΤσΟλͷใΛऔಘͰ͖Δɻ
ൣғબதͷςΩετΛऔಘ͢Δ
ൣғબதͷςΩετΛऔಘ͢Δ FEJUPSHFU4FMFDUJPO.PEFM Ͱ બதͷςΩετͷใΛऔಘ IBT4FMFDUJPO Ͱબத͔Λఆ
ൣғબதͷςΩετΛऔಘ͢Δ HFU4FMFDUFE5FYU Ͱબதͷ ςΩετΛऔಘ
ΤσΟλΛҰ൪্·ͰεΫϩʔϧ HFU4DSPMM.PEFM ͰεΫϩʔϧΛ දݱͨ͠ϞσϧΛऔಘ
ΤσΟλΛҰ൪্·ͰεΫϩʔϧ TDSPMM7FSUJDBMMZ ͰҰ൪্·Ͱ εΫϩʔϧͤ͞Δ
"O"DUJPO&WFOU 1SPKFDU &EJUPS %PDVNFOU 1TJ'JMF
%PDVNFOU w ΤσΟλʹදࣔ͞ΕͨςΩετΛऔಘɺ ฤूͰ͖Δ
ΤσΟλͷςΩετΛऔಘ͢Δ
ΤσΟλͷςΩετΛऔಘ͢Δ FEJUPSHFU%PDVNFOU HFU5FYU ͰςΩετΛऔಘ
ΤσΟλͷมߋΛݕ͢Δ
ΤσΟλͷมߋΛݕ͢Δ
"O"DUJPO&WFOU 1SPKFDU &EJUPS %PDVNFOU 1TJ'JMF
1TJ'JMF w 1SPHSBN4USVDUVSF*OUFSGBDF'JMF w *OUFMMJ+Ͱѻ͏ϑΝΠϧͷநΫϥε w ϓϩδΣΫτͷϑΝΠϧͷใΛऔ ಘͰ͖Δ
ΧʔιϧҐஔͷ+BWBΫϥεΛऔಘ
ΧʔιϧҐஔͷ+BWBΫϥεΛऔಘ
ΧʔιϧҐஔͷ+BWBΫϥεΛऔಘ FEJUPSHFU$BSFU.PEFM ͔Β ΧʔιϧҐஔΛऔಘ
ΧʔιϧҐஔͷ+BWBΫϥεΛऔಘ QTJ'JMFpOE&MFNFOU"U P⒎TFU ͰΧʔιϧҐஔͷཁૉΛऔಘ
ΧʔιϧҐஔͷ+BWBΫϥεΛऔಘ ΧʔιϧҐஔʹ͋ͬͨςΩετ 'MPBUJOH"DUJPO#VUUPOͷ&MFNFOU
6*ͷ࣮
%JBMPH &EJUPS)JOU /PUJpDBUJPO 'JMF$IPPTFS ͍উखͷΑ͍ίϯϙʔωϯτ
%JBMPH &EJUPS)JOU /PUJpDBUJPO 'JMF$IPPTFS
%JBMPH
%JBMPH8SBQQFSΛ͏
%JBMPH8SBQQFSΛ͏
%JBMPHͷݺͼग़͠
%JBMPHͷݺͼग़͠
%JBMPH &EJUPS)JOU /PUJpDBUJPO 'JMF$IPPTFS
&EJUPS)JOU
)JOU.BOBHFS
)JOU.BOBHFS
%JBMPH &EJUPS)JOU /PUJpDBUJPO 'JMF$IPPTFS
/PUJpDBUJPO
/PUJpDBUJPOT#VT
/PUJpDBUJPOT#VT
%JBMPH &EJUPS)JOU /PUJpDBUJPO 'JMF$IPPTFS
'JMF$IPPTFS
5FYU'JFME8JUI#SPXTF#VUUPO 5FYU'JFME8JUI#SPVTF#VUUPOʹ BEE#SPXTF'PMEFS-JTUFOFS Λ͚ͭΔ
5FYU'JFME8JUI#SPXTF#VUUPO
Μͩ࣌ͷௐํ
ެ։͞Ε͍ͯΔίʔυΛ ಡΉͷ͕Ұ൪ૣ͍
"OESPJE4UVEJP1MVHJO3FQPTJUPSZ w IUUQTHJUIVCDPNLPOJGBSBOESPJENBUFSJBMEFTJHO JDPOHFOFSBUPSQMVHJO
"OESPJE4UVEJP1MVHJO3FQPTJUPSZ w IUUQTHJUIVCDPNLPOJGBSBOESPJENBUFSJBMEFTJHO JDPOHFOFSBUPSQMVHJO "MM1MVHJOT
JOUFMMJKTELEPDT BOESPJEQBSDFMBCMFJOUFMMJKQMVHJO BOESPJEESBXBCMFJNQPSUFSJOUFMMJKQMVHJO BECJEFB "OESPJE4UVEJP$PEF
Φεεϝ̑ͭ
JOUFMMJKTELEPDT w ެࣜͷυΩϡϝϯτ w ΤσΟλૢ࡞ίʔυΠϯεϖΫγϣϯͳͲɺ छྨผʹ͚ͯγϯϓϧͳ࣮ίʔυ͕٧·ͬ ͍ͯΔ w ,PUMJOͷαϯϓϧ͋Δ IUUQTHJUIVCDPN+FU#SBJOTJOUFMMJKTELEPDT
USFFNBTUFSDPEF@TBNQMFT
BOESPJEQBSDFMBCMFJOUFMMJKQMVHJO w 1BSDFMBCMFͷ࣮ίʔυΛࣗಈੜͯ͘͠Ε ΔϓϥάΠϯ w μΠΞϩάͷදࣔίʔυͷੜɺϑΝΠϧ ͷߋ৽ͳͲͷ࣮ํ๏͕٧·͍ͬͯΔ IUUQTHJUIVCDPNNDIBSNBTBOESPJE QBSDFMBCMFJOUFMMJKQMVHJO
BOESPJEESBXBCMFJNQPSUFSJOUFMMJKQMVHJO w ΞΠίϯΛϓϩδΣΫτͷEQJσΟϨΫτϦʹ ؆୯ʹஔͰ͖ΔΑ͏ʹ͢ΔϓϥάΠϯ w ϦιʔεϑΝΠϧͷಡΈࠐΈɺ)UUQ௨৴ͳ Ͳͷ࣮ํ๏͕٧·͍ͬͯΔ IUUQTHJUIVCDPNXJOUFS%SPJEBOESPJE ESBXBCMFJNQPSUFSJOUFMMJKQMVHJO
BECJEFB w BECίϚϯυΛ"OESPJE4UVEJP্͔Β؆୯ʹ ࣮ߦͰ͖ΔΑ͏ʹ͢ΔϓϥάΠϯ w μΠΞϩάͷදࣔɺϓϥάΠϯ͔Βλʔϛ φϧίϚϯυΛୟ͘ํ๏͕٧·͍ͬͯΔ IUUQTHJUIVCDPNQCSFBVMUBECJEFB
"OESPJE4UVEJP$PEF w "OESPJE4UVEJPࣗମͷίʔυΛಡΉͱΑ͍ɻ w ίϚϯυόʔδϣϯࢦఆɺ"OESPJE 5PPMT1SPKFDU4JUFϖʔδͷ#VJME0WFSWJFX Λࢀߟʹ IUUQUPPMTBOESPJEDPNCVJME
·ͱΊ
1SPKFDU&EJUPSͳͲͷΫϥε ͓֮͑ͯ͜͏
6*%JBMPH/PUJpDBUJPO ༻ҙ͞Ε͍ͯΔ
Θ͔Βͳ͍࣌ ࣅͨίʔυΛಡΜͰΈΑ͏
ͦΕͰͲ͏ʹͳΒͳ͍࣌
None
!BOESPIJ͞ΜʹΑΔ *OUFMMJ+1MVHJOษڧձ ͍ۙ͏ͪճΓ·͢
ཉ͍͠ϓϥάΠϯΛ࡞ͬͯ "OESPJE։ൃΛͬͱָ͘͠
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ