読者です 読者をやめる 読者になる 読者になる

koogawa log

iOS、Android、foursquareに関する話題

#realm_jp Realm meetup #8 参加メモ

realm 勉強会

f:id:koogawa:20151027234600j:plain

今日は Realm meetup #8 に参加してきました。

realm.connpass.com

レポーター枠ではなく、オーディエンス枠で参加したのですが、せっかくメモを取ったのでアップしておきます。(自分用なので読みにくい点はご容赦ください)

Realm Recent Updates

Realm岸川さん、山﨑さんによる発表。最近のアップデート内容。

f:id:koogawa:20151027234615j:plain

  • 山﨑誠(@zaki50)さんがRealmにJoin

    • 主にAndroidを中心に、Realmの開発と日本における利用を支援
  • Realm Java 0.83.0 リリース
  • Realm Java 0.84.0からは非同期クエリ・トランザクションの追加

  • 現在開発中

    • RxJava対応
    • New Migration API
  • Realm Objective-C/Swift 0.96.0 リリース。Javaと同じくNULLをサポート。※要マイグレーション

  • キーパス・コレクション・クエリ

    • KVC
    • realm.objects(Article).filter(“comments.@count > 0")
  • エラーハンドリングの改善

    • コミット時のエラーをキャッチできるように
  • 0.96.2リリース(10/27)
    • Xcode 7.1でビルド可能に
  • tvOS対応も進行中

    • 保存領域はそんなに大きくないけど、ダウンロードしたデータをキャッシュする用途等には有効

アプリ開発初心者によるRealm導入事例

渡辺龍司(@roworks)さん @ エキサイト株式会社

  • 導入のきっかけ
    • 開発ペースに勢いを感じた
    • ドキュメントがわかりやすい・日本語対応
    • CoreDataより学習コストが少ない
  • 苦労した点
    • 特定のオブジェクトだけ暗号化することができない
    • Realmのバージョンアップが頻繁にある(try文が入った時、泣きそうだった)
    • 開発中の構造変更
  • 今後の展開
  • 総括
    • 新規アプリの場合、積極的に検討スべき
    • 既存アプリでも影響範囲の少ない箇所から移行する価値あり
    • 驚くほど簡単に移行できた

日経電子版アプリが高速化のためにやったこと

武市大志さん @ 株式会社日本経済新聞社

  • 日経電子版アプリ
    • 2010年にリリース
    • 2015年4月にリニューアル
    • サーバサイドもaws
    • フロントサイドを外部メンターの力を借りつつ内製化
  • 現状の体制
    • PM1名
    • iOSエンジニア1名+メンター
    • Androidエンジニア1名+メンター
  • 日経電子版アプリが遅かった原因
    • 起動時に取得するデータ量が多い(画像も含めると32MB!)
    • 紐付けが多い
  • 速くするためにやったこと
    • 取得するデータ量を減らす
      • 画像は必要なときに都度取得
      • 使わないサイズの画像を取得しない
      • 32MB → 4K~7K まで落とすことに成功!!
    • jsonファイルを複数に分ける
    • データ階層をなるべくフラットにする
  • CoreData → Realmで短縮できた時間
    • 32秒→4秒!(iPhone4/iOS7で、ある日の朝刊を取得)