Realm Meetup #15に参加しました
先日、Sansanさんで行われたRealm Meetup #15に 参加させていただきました。 今回は、リリースされたばかりの1.0.0までの変更の振り返りと、@ikesyoさんによる、ReactiveCocoaのお話を聞くことができました。 ikesyoさんは、try!swiftでも初日のトップバッターとして、「Swiftのエコシステムに飛び込む」というタイトルで登壇されており(もう三ヶ月前なんですね。懐かしい、、、)、ReactiveCocoa、Carthage、Himotokiなどのコミッターとしても有名です。
以下、簡単ですが個人的なメモ残しておきます。
realm-cocoa
- 残念ながらカスケーディングの削除、オートインクリメントは入っていない
0.98.8
- fine-grained notifications 何が変更されたか、分かるようになった
objc swift 0.100.0
- 逆方向の関連のプロパティ化
- クエリの検索条件にはいるようになった
objC swift 0.101.0
swift objc 0.102.0
- プロパティ名を変更するマイグレーションのサポート
- Migration.remnemePropertyForClass(_:)
- マイグレーションが必要な場合にファイルを削除して再生成するオプションがついた
0.103.0 swift/objc
- 非推奨のAPIと機能の削除
- Xcode6.xとswoft2.1以前のサポートを削除
1.0.0 objc/swift
- 安定して、使っていただけます!
マグレーションのまとめ
- マイグレーションが必要
- プロパティの追加・削除
- プロパティの名前変更
- プロパティのNULL可・不可の変更
- プライマリキーの変更
- マイグレーション不要
- クラスの追加・削除
- インデックスの追加・削除
- 自動マイグレーション
WWDC期間中にRealmさんイベント
- Swift Panel
- 6/13 18:30〜
- NSHipster
- 6/14 18:30〜
- Realm 1.0 Laouch party
- 6/16 18:00〜
- サンフランシスコに行く人は、岸川さんにメンションを送ると参加できるかも?
realm-java
0.89.0
- nullを許容
- 新機能
- RealModelを実装する方法でモデルクラスを定義できるようになった
- 非推奨
- RealmObject.removeFromRealm() - > deleteFromRealm()
- Realm.clear(Class) - > delete(Class)
- DynamicRealm.clear(Class) - > delete(Class)
0.90
- 非互換の変更
- iOS同様、日付のフォーマットの変更
- 新機能
- Date型のフィールドがミリ秒精度で扱える様になった
- Realm.waitorChange()/stopWaitorChange()を導入(#2386)
- バグフィックス
0.90.1
0.91.0
- 非推奨のAPIを削除(この間1週間!!)
- 新機能
- OpenSSLを1.0.1tに更新
ReactiveCocoa and its Recent State
- RuiAAPeresがjoinしてから、活動が活発になった
- Objc/Swiftプロジェクト分ける:ReactiveSwift + UI Bindings
- RxSwiftのhotとcoldをReactiveCocoaはSignal/SignalProducerに型で分離してる
- RxSwiftはCommunityがあって、ReactiveCocoaもそれを参考にしている
- 非同期処理が定型化(delegate,target-action,callbackといろいろやり方があるのを1つの方法にまとめられる)flatMapよい
- 同期処理のラップ、非同期処理との連携をflatMapで同じ階層で処理できる
- 型付けされたエラー
感想
Realmはバージョン1.0.0がリリースになり、安心して使用できるようになった感じがしました。実際に業務では使用した事はないのですが、これを気に使ったみて共有できればなと思います。 最後までお読みいただき、ありがとうございました。 指摘等あれば、教えていただけるとうれしいです。