Slide 1

Slide 1 text

Realm Japan Meetup #2

Slide 2

Slide 2 text

https://github.com/kishikawakatsumi/ kishikawa katsumi http://kishikawakatsumi.hatenablog.com/

Slide 3

Slide 3 text

Recent Updates

Slide 4

Slide 4 text

Realm Java 0.80.1 (was 0.80.0)

Slide 5

Slide 5 text

Realm Java 0.80.1 • ιʔτͷύϑΥʔϚϯεͱɺจࣈྻͷΠϯαʔτͷ଎ ౓͕վળ • RealmQueryʹisNull()ͱisNotNull()ϝιου͕௥Ճ • ؔ࿈͕NULL͔ͱ͍͏৚݅ͰݕࡧͰ͖ΔΑ͏ʹ • ؔ࿈Ҏ֎ʹ͍ͭͯ͸ͦΕͧΕͷσʔλܕʢจࣈྻͳ ͲʣͷNULLαϙʔτ͕׬ྃޙ • Realm.deleteRealmFile(File)ϝιου͕௥Ճ͞Ε·͠ ͨ

Slide 6

Slide 6 text

Realm Java 0.80.1 • Realm.createOrUpdateWithJson()ϝιουʹΑͬ ͯอଘࡁΈͷΦϒδΣΫτΛߋ৽͢ΔࡍɺJSONʹ ରԠ͢ΔΩʔ͕ଘࡏ͠ͳ͍৔߹͸σϑΥϧτ஋͕ઃ ఆ͞Εͯ͠·͍ͬͯͨ໰୊Λमਖ਼ • https://github.com/realm/realm-java/issues/933 • ARM64༻ͷόΠφϦ͕ਖ਼͘͠ಉࠝ͞ΕΔΑ͏ʹ

Slide 7

Slide 7 text

uPhyca/stetho-realm

Slide 8

Slide 8 text

uPhyca/stetho-realm • stethoͰRealmͷσʔλΛݟΔ͜ͱ͕Ͱ͖Δ • https://github.com/uPhyca/stetho-realm

Slide 9

Slide 9 text

Realm Cocoa 0.91.3 (was 0.91.0)

Slide 10

Slide 10 text

Realm Cocoa 0.91.3 • RLMResultsͱRLMArrayͰKVCΛαϙʔτ • ιʔτͷύϑΥʔϚϯεͱ͕վળ • จࣈྻ·ͨ͸NSDataΛଞͷεϨου͔Βॻ͖ࠐ ΜͩࡍͷɺRLMRealmͷߋ৽଎౓͕޲্ • ΠϯσοΫεͷ௥Ճɾ࡟আ͕طଘͷΧϥϜʹͭ ͍ͯ΋ߦΘΕΔΑ͏ʹ

Slide 11

Slide 11 text

RLMCollection supports collection KVC operations if let posts = Post.objectsWithPredicate( NSPredicate(format: "active == FALSE")) as RLMResults? { realm.beginWriteTransaction() for postObj in posts { if let post = postObj as? Post { post.active = true } } realm.commitWriteTransaction() }

Slide 12

Slide 12 text

RLMCollection supports collection KVC operations let posts = Post.objectsWhere("active == FALSE") realm.transactionWithBlock { while posts.count > 0 { if let post = posts.firstObject() as? Post { post.active = true } } }

Slide 13

Slide 13 text

RLMCollection supports collection KVC operations let posts = Post.objectsWhere("active == FALSE") realm.transactionWithBlock { posts.setValue(false, forKey: "active") }

Slide 14

Slide 14 text

NULL Support BETA

Slide 15

Slide 15 text

NULL Support BETA Cocoa൛ͷRealmͰɺNULLϓϩύςΟͷαϙʔτʹ͍ͭͯϕʔλςετΛ࣮ࢪ͠·͢ɻ https://github.com/realm/realm-cocoa/issues/628#issuecomment-94050752 ·ͣɺRealm Core Null v1ͱ໊෇͚ΒΕͨ͜ͷβόʔδϣϯͰ͸·ͩNULLϓϩύςΟ͸ར༻Ͱ͖·ͤΜɻ͔͠ ͠ɺطଘͷRealmϑΝΠϧΛNULLΛαϙʔτ͢Δ৽͍͠ϑΝΠϧܗࣜʹࣗಈతʹߋ৽͠·͢ɻ ͜Ε͸࣍ͷv2ϑΣʔζʹਐΉͨΊͷඇৗʹॏཁͳ޻ఔͰ͢ɻ ϕʔλςελʔͷํʹΑΔ֬ೝΛܦΔ͜ͱͳ͘ɺNULLจࣈྻͷαϙʔτͷػೳΛϦϦʔε͢Δ͜ͱ͸͋Γ· ͤΜɻจࣈྻҎ֎ͷܕʹ͍ͭͯ͸ͦͷޙʹॱ࣍αϙʔτ͞ΕΔ༧ఆͰ͢ɻ ΋͠໰୊Λݟ͚ͭͨ࣌͸ͲΜͳখ͞ͳ͜ͱͰ΋ڭ͍͑ͯͩ͘͞ɻ໰୊ͷใࠂ͸Github IssuesͰड͚෇͚͍ͯ· ͢ɻ https://github.com/realm/realm-cocoa/issues ใࠂͷࡍʹ͸ɺ“null beta”Λར༻͍ͯ͠Δ͜ͱΛʮඞͣʯॻ͍͍ͯͩ͘͞ɻ NULLαϙʔτؚ͕·ΕͨRealm Core͸ҎԼͷURL͔Βμ΢ϯϩʔυ͢Δ͜ͱ͕Ͱ͖·͢ɻ https://static.realm.io/downloads/core/realm-core-null-v1.zip

Slide 16

Slide 16 text

NULL Support BETA # ಋೖͷํ๏ʹ͍ͭͯ ## Realm.frameworkΛιʔείʔυ͔ΒϏϧυͯ͠ར༻͍ͯ͠Δ৔߹ 1. https://github.com/realm/realm-cocoa ͷmaster͔ΒιʔείʔυΛऔಘ͠·͢ 2. CoreͷϥΠϒϥϦʢcore-0.89.0σΟϨΫτϦʹ͋Γ·͢ʣΛ্هͷzipΞʔΧΠϒͷ಺༰ͱೖΕସ͑·͢ 3. Realm.frameworkΛ࠶Ϗϧυ͠·͢ ## CocoaPodsΛར༻͍ͯ͠Δ৔߹ 1. CoreͷϥΠϒϥϦʢPods/Realm/coreʣΛ্هͷzipΞʔΧΠϒͷ಺༰ͱೖΕସ͑·͢ ## realm.ioͷτοϓϖʔδ͔Βμ΢ϯϩʔυͰ͖ΔzipϑΝΠϧʢϏϧυࡁΈϑϨʔϜϫʔΫʣΛར༻͍ͯ͠ Δ৔߹ ϏϧυࡁΈϑϨʔϜϫʔΫ͸ίΞΛೖΕସ͑ͯ࠶Ϗϧυ͢Δ͜ͱ͕Ͱ͖·ͤΜͷͰɺ࣍ʹϦϦʔε͞ΕΔϏ ϧυࡁΈϑϨʔϜϫʔΫͷϕʔλϦϦʔεΛ͓଴͍ͪͩ͘͞ɻ

Slide 17

Slide 17 text

NULL Support BETA • ࣮ࡍͷΞϓϦέʔγϣϯͰςετͯͩ͘͠͞ ͍ • ໰୊͕͋ͬͨΓɺ͓͔͠ͳಈ࡞ʹؾ෇͍ͨΒ ڭ͍͑ͯͩ͘͞ • ࣍ͷεςοϓʹਐΉͨΊʹΈͳ͞Μͷڠྗ͕ ඞཁͰ͢

Slide 18

Slide 18 text

RealmSwift (Soon!)

Slide 19

Slide 19 text

RealmSwift let realm = RLMRealm.defaultRealm() realm.beginWriteTransaction() realm.addObject(mydog) realm.commitWriteTransaction() let allDogs = Dog.allObjects() for dog in allDogs { let dog = dog as! Dog let ownerNames = dog.owners.map { $0.name } println("\(dog.name)") }

Slide 20

Slide 20 text

RealmSwift let realm = Realm() realm.write { realm.create(Person.self, value: ["John", [["Fido", 1]]]) realm.create(Person.self, value: ["Mary", [["Rex", 2]]]) } // Log all dogs and their owners using the "owners" inverse relationship let allDogs = realm.objects(Dog) for dog in allDogs { let ownerNames = dog.owners.map { $0.name } println("\(dog.name)") }

Slide 21

Slide 21 text

Apps with Realm

Slide 22

Slide 22 text

Apps with Realm

Slide 23

Slide 23 text

Apps with Realm

Slide 24

Slide 24 text

Where to find us • Realm Japan User Group: facebook.com/groups/realmjp • Twitter: twitter.com/realm • GitHub: github.com/realm • StackOverflow: ja.stackoverflow.com/questions/tagged/realm • Email: [email protected] • Slack: slack.realm.io/

Slide 25

Slide 25 text

Next Meetup • 5/21 • 19:00ʙ • Sansanגࣜձࣾ