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
Fukui Atsuko
November 06, 2017
Technology
4
540
Kotlin導入作戦
Kotlinをプロダクトに導入するにあたって、ビジネスとどうバランスをとるかのお話です
Fukui Atsuko
November 06, 2017
Tweet
Share
More Decks by Fukui Atsuko
See All by Fukui Atsuko
こんな時どう書くの? 逆引きKotlin入門
muumuumuumuu
3
1.4k
KotlinとReduxをAndroidアプリに導入したら
muumuumuumuu
6
4.7k
Sometimes Swift confuses Kotlin engineers.
muumuumuumuu
0
670
How to find problem causes and performance improvement
muumuumuumuu
6
4.2k
Other Decks in Technology
See All in Technology
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
110
フィンテック養成勉強会#54
finengine
0
170
rubygem開発で鍛える設計力
joker1007
2
190
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
4
1.1k
20250623 Findy Lunch LT Brown
3150
0
840
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
660
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.2k
Uniadex__公開版_20250617-AIxIoTビジネス共創ラボ_ツナガルチカラ_.pdf
iotcomjpadmin
0
160
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
510
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
230
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
16
5.3k
地図も、未来も、オープンに。 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
110
Featured
See All Featured
Code Review Best Practice
trishagee
68
18k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
BBQ
matthewcrist
89
9.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Optimizing for Happiness
mojombo
379
70k
Facilitating Awesome Meetings
lara
54
6.4k
For a Future-Friendly Web
brad_frost
179
9.8k
A Tale of Four Properties
chriscoyier
160
23k
Become a Pro
speakerdeck
PRO
28
5.4k
Fireside Chat
paigeccino
37
3.5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Statistics for Hackers
jakevdp
799
220k
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 • طଘͷϓϩδΣΫτͷ߹ɺ͡Θ͡Θಋೖ
͢Δͷ͕ΦεεϝͰ͢
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ