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
Android開発者がKotlinを触ってみた
Search
umechanhika
October 06, 2017
Programming
0
29
Android開発者がKotlinを触ってみた
Android開発2年目の私がKotlinを触ってみた所感を発表します。
umechanhika
October 06, 2017
Tweet
Share
More Decks by umechanhika
See All by umechanhika
My Workspace [2020/08版]
umechanhika
0
75
My Workspace [2020/06版]
umechanhika
0
25
Badging for Tabs and Bottom Navigation
umechanhika
0
230
Capture view and Register to gallery
umechanhika
0
39
Shape Design with Material Components
umechanhika
3
210
Firebase MLKit AutoML Vision Edgeを触ってみた
umechanhika
3
450
Google Play Consoleの時間指定公開のハマりポイント
umechanhika
1
1.3k
UIテスト初心者のチームにUIテスト自動化を導入した話
umechanhika
0
95
GoogleI/Oアプリのようなフィルター機能を実装する
umechanhika
2
450
Other Decks in Programming
See All in Programming
Parallel Socket Communication in Swift
s_shimotori
0
220
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
4
2.8k
せっかくモデル図描くのなら、嬉しいことが多い方がいいよね!
kuboaki
1
1.7k
BuefyのMaintainerを引き継いだ件
kikuomax
0
520
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
4
870
受託開発でGitLab CI を活用していく
xiombatsg
1
110
マイ隙間家具OSSたちのご紹介
karupanerura
2
150
Enhancing Applications with Accessibility API
kishikawakatsumi
3
890
実践!RDRAを活用した既存システムの仕様変更 / Specification Changes in Existing Systems Utilizing RDRA
imamotohikaru
0
2.5k
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.9k
LPIXEL×CADDi_kaerururu
kaerururu
3
300
IntelliJ IDEA を知らなかった 自分に教えたい小ネタ集 / IntelliJ IDEA Hints for My Past Self
mackey0225
3
170
Featured
See All Featured
Designing for humans not robots
tammielis
247
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
11
1.4k
Thoughts on Productivity
jonyablonski
57
3.8k
Designing the Hi-DPI Web
ddemaree
275
33k
KATA
mclloyd
14
11k
From Idea to $5000 a Month in 5 Months
shpigford
376
45k
Happy Clients
brianwarren
91
6.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
12
1.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
319
20k
What's new in Ruby 2.0
geeforr
335
31k
4 Signs Your Business is Dying
shpigford
174
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Transcript
Android開発者が Kotlinを触ってみた 株式会社ナビタイムジャパン 梅津 光
⾃⼰紹介 • 梅津 光(ウメツ ヒカル) • ナビタイム 新卒2年⽬ • 業務ではバスNAVITIMEの開発(Android,
iOS) • 趣味でもアプリ開発 • Kotlin始めました︕
アジェンダ • Kotlinとは︖ • Kotlinを触ってみた所感 • まとめ
Kotlinとは︖
Kotlinとは︖ • Androidの第⼀級⾔語に採⽤ • Javaと100%の互換性 • NULL安全の機構がありJavaよりも安全
NULL安全 • NULLになるもの、ならないものを明確に分ける仕組み • Javaのアノテーションとは似て⾮なるもの • KotlinではNULL許容型にしかnullを代⼊できない val nonNullText: String
= null // コンパイルエラー val nullableText: String? = null // OK
Kotlinを触ってみた所感
タイムライン表⽰アプリをフルKotlinで作ってみた
メリット
導⼊がめちゃくちゃラク • 雛形が同じなのでJavaが分かれば違和感なく実装可能 • ショートカットキーをポチればJava → Kotlinを⼀発コンバート
学習しやすい • ⽇本語の記事が多い Qiitaの記事数 約6,000件
コードがシンプルに書ける • Kotlinに置き換えることでコード量が削れる • 英⽂法的な記述で読みやすい Dog dog = (Dog) animal;
val dog = animal as Dog
デメリット
デメリット(あえて挙げるなら) • 社内のナレッジ不⾜ • 新規導⼊の場合はレビュアーがいない • 若⼲の学習コスト • NonNull型とNullable型の使い分け •
関数オブジェクトなどJavaでは⾒慣れない⽂法
まとめ
既存のフルスクラッチは早めにやるべき 徐々にKotlinで実装していくのもベター 新規開発ならフルKotlinがベスト Kotlinは導⼊すべきなのか︖
ご清聴ありがとうございました