eight meets realm
Post on 23-Jan-2018
2.394 Views
Preview:
TRANSCRIPT
Eight meets Realm2015/08/25 Realm Meetup
Sansan株式会社 坂本和大
自己紹介
https://github.com/kazu0620
坂本 和大( @kazu0620 )Sansan株式会社 Eight事業部所属
過去に個人で開発したアプリ- ヒミツのアルバム( 35万DL! )- にゃんこタウン( 15万DL! )
AgendaEight について
Realmの良さ
RealmのTipsなど
Realmに今後期待すること
Copyright © Sansan, Inc. All rights reserved.
Copyright © Sansan, Inc. All rights reserved.
v6.2.8 Previous Version
v6.3 Current Version
Copyright © Sansan, Inc. All rights reserved.
名刺をデジタル管理リコメンドでつながる
アプリ同士の名刺交換
検索してつながる
Copyright © Sansan, Inc. All rights reserved.
なぜRealmなのか従来の実装ではFMDBで実装されていた
2015年 4月 一部の機能でRealmを試験的に導入
メリット / デメリットあるが、
主要機能でも導入すべきと判断
良さ
はやい
良さ
シンプルなIF = 学習コストが低い
オブジェクトを定義して 永続化!
良さ
Realm Browser
良さ
サポートが超手厚い。
slackのrealmチームで質問を投げると、 めっちゃ丁寧に教えてくれる。 realmを利用するならjoinしておくべき。
というわけで
Realmの本格導入
7月にリリースしたフィード機能で利用
サーバーから取得したフィード情報のキャッ
シュにRealmを利用している
Tips / ハマった点など
リレーション
RLMObject(1 to 1)
RLMObject(1 to many)
かんたん!
が、カスケーディングはまだ未対応。紐づくオブジェクトは自分で手動で削除する必要が有ることに注意。
デフォルト値 / PKの設定
PKRealm管理下に置かない
プロパティも設定できる
デフォルト値
現時点ではまだNullがサポートされていないことに注意!
スレッド間でのオブジェクトの扱い
スレッドをまたいでオブジェクトを利用することはできない
PKを渡して、スレッド内で再度objectForPrimaryKeyする
RLMResultは最新の状態が自動で反映される(便利
更新の通知を受け取ることも可能
通知など
RLMResultは更新されてもnowは固定の値のまま (あたりまえ)
時間でselectするクエリの場合はRLMResultsを取得し直そう
PromiseKit(便利)
addOrUpdate(便利)
マイグレーションスキーマの変更があった場合、マイグレーション処理をせずにRealmにアクセスしよ
うとするとExceptionが吐かれる。
新規のモデル追加の場合はマイグレーションしなくとも問題ない。既存のモデルのス
キーマが変わった場合にはマイグレーション必須。
Eightではまだ既存のモデルのスキーマ変更を行ったことはないのでマイグレーション
対応はまだ行っていない。
が、マイグレーション処理がなくともスキーマversionを上げておくのはアリ
Unit Testdebugとは切り分けたデータを使いたい。
テスト毎にデータをtruncateしたい。
Unit TestAPI通信 -> データ生成のテストにはOHHTTPStubsを利用
Fixture通りのデータが正しく格納されていることと、データを正しく引けてる
ことをことをテストする。
Realmに今後期待すること
Nullサポート
モデル毎のデータ変更通知
※いずれも絶賛対応中とのこと!
Copyright © Sansan, Inc. All rights reserved.
0
Sansanは一緒に新しい価値を作っていく 仲間をさがしています。
Ruby, Ruby on Rails (Webアプリケーション)
C#,ASP.NET MVC (Webアプリケーション)
iOS / Android アプリ
- 個人向け名刺管理アプリ「Eight」 - 名刺データ化分散処理システム
- 法人向け名刺管理サービス「Sansan」
- 法人向け名刺管理サービス「Sansan」
- 個人向け名刺管理アプリ「Eight」
エンジニア募集中
Sansan 採用 検索
recruit@sansan.com まで お気軽にご連絡ください。
興味のある方は
top related