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
Kotlin導入作戦
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Fukui Atsuko
November 06, 2017
Technology
4
570
Kotlin導入作戦
Kotlinをプロダクトに導入するにあたって、ビジネスとどうバランスをとるかのお話です
Fukui Atsuko
November 06, 2017
Tweet
Share
More Decks by Fukui Atsuko
See All by Fukui Atsuko
こんな時どう書くの? 逆引きKotlin入門
muumuumuumuu
3
1.5k
KotlinとReduxをAndroidアプリに導入したら
muumuumuumuu
6
4.7k
Sometimes Swift confuses Kotlin engineers.
muumuumuumuu
0
680
How to find problem causes and performance improvement
muumuumuumuu
6
4.3k
Other Decks in Technology
See All in Technology
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.4k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
680
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
240
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
140
プロポーザルに込める段取り八分
shoheimitani
1
620
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
190
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
Are puppies a ranking factor?
jonoalderson
1
2.7k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
950
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Code Review Best Practice
trishagee
74
20k
Facilitating Awesome Meetings
lara
57
6.8k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
96
Transcript
,PUMJOಋೖ࡞ઓʂ ʙϏδωεͱΤϯδχΞͷͤΛཱ྆ͤ͞ΔͨΊʹͬͨ͜ͱʙ #POGJSF"OESPJE 'VLVJ"UTVLP
"CPVUNF • Ҫರࢠ / Fukui Atsuko • @muumuumuumuu • Retty,
Inc. • AndroidΤϯδχΞ • ͦͷલΈࠐΈܥAndroidͷ͓ࣄ
ࠃ/P໊࣮άϧϝαʔϏε ϢʔβʔߘܕͷαʔϏεܗଶ $(. XFCͱΞϓϦͰαʔϏεల։ εϚϗϑΝʔετ γϯάϧυϝΠϯ ݄ؒར༻ऀສ 3FUUZͷαʔϏεհ
օ͞Μ,PUMJO͖Ͱ͔͢ʁ ͢Ͱʹಋೖͯ͠·͔͢ʁ ͦΕʹΑͬͯͲΕ͚ͩࣄۀʹߩݙͰ͖· ͔ͨ͠ʁ
3FUUZͰಋೖ͔Β͏ͦΖͦΖ ,PUMJOͰͲ͏ࣄۀʹߩݙ͖͔ͯͨ͠ ʹ͍͓ͭͯ͠͠·͢ɻ
৽ن։ൃͰͳ͘ɺطଘͷ+BWBϓϩδΣΫτʹ ,PUMJOಋೖΛߟ͍͑ͯΔਓ͚ʹͳΓ·͢
"HFOEB • લఏࣝ: Kotlinʹ͍ͭͯ • ಋೖͯ͠Α͔ͬͨͱ͜Ζ • Ͳ͏ͬͯಋೖ͔ͨ͠
,PUMJO
,PUMJO • 2011ʹJetBrain͔ࣾΒൃද͞Εͨϓϩάϥ ϛϯάݴޠ • Better Java ͳݴޠ • JavaͱڞଘՄೳ
• ؔܕϓϩάϥϛϯάͷελΠϧΛαϙʔτ • ͔Θ͍͍
Α͔ͬͨͱ͜Ζ
͕͜͜خ͍͠ • ʢJavaͱൺֱͯ͠ʣ҆શͳίʔυ͕ॻ͚Δ • Null҆શ • ͨͩ͠100%Ͱͳ͍ • Number
Format Exception͔Βͷଔۀ • Kotlin 1.1 ͔ΒՃ͞Εͨ toIntOrNull() • Immutable variables / collections
͕͜͜خ͍͠ • Readabilityͷ্ • SAMม • Interfaceࠈ -> Lambda
• ֦ுؔ • Collection • Data class
͕͜͜خ͍͠ • Property delegateͷॆ࣮ • Observable͕ศར • ؆୯ʹpub/subύλʔϯ͕ॻ͚Δ
͕͜͜خ͍͠ • ϑΝΠϧ୯ҐͰؾܰʹಋೖͰ͖Δ • JavaͷίʔυͱڞଘՄೳ
͕͜͜خ͍͠ ϏδωεαΠυ ΤϯδχΞαΠυ • ϓϩμΫτͷ্࣭͕͕Δ • ৽͍͜͠ͱ͍ͬͯΔײ ✌ •
ใʹ͖͘ • ॻ͍ͯͯςϯγϣ ϯ্͕͕Δ㽉㽉
Ҏ্ɺ࣮ࡍʹͬͯΈͯಘΒΕͨݟͷҰྫͰ ͨ͠ɻ ݁ՌతʹΑ͔͚ͬͨͲɺ ݁Ռ͕Θ͔Βͳ͍ঢ়ଶͰͲ͏αʔϏεΛ υϥΠϒͭͭ͠ಋೖ͔ͨ͠ ʹ͍͓ͭͯ͠͠·͢
)PXUPಋೖ
Α͍࣭ͨͩ͘͘ ʮ͏શ෦,PUMJOͳΜͰ͔͢ʁʯ
+BWB,PUMJOʹஔ͖͑Δʁ • ϦϑΝΫλϦϯά͍ͯ͠ΔؒɺαʔϏεͷά ϩʔεʁ৽نػೳͷ։ൃʁ • ϏδωεଆΛͲ͏ͬͯઆಘ͠·͔͢ʁ
+BWB,PUMJOʹஔ͖͑Δʁ • ϦϑΝΫλϦϯά͍ͯ͠ΔؒɺαʔϏεͷά ϩʔεʁ৽نػೳͷ։ൃʁ • ϏδωεଆΛͲ͏ͬͯઆಘ͠·͔͢ʁ • ஔ͖͑ɺຊʹඞཁͰ͔͢ʁ • ΤϯδχΞͷΤΰͰͳ͍Ͱ͔͢ʁ
• αʔϏεΛάϩʔε͢ΔΤϯδχΞ ෛ͍ͬͯΔʂ
+BWB,PUMJOʹஔ͖͑Δʁ • ஔ͖͑Δඞཁ͕͋Δ͔Ͳ͏͔έʔεόΠ έʔε • લͷεϥΠυͷ࣭ʹશ෦͑ΒΕͳ͍ͷͰ ͋Εશ෦ஔ͖͑Α͏ͱ͠ͳ͍΄͏͕͍͍ ͱࢥ͍·͢
3FUUZͷ߹
)PXUPಋೖ • Kotlinʹڵຯ͕͋ΓɺϓϩμΫτʹೖΕ͍͍ͯ ͷ͔ʢ࣮ӡ༻ʹ͑͏Δ͔ʣݕূ͍ͨ͠ʂ • ·ͣۀͷ10%ҎͰࢼ͠·ͨ͠ • ࣄۀͷతͳΠϯύΫτͳ͍ͱ͜ΖͰ ࢼݧಋೖ
• ϦεΫ0ͰউखʹͬͯΈ·ͨ͠ • ݁Ռ͍͍ײ͡ʂ
)PXUPಋೖ • ϓϩμΫτʹ෦తʹࢼݧಋೖ • ৽نϞδϡʔϧʹͬͦ͜Γಋೖ • ৽نϞδϡʔϧϑϧKotlin • Կ͔͋ͬͯطଘϞδϡʔϧʹӨڹͳ͍ܗ
ͰϦεΫճආ • Kotlin࠷ߴ͔Αʙʙʙʂʂʂʂ
)PXUPಋೖ • ͍ͭʹϓϩμΫτຊମʹಋೖ • ৽نϑΝΠϧͨ͘͞Μख͢͠Δ෦ KotlinͰߦ͘ํ • Java or
KotlinͲͪΒ͔֤ΤϯδχΞʹҕͶ ΒΕ͍ͯ·͢ • ͡Θ͡ΘKotlinΛ૿ͯ͘͠࡞ઓ
)PXUPಋೖ • ͓ͦΒ͘ࠓޙJavaͷίʔυΓଓ͚·͢ • ϝϯς͠ͳͯ͘ಈ͘ίʔυ͍͍ίʔυʂ • ͦ͜ͷஔ͖͑ΛؤுΔ͘Β͍ͳΒϢʔβ͞ Μʹ৽͍͠ՁΛಧ͚Δ͜ͱʹ࣌ؒΛ͍· ͠ΐ͏
• Android FrameworkJavaͳͷͰJavaͱͷ Interface͔Βಀ͛ΒΕ·ͤΜ
·ͱΊ
·ͱΊ • Kotlinಋೖͯ֓͠ͶͤͰ͢ • ΤϯδχΞॻ͍ͯͯςϯγϣϯ্͕Δʂ • ্࣭͕Γใʹޮ͘ͷͰϏδωεత ʹHappy • طଘͷϓϩδΣΫτͷ߹ɺ͡Θ͡Θಋೖ
͢Δͷ͕ΦεεϝͰ͢
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ