SlideShare a Scribd company logo
Realmを使ってみた話

(Android編)
Realm meetup #1
自己紹介
• 森永 孝仁(@ipa_cho)
• 株式会社Smiloops

アプリ担当
• iOS歴2年、Android歴4ヶ月
• アニメが好きです
アジェンダ
• JOBKUL?
• Realm導入理由
• 簡単な使い方
• 投入する上で
• まとめ
皆さんRealm使ってま
すか??
JOBKUL
12/17iOS版リリース
Android版リリース2/17
Android版開発開始
開発者から見た特徴
• チャット機能

→リアルタイム性&バックグラ
ウンド更新
• オフラインでも履歴が見れる

→ローカルでのデータ同期保
存
• 多くのマスタ情報を扱う

→更新性
オフラインでもデータが見れる
データを永続化して保存しなければ
ActiveAndroid CoreData
オフラインでもデータが見れる
データを永続化して保存しなければ
ActiveAndroid CoreData
Realm
導入の決め手
• iOS、Android共に使える

→データ更新処理の統一化
• PrimaryKey更新

→データ更新が簡潔になる
• Notification通知

→バックグラウンド更新後の処理の簡単さ
導入の決め手
使ってみたかった
ロマンです。
Android版でも同様に
使えるだろう
PrimaryKeyが使えない
• 開発当時、最新は0.76でPKがまだ使えなかった
• iOSから導入したため、Javaで使えないことに気づ
かなかった
怖かったのでActiveAndroidとの併用へ
チャットデータ
ユーザデータ
マスタデータ
ActiveAndroid Realm
PrimaryKeyが使えない
Realmの簡単な使い方
①Gradle
レポジトリにjcenterを追加
dependenciesにrealmを追加
②モデルの定義
③保存
④取得
ドキュメント&
サンプルを参照
導入してみて
アノテーション不要
ActiveAndroid
Realm
APIがわかりやすい
SELECT * FROM User WHERE age > 10 AND (name = Peter or name LIKE %Jo% );
SQL
Realm
ソート
バックグラウンド更新が
やりやすい
• 通信を裏で行った結果をRealm経由で受け取る
• 複数の画面、Viewの結合を疎にしやすい
Realmを投入する上で
念入りに検証を
• 動くと思ってはいけない
• Android初版開発中に、

データが永続化されない問題に遭遇。
バージョンアップ
• バージョンアップですんなり動くと思わない
• APIは刻々と変化する(CHANGE LOG大事)
• バグfixに注視を

特にiOSは多い
• 直感で見送ることも
ロジックはModel以外に
• ActiveAndroidの思想は使えない
• staticの量産は避けたい
• クラス設計は柔軟に
バグは報告しよう
• 1日も経たずに返信が来ます
• 不可解な挙動はgithubのissueへ
IMPORTANT: if you see this error, please send this log to help@realm.io.
まとめ
• アプリのデータストアに選択肢が増えた
• シンプルでパワフルなAPI
• アップデートは慎重に
Enjoy Realm!

More Related Content

Similar to Realmを使ってみた話

Realm meetup LT大会(Androidアプリへの適用経験談)
Realm meetup LT大会(Androidアプリへの適用経験談)Realm meetup LT大会(Androidアプリへの適用経験談)
Realm meetup LT大会(Androidアプリへの適用経験談)
Kenichi Kambara
 
iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流
Rakuten Group, Inc.
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発takuma mori
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
 
iphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLTiphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLTVOYAGE GROUP
 
iphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめiphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめVOYAGE GROUP
 
Android Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイドAndroid Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイド
Kenichi Kambara
 
ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩
Yahoo!デベロッパーネットワーク
 
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
LIFULL Co., Ltd.
 
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方
dena_study
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談
Kenichi Kambara
 
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
Rei Matsushita
 
Adobe Anywhere for Video
Adobe Anywhere for VideoAdobe Anywhere for Video
Adobe Anywhere for Video
Dell TechCenter Japan
 
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
Kenichi Kambara
 
Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)
Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)
Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)
Tadaaki Akai
 
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
NTT Resonant Technology Inc.
 
Hw meetup 20150304
Hw meetup 20150304Hw meetup 20150304
Hw meetup 20150304
Hiraku Komuro
 

Similar to Realmを使ってみた話 (20)

Realm meetup LT大会(Androidアプリへの適用経験談)
Realm meetup LT大会(Androidアプリへの適用経験談)Realm meetup LT大会(Androidアプリへの適用経験談)
Realm meetup LT大会(Androidアプリへの適用経験談)
 
iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
 
iphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLTiphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLT
 
iphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめiphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめ
 
Android Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイドAndroid Wearアプリ プレビュー版→正式版への移植ガイド
Android Wearアプリ プレビュー版→正式版への移植ガイド
 
ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩
 
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
 
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談
 
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
 
Adobe Anywhere for Video
Adobe Anywhere for VideoAdobe Anywhere for Video
Adobe Anywhere for Video
 
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
 
Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)
Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)
Android Wearって何?-Android Wearの概要と仕組み-(オープンセミナー 2014 at 香川発表資料)
 
Ojag20120811
Ojag20120811Ojag20120811
Ojag20120811
 
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
 
Hw meetup 20150304
Hw meetup 20150304Hw meetup 20150304
Hw meetup 20150304
 

Realmを使ってみた話