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
530
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.6k
Sometimes Swift confuses Kotlin engineers.
muumuumuumuu
0
640
How to find problem causes and performance improvement
muumuumuumuu
6
4.1k
Other Decks in Technology
See All in Technology
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
230
Godot Engineについて調べてみた
unsoluble_sugar
0
410
東京Ruby会議12 Ruby と Rust と私 / Tokyo RubyKaigi 12 Ruby, Rust and me
eagletmt
3
870
生成AI × 旅行 LLMを活用した旅行プラン生成・チャットボット
kominet_ava
0
160
AWSサービスアップデート 2024/12 Part3
nrinetcom
PRO
0
140
データ基盤におけるIaCの重要性とその運用
mtpooh
4
530
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
490
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
13
2.2k
AWS re:Invent 2024 recap in 20min / JAWSUG 千葉 2025.1.14
shimy
1
100
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
190
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
GoogleのAIエージェント論 Authors: Julia Wiesinger, Patrick Marlow and Vladimir Vuskovic
customercloud
PRO
0
160
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Into the Great Unknown - MozCon
thekraken
34
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Fireside Chat
paigeccino
34
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Music & Morning Musume
bryan
46
6.3k
What's in a price? How to price your products and services
michaelherold
244
12k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
KATA
mclloyd
29
14k
Automating Front-end Workflow
addyosmani
1366
200k
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 • طଘͷϓϩδΣΫτͷ߹ɺ͡Θ͡Θಋೖ
͢Δͷ͕ΦεεϝͰ͢
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ