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
15
6k
提案のレベルを上げる #QiitaConference
konifar
86
34k
目安箱の設置とワークさせるポイント
konifar
5
2.2k
サバイバルモード下でのエンジニアリングマネジメント
konifar
31
13k
Android開発以外のAndroid開発経験の活かしどころ
konifar
3
3.1k
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
410
オーナーシップを持つ領域を明確にする
konifar
16
6.7k
雑に思考を整理する技術と効能
konifar
78
44k
何のための個人目標設定?
konifar
33
19k
Other Decks in Programming
See All in Programming
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
Swift Updates - Learn Languages 2025
koher
2
490
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
Namespace and Its Future
tagomoris
6
700
Rancher と Terraform
fufuhu
2
550
Reading Rails 1.0 Source Code
okuramasafumi
0
250
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
1
130
AIでLINEスタンプを作ってみた
eycjur
1
230
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
Design Foundational Data Engineering Observability
sucitw
3
200
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
22
5.8k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Visualization
eitanlees
148
16k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Automating Front-end Workflow
addyosmani
1370
200k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Become a Pro
speakerdeck
PRO
29
5.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
A designer walks into a library…
pauljervisheath
207
24k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
The World Runs on Bad Software
bkeepers
PRO
70
11k
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։ൃΛͬͱָ͘͠
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ