Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
KotlinConf 2017 Keynote
Search
kobito-kaba
November 14, 2017
Programming
870
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KotlinConf 2017 Keynote
KotlinConf 2017のKeynoteの内容をざっくりとまとめました
kobito-kaba
November 14, 2017
More Decks by kobito-kaba
See All by kobito-kaba
新規プロジェクトでやってよかったことまとめ
kobitokaba
1
930
Youtube like BottomNavigation
kobitokaba
0
280
Modularizing and Refactoring Android App with Clean Architecture
kobitokaba
0
300
Slice Your App
kobitokaba
2
1.3k
Inside Jetpack
kobitokaba
2
170
Generating and Transforming Kotlin code
kobitokaba
0
140
Conference Tourism
kobitokaba
0
300
Inside Jetpack Architecture Components
kobitokaba
0
250
Kotlinもう一歩
kobitokaba
8
17k
Other Decks in Programming
See All in Programming
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
240
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
210
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.3k
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
120
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
250
Security issues being discussed on Web Platforms
petamoriken
0
960
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
270
Heart of Swift Concurrency
koher
0
890
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
210
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
720
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
420
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
520
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
280
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
410
Raft: Consensus for Rubyists
vanstee
142
7.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
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を!