Enviar pesquisa
Carregar
KotlinAndroidLibを使ってみた
•
7 gostaram
•
8,491 visualizações
豊明 尾古
Seguir
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 21
Baixar agora
Baixar para ler offline
Recomendados
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪
豊明 尾古
Kotlinメジャーver リリースを前に
Kotlinメジャーver リリースを前に
yy yank
Kotlin as an AltJS
Kotlin as an AltJS
Shinya Mochida
Kotlinこんなん出ましたけど
Kotlinこんなん出ましたけど
yy yank
Spring boot劇的ビフォーアフター
Spring boot劇的ビフォーアフター
orekyuu
Kotlinあるある言いたい
Kotlinあるある言いたい
yy yank
Kotlinの紹介
Kotlinの紹介
豊明 尾古
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介
豊明 尾古
Recomendados
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪
豊明 尾古
Kotlinメジャーver リリースを前に
Kotlinメジャーver リリースを前に
yy yank
Kotlin as an AltJS
Kotlin as an AltJS
Shinya Mochida
Kotlinこんなん出ましたけど
Kotlinこんなん出ましたけど
yy yank
Spring boot劇的ビフォーアフター
Spring boot劇的ビフォーアフター
orekyuu
Kotlinあるある言いたい
Kotlinあるある言いたい
yy yank
Kotlinの紹介
Kotlinの紹介
豊明 尾古
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介
豊明 尾古
KuromojiをKotlinで動かす
KuromojiをKotlinで動かす
yy yank
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin
Ryota Murohoshi
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API
Hiroshi Kikuchi
Kotlinソースコード探訪
Kotlinソースコード探訪
yy yank
Regional Ruby Kaigi
Regional Ruby Kaigi
Yuichi Katahira
RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方
Satomi Tsujita
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
宏治 高尾
RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1
Satomi Tsujita
Ruby with My Life
Ruby with My Life
Hiroshi SHIBATA
テックリンク資料20170529
テックリンク資料20170529
yoshito funayose
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
kotaro_hirayama
DSLについて語るときに僕の語ること
DSLについて語るときに僕の語ること
Tomohiro Nishimura
で、次は何がくるの? - 第2回 TIS Matsuri
で、次は何がくるの? - 第2回 TIS Matsuri
Yoshitaka Kawashima
Ruby Kaja のご提案
Ruby Kaja のご提案
nagachika t
How about travel while working?
How about travel while working?
Nozomi Kosho
コンテキストと仲良く
コンテキストと仲良く
karupanerura
Yokohama.vim
Yokohama.vim
gu4
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
tatsuo sakurai
取り柄のないボクがGinza.rb、社内勉強会、技術書典の出展とか、なんでやってるんだっけ?
取り柄のないボクがGinza.rb、社内勉強会、技術書典の出展とか、なんでやってるんだっけ?
Ken-ichi Kudo
一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について
masayoshi takahashi
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
Uchio Kondo
Mais conteúdo relacionado
Mais procurados
KuromojiをKotlinで動かす
KuromojiをKotlinで動かす
yy yank
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin
Ryota Murohoshi
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API
Hiroshi Kikuchi
Kotlinソースコード探訪
Kotlinソースコード探訪
yy yank
Regional Ruby Kaigi
Regional Ruby Kaigi
Yuichi Katahira
RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方
Satomi Tsujita
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
宏治 高尾
RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1
Satomi Tsujita
Ruby with My Life
Ruby with My Life
Hiroshi SHIBATA
テックリンク資料20170529
テックリンク資料20170529
yoshito funayose
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
kotaro_hirayama
DSLについて語るときに僕の語ること
DSLについて語るときに僕の語ること
Tomohiro Nishimura
で、次は何がくるの? - 第2回 TIS Matsuri
で、次は何がくるの? - 第2回 TIS Matsuri
Yoshitaka Kawashima
Ruby Kaja のご提案
Ruby Kaja のご提案
nagachika t
How about travel while working?
How about travel while working?
Nozomi Kosho
コンテキストと仲良く
コンテキストと仲良く
karupanerura
Yokohama.vim
Yokohama.vim
gu4
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
tatsuo sakurai
取り柄のないボクがGinza.rb、社内勉強会、技術書典の出展とか、なんでやってるんだっけ?
取り柄のないボクがGinza.rb、社内勉強会、技術書典の出展とか、なんでやってるんだっけ?
Ken-ichi Kudo
一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について
masayoshi takahashi
Mais procurados
(20)
KuromojiをKotlinで動かす
KuromojiをKotlinで動かす
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API
Kotlinソースコード探訪
Kotlinソースコード探訪
Regional Ruby Kaigi
Regional Ruby Kaigi
RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1
Ruby with My Life
Ruby with My Life
テックリンク資料20170529
テックリンク資料20170529
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
DSLについて語るときに僕の語ること
DSLについて語るときに僕の語ること
で、次は何がくるの? - 第2回 TIS Matsuri
で、次は何がくるの? - 第2回 TIS Matsuri
Ruby Kaja のご提案
Ruby Kaja のご提案
How about travel while working?
How about travel while working?
コンテキストと仲良く
コンテキストと仲良く
Yokohama.vim
Yokohama.vim
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
取り柄のないボクがGinza.rb、社内勉強会、技術書典の出展とか、なんでやってるんだっけ?
取り柄のないボクがGinza.rb、社内勉強会、技術書典の出展とか、なんでやってるんだっけ?
一般社団法人日本Rubyの会について
一般社団法人日本Rubyの会について
Semelhante a KotlinAndroidLibを使ってみた
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
Uchio Kondo
RubySeminar16_Analyze
RubySeminar16_Analyze
sady_nitro
Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)
Shinichirou Nakamura
KotlinでWebアプリ開発
KotlinでWebアプリ開発
Ryo Nakagawa
Railsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する
虎の穴 開発室
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
takuma mori
RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩
Masato Noguchi
2015 12-19-ruby rails
2015 12-19-ruby rails
Hiroshi Oyamada
【Ltech#0】RubyKaigi2018報告会
【Ltech#0】RubyKaigi2018報告会
LIFULL Co., Ltd.
Kotlinで快適Android開発 #W8lt
Kotlinで快適Android開発 #W8lt
Junpei Matsuda
Rosbag search system
Rosbag search system
yusuke shibui
Rails Girls Tokyo 5th
Rails Girls Tokyo 5th
Rie Kato
okrk01_ kitanokunikara-konnnichinu
okrk01_ kitanokunikara-konnnichinu
Asami IMAZU
RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象
Tatsuya Tobioka
Rubymotionはオススメか?
Rubymotionはオススメか?
Junya Ishihara
YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望
Yahoo!デベロッパーネットワーク
メモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なこと
Masaya TARUI
Rubyのススメ
Rubyのススメ
Daisuke Yamaguchi
インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話
雅也 山本
Semelhante a KotlinAndroidLibを使ってみた
(20)
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
RubySeminar16_Analyze
RubySeminar16_Analyze
Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)
KotlinでWebアプリ開発
KotlinでWebアプリ開発
Railsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩
2015 12-19-ruby rails
2015 12-19-ruby rails
【Ltech#0】RubyKaigi2018報告会
【Ltech#0】RubyKaigi2018報告会
Kotlinで快適Android開発 #W8lt
Kotlinで快適Android開発 #W8lt
Rosbag search system
Rosbag search system
Rails Girls Tokyo 5th
Rails Girls Tokyo 5th
okrk01_ kitanokunikara-konnnichinu
okrk01_ kitanokunikara-konnnichinu
RubyMotionを1週間 触ってみた印象
RubyMotionを1週間 触ってみた印象
Rubymotionはオススメか?
Rubymotionはオススメか?
YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望
メモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なこと
Rubyのススメ
Rubyのススメ
インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話
Mais de 豊明 尾古
OSS-DB 取得のススメ
OSS-DB 取得のススメ
豊明 尾古
Ormとの付き合い方
Ormとの付き合い方
豊明 尾古
Ecmascript2015とその周辺について
Ecmascript2015とその周辺について
豊明 尾古
ActiveRecord::Enumのススメ
ActiveRecord::Enumのススメ
豊明 尾古
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
豊明 尾古
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
豊明 尾古
Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術
豊明 尾古
Rails templateで開発の初速を上げよう
Rails templateで開発の初速を上げよう
豊明 尾古
Slimの紹介
Slimの紹介
豊明 尾古
Calabashでbddしようぜ
Calabashでbddしようぜ
豊明 尾古
Rubotoを試してみた
Rubotoを試してみた
豊明 尾古
Successful git
Successful git
豊明 尾古
アプリ内課金してみた
アプリ内課金してみた
豊明 尾古
Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座
豊明 尾古
Android 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみて
豊明 尾古
Gae開発入門
Gae開発入門
豊明 尾古
ABC2011 Winter #jag4
ABC2011 Winter #jag4
豊明 尾古
初めてのC2DM
初めてのC2DM
豊明 尾古
Mais de 豊明 尾古
(18)
OSS-DB 取得のススメ
OSS-DB 取得のススメ
Ormとの付き合い方
Ormとの付き合い方
Ecmascript2015とその周辺について
Ecmascript2015とその周辺について
ActiveRecord::Enumのススメ
ActiveRecord::Enumのススメ
便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
ウェブアプリケーションのためのユニバーサルデザインを読んだので共有する
Middlemanによる静的サイト作成術
Middlemanによる静的サイト作成術
Rails templateで開発の初速を上げよう
Rails templateで開発の初速を上げよう
Slimの紹介
Slimの紹介
Calabashでbddしようぜ
Calabashでbddしようぜ
Rubotoを試してみた
Rubotoを試してみた
Successful git
Successful git
アプリ内課金してみた
アプリ内課金してみた
Webデザイナーのためのandroid用レイアウト講座
Webデザイナーのためのandroid用レイアウト講座
Android 3.Xアプリを開発してみて
Android 3.Xアプリを開発してみて
Gae開発入門
Gae開発入門
ABC2011 Winter #jag4
ABC2011 Winter #jag4
初めてのC2DM
初めてのC2DM
KotlinAndroidLibを使ってみた
1.
KotlinAndroidLib を使ってみた 2013/07/26 @patorash 第一回かわいいKotlin勉強会資料
2.
名前: 尾古 豊明 twitter:
@patorash 所属: 株式会社リゾーム 業務内容: 主にショッピングセンター向けのグループウェ アをRuby on Railsで作ってます。 でも最近は別のことをやってます。 Kotlin+JavaFXとか。 趣味でAndroidアプリ作ったりしてます。 自己紹介
3.
● リゾームに入社するまではRubyやってな かった。仕事でRubyするようになってRuby の楽しさを知った。 ● Rubyの影響で、JavaでAndroidアプリ作る のが苦痛になってきた。 ●
Ruboto(JRuby on Android)に 手を出すが起動遅すぎて断念! ● この方向を探る(Pindah) でもしっくりこない。 ● @ore_publicにKotlinでAndroidアプリ書 けることを聞く。やってみた。 Kotlinとの出会いについて
4.
良さそうな予感がした。
5.
● 静的型付(固い) ● 型推論(型を書かなくてもよい) ●
高階関数(関数を関数に渡せる) ● 拡張関数(クラスをそのまま拡張) ● 文法が簡潔(セミコロン要らない) ● 条件式(if式, when式。戻り値がある) 何がいいの?Kotlin
6.
● Javaがわかる人ならKotlinはすぐ理解でき ると思われる (学習コストが少ない) ● Javaの資産が使える ●
プロジェクトにJavaとKotlinのコードを混在 させることができる 他にもKotlinが優れている点
7.
● いわゆるバッテリー残量を 表示するウィジェットアプリ ● Wi-FiのON-OFF,
BlueToothのON-OFFな ど、電源管理系の機能とマナーモード系 の機能を付けてる ● 2010年にリリースしたアプリでDL数は 50,000超くらい。 ● 機能拡張の余地が殆どないので焼き直し に最適と判断した。 既存のアプリ(BatteryCrystal)を Kotlinで書き直してみた
8.
● ソースコードが4/5くらいになった。 ● コードの見通しがよくなったのでリファクタリ ングしやすくなった。 Kotlinにした結果
9.
Kotlinらしい書き方を求めて Githubへ
10.
KotlinAndroidLibを発見!
11.
しかし動かない…(´・ω・`) M2のときのライブラリだから…
12.
動かないのでforkして直した
13.
● ソースコードがJavaの頃と比べて3/4くらい になった。 ● コードがカッコ良くなった。 KotlinAndroidLibを使った結果
14.
サンプルコードで比較 (Java, Kotlin, KotlinAndroidLib)
15.
Java Button button =
(Button) findViewById(R.id.button); val button = findViewById(R.id.button) as Button Kotlin val button = findView<Button>(R.id.button) KotlinAndroidLib findViewById 最も短く書ける 型宣言が要らないから短く書ける
16.
Java public void nextActivity()
{ Intent intent = new Intent(Settings.ACTION_BLUETOOTH_SETTINGS); startActivity(intent); } fun nextActivity() { startActivity(Intent(Settings.ACTION_BLUETOOTH_SETTINGS)) } Kotlin fun nextActivity() = startActivity(Settings.ACTION_BLUETOOTH_SETTINGS.toIntent()) KotlinAndroidLib Intent 文字列からIntent生成できるよう拡張されてる newがないので短く書ける
17.
Java button.setOnClickListener(new OnClickListener() { @override public
void onClick(View v) { 処理 } }); button.setOnClickListener(object: OnClickListener(){ override public fun onClick(v: View?) { 処理 } }) Kotlin button.setOnClickListener { v -> 処理 } KotlinAndroidLib OnClickListener アノテーションを先頭に書く。 @不要 onClickを実装するのは自明なので 省略できるようになっている。
18.
Java new Thread(new Runnable(){ @override public
void run() { 処理 } }).start(); Thread(runnable { 処理 }).start() Kotlin async{ 処理 } KotlinAndroidLib Thread 比較的短く書くことができる 短い!簡潔!
19.
Java Editor editor =
sharedPreferences.edit(); // 編集用インスタンス取得 editor.putString("key", "value"); // 書込 editor.commit(); // 保存 val editor = sharedPreferences.edit()!! editor.putString("key", "value") editor.commit() Kotlin sharedPreferences.edit{ putString("key", "value") } KotlinAndroidLib SharedPreferences 型推論で少し短くなった程度 ブロックで記述可能。 コミットし忘れなし。
20.
● Javaだと冗長なコードが、Kotlinだとシン プルに書けるようになる。 ● KotlinAndroidLibは、Kotlinの関数機能を ふんだんに使ってあり、簡潔に書くことが できる。 ●
KotlinAndroidLibのコードには、Kotlinら しい書き方が詰まってる。 コードを読むと、勉強になる。 まだまだあるけれど…
21.
ご清聴ありがとうございました
Baixar agora