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
KotlinConf 2017 Keynote
Search
kobito-kaba
November 14, 2017
Programming
1
810
KotlinConf 2017 Keynote
KotlinConf 2017のKeynoteの内容をざっくりとまとめました
kobito-kaba
November 14, 2017
Tweet
Share
More Decks by kobito-kaba
See All by kobito-kaba
新規プロジェクトでやってよかったことまとめ
kobitokaba
1
840
Youtube like BottomNavigation
kobitokaba
0
220
Modularizing and Refactoring Android App with Clean Architecture
kobitokaba
0
260
Slice Your App
kobitokaba
2
1.2k
Inside Jetpack
kobitokaba
2
130
Generating and Transforming Kotlin code
kobitokaba
0
97
Conference Tourism
kobitokaba
0
260
Inside Jetpack Architecture Components
kobitokaba
0
220
Kotlinもう一歩
kobitokaba
8
16k
Other Decks in Programming
See All in Programming
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
420
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
620
令和最新版手のひらコンピュータ
koba789
14
7.8k
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
200
Langfuseと歩む生成AI活用推進
licux
3
250
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
1.1k
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
1
1.8k
実践!App Intents対応
yuukiw00w
1
280
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
自作OSでDOOMを動かしてみた
zakki0925224
1
1.4k
Honoアップデート 2025年夏
yusukebe
1
740
A Gopher's Guide to Vibe Coding
danicat
0
160
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Gamification - CAS2011
davidbonilla
81
5.4k
Automating Front-end Workflow
addyosmani
1370
200k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Transcript
KotlinConf Keynote Yahoo! JAPAN / 森 洋之
About me Yahoo! JAPAN Android黒帯 (こういうところで話す仕事) ヤフオク!のAndroid / iOS / バックエンド担当
Keynote #1
Kotlin/Anywhere
None
None
None
None
Kotlin/Anywhere
Server Android Browser Kotlin/JVM Kotlin/JVM Kotlin/JS
Kotlin & Server
JVM Server • パワフルなJVM • 既存のライブラリが全て使用可能 • Null Pointer Exceptionの排除
Coroutine fun onClick() = launch(UI) { val response = async(CommonPool)
{ Repository.getTimeline() } showTimeline(response.await()) } 非同期処理をかんたんに、コールバック地獄もなしに、書ける
• 100% KotlinのWebフレームワーク • 100% 非同期 • Coroutines from the
ground up
experimental != unstable
Use. Coroutines. Now
Kotlin & Browser
Kotlin/JS JavaScript Moduleのサポート dynamic Type Definitely Typed Header
Kotlin/JS React Demo(ありません) goo.gl/YkYfk3
Kotlin & Android
None
2.5x Google Playにアップロードされている Kotlinを使用したアプリ
17% Kotlinを使用するAndroid Studio プロジェクト
Android Studio 3.0 Android Support Library Annotations Android Kotlin Guides
Android Kotlin Documentation
Android Studio 3.0 • Kotlin Pluginが同梱 • Kotlin Lintサポート •
Kotlinプロジェクトテンプレート
Android Support Library • will support Kotlin Annotations from 27.0.0
goo.gl/knwckS Android Kotlin Guide
Android Kotlin Docs & Samples goo.gl/UWKfnc
Multiplatform Projects
Server Android Browser Kotlin/JVM Kotlin/JVM Kotlin/JS
None
*.class *.js *.class *.js
共通のロジック プラットフォームに 依存した ロジック プラットフォームに 依存した ロジック
actual external class Date { … actual fun getFullYear(): Int
… } expect class Date() { … fun getFullYear(): Int … } common actual class Date { private val calendar: Calendar … actual fun getFullYear() = calendar[YEAR] … } JVM JS
fun Pair<Date, Date>.toReadableString(): String { … if (from.getDate() != to.getDate()
|| from.getMonth() != to.getMonth() || from.getFullYear() != to.getFullYear()) { … } … } common
Server Android Browser Kotlin/JVM Kotlin/JVM Kotlin/JS
Server Android Browser Kotlin/JVM Kotlin/JVM Kotlin/JS iOS Kotlin/Native
Kotlin & iOS
Native Binary LLVM
Kotlin/Native • iOS • macOS • Windows • Linux •
Android NDK • WebAssembly
Server Android Browser Kotlin/Native Kotlin/Native Kotlin/Native iOS Kotlin/Native
Sample goo.gl/AQkK6S
Kotlin/Anywhere
Keynote #2
Party Keynote
What is a “Party Keynote”
None
None
None
None
まとめ
• Kotlinの利用は爆発的に伸びている • Coroutine使おう • どこでもKotlinを!