Slide 1

Slide 1 text

Realm Japan Meetup #15 (Java)

Slide 2

Slide 2 text

Makoto Yamazaki twitter: @zaki50 https://github.com/zaki50 Realm

Slide 3

Slide 3 text

#realm_jp

Slide 4

Slide 4 text

Recent Updates

Slide 5

Slide 5 text

Realm Java 1.0.0 (was 0.88.3)

Slide 6

Slide 6 text

Realm Java 0.89.0(ඇޓ׵ͳมߋ) w !1SJNBSZ,FZ͕҉໧తʹOVMMෆՄͰ͋ͬͨͷΛɺOVMMՄʹมߋ͠·ͨ͠ɻ w +BWBతʹOVMM͕୅ೖͰ͖Δܕͷ৔߹͸!3FRVJSFEΛ෇͚Δ͔ϚΠάϨʔγϣϯͰ 3FBMN0CKFDU4DIFNBTFU/VMMBCMF ΛݺͿ͔ͷ͍ͣΕ͔͕ඞཁ  ɻ w 3FBMN3FTVMUTTPSU ɺ3FBMN-JTUTPSU ͸ΦϒδΣΫτࣗ਎ͷιʔτΛมߋ͢ΔͷͰ͸ͳ͘ɺιʔτ͕ ࢦఆ͞Εͨ৽ͨͳΦϒδΣΫτΛฦ͠·͢ɻ w 3FBMNSFGSFTI ͱ%ZOBNJD3FBMNSFGSFTI ͸-PPQFSεϨουͰ͸Կ΋ߦ͍·ͤΜɻଞͷεϨου Ͱͷมߋͷ൓ө͸ৗʹ࣍ͷΠϕϯτϧʔϓͰߦΘΕ·͢ɻ w 3FBMN3FTVMUTDMFBS ͸6OTVQQPSUFE0QFSBUJPO&YDFQUJPOΛεϩʔ͠·͢ɻ 3FBMN3FTVMUTEFMFUF"MM'SPN3FBMN Λ࢖༻͍ͯͩ͘͠͞ɻ w 3FBMN3FTVMUTSFNPWF JOU ͸6OTVQQPSUFE0QFSBUJPO&YDFQUJPOΛεϩʔ͠·͢ɻ 3FBMN3FTVMUTEFMFUF'SPN3FBMN JOU Λ࢖༻͍ͯͩ͘͠͞ɻ w 3FBMN-JTU͕ۭͷ৔߹ɺ3FBMN-JTUpSTU ͱ3FBMN-JTUMBTU ͸"SSBZ*OEFY0VU0G#PVOET&YDFQUJPOΛεϩʔ ͠·͢ɻ w ඇਪ঑ͱͳ͍ͬͯͨ3FBMNHFU5BCMF Λ࡟আ͠·ͨ͠ɻ

Slide 7

Slide 7 text

Realm Java 0.89.0(৽ػೳ) w 3FBMN0CKFDUΛܧঝ͢ΔҎ֎ʹ΋ɺ3FBMN.PEFMΛ࣮૷͢Δํ๏ͰϞσ ϧΫϥεΛఆٛͰ͖ΔΑ͏ʹͳΓ·ͨ͠ɻ w 3FBMN$PMMFDUJPOͱ0SEFSFE3FBMN$PMMFDUJPOΠϯλϑΣʔεΛಋೖ͠· ͨ͠ɻ3FBMN-JTUͱ3FBMN3FTVMUT͕࣮૷͍ͯ͠·͢ɻ w 3FBMN#BTF"EBQUFS͸3FBMN3FTVMUTͰ͸ͳ͘0SEFSFE3FBMN$PMMFDUJPO Λѻ͏Α͏ʹͳΓ·ͨ͠ɻ w 3FBMN0CKFDU4DIFNBJT1SJNBSZ,FZ 4USJOH ϝιουΛ௥Ճ͠·ͨ͠ɻ   w ॳظσʔλੜ੒༻ʹ3FBMN$POpHVSBUJPOJOJUJBM%BUB 3FBMN5SBOTBDUJPO ͕௥Ճ͞Ε·ͨ͠ɻ

Slide 8

Slide 8 text

Realm Java 0.89.0(ඇਪ঑) w 3FBMN0CKFDUSFNPWF'SPN3FBMN ˠEFMFUF'SPN3FBMN  w 3FBMNDMFBS $MBTT ˠEFMFUF $MBTT  w %ZOBNJD3FBMNDMFBS $MBTT ˠEFMFUF $MBTT 

Slide 9

Slide 9 text

Realm Java 0.89.0(όάϑΟοΫε) w 3FBMN0CKFDU4DIFNBJT3FRVJSFE 4USJOH ͱ 3FBMN0CKFDU4DIFNBJT/VMMBCMF 4USJOH ʹଘࡏ͠ͳ͍ϑΟʔϧ υ໊Λ౉ͨ͠ࡍʹɺྫ֎͕εϩʔ͞Εͳ͍όάΛमਖ਼͠·ͨ͠ɻ

Slide 10

Slide 10 text

Realm Java 0.89.1(όάϑΟοΫε) w !1SJNBSZ,FZͱ!3FRVJSFEΛ4USJOHܕͷϑΟʔϧυʹ෇༩͢Δ ͱɺDPQZ5P3FBMN ͱDPQZ5P3FBMN0S6QEBUF Ͱྫ֎͕εϩʔ ͞ΕΔόάΛमਖ਼͠·ͨ͠ɻ   w 3FBMN4DIFNBSFNPWF 3FBMN4DIFNBSFOBNF ΛݺΜͩࡍ ʹɺϓϥΠϚϦΩʔͷ৘ใ͕ߋ৽͞Εͳ͍όάΛमਖ਼͠·ͨ͠ɻ   w 3FBMN.PEFMΛ࣮૷ͨ͠Ϋϥε͕ؔ࿈Ͱ࢖༻Ͱ͖ͳ͍όάΛमਖ਼ ͠·ͨ͠ɻ 

Slide 11

Slide 11 text

Realm Java 0.90.0(ඇޓ׵ͳมߋ) w 3FBMN$IBOHF-JTUFOFSPO$IBOHF ͕ɺมߋ͞ΕͨΦϒδΣΫτΛҾ͖਺Ͱड͚औΔΑ͏ʹͳΓ ·ͨ͠ɻ   w +40/ؔ࿈ͷϝιου͸ɺ+40/&YDFQUJPOͷΈΛ3FBMN&YDFQUJPOʹϥοϓ͠ɺͦΕҎ֎͸ͦͷ· ·εϩʔ͢ΔΑ͏ʹมߋ͞Ε·ͨ͠ɻ w ܧঝ͞ΕΔ͜ͱΛҙਤ͍ͯ͠ͳ͍ΫϥεɺΦʔόʔϥΠυ͞ΕΔ͜ͱΛҙਤ͍ͯ͠ͳ͍ϝιουΛ ͢΂ͯpOBMʹ͠·ͨ͠ɻ   w #BTF3FBMNΫϥεΛ"1*͔Β࡟আ͠·ͨ͠ɻ w )BOEMFS$POUSPMMFSΫϥεΛ"1*͔Β࡟আ͠·ͨ͠ɻ w 3FBMN"TZOD5BTLΫϥεͷίϯετϥΫλΛ"1*͔Β࡟আ͠·ͨ͠ɻ   w 3FBMN#BTF"EBQUFSΛಠཱͨ͠ϥΠϒϥϦͰ഑෍͢ΔΑ͏ʹมߋ͠·ͨ͠ɻIUUQTHJUIVCDPN SFBMNSFBMNBOESPJEBEBQUFST w 3FBM̼σʔλϕʔεϑΝΠϧͷϑΥʔϚοτ͕มߋ͞Ε͍ͯ·͢ɻม׵͸ॳճར༻࣌ʹࣗಈతʹߦ ΘΕ·͢ɻม׵ޙ͸ݹ͍όʔδϣϯͷ3FBMNͰ͸։͚·ͤΜɻ

Slide 12

Slide 12 text

Realm Java 0.90.0(৽ػೳ) w %BUFܕͷϑΟʔϧυ͕ϛϦඵਫ਼౓Ͱѻ͑ΔΑ͏ʹͳΓ·ͨ͠ ಺෦తʹ͸φϊ ඵਫ਼౓ ɻ   w ϓϥΠϚϦΩʔͷ஋Λࢦఆͯ͠ΦϒδΣΫτΛ࡞੒͢Δ 3FBMNDSFBUF0CKFDU $MBTT 0CKFDU Λ௥Ճ͠·ͨ͠ɻ w 3FBMNXBJU'PS$IBOHF TUPQ8BJU'PS$IBOHF ͱ %ZOBNJD3FBMNXBJU'PS$IBOHF TUPQ8BJU'PS$IBOHF Λಋೖ͠·͠ ͨɻ   w 3FBMN0CKFDU4DIFNBHFU1SJNBSZ,FZ Λ௥Ճ͠·ͨ͠ɻ   w ϚΠάϨʔγϣϯΦϒδΣΫτͷෆҰகʹΑΓ3FBMNΠϯελϯε͕औಘͰ͖ ͳ͍৔߹ʹɺFRVBMT ͱIBTI$PEF ͕ద੾ʹΦʔόʔϥΠυ͞Ε͍ͯͳ͍Մೳ ੑΛܯࠂ͢ΔΑ͏ʹ͠·ͨ͠ɻ

Slide 13

Slide 13 text

Realm Java 0.90.0(ඇਪ঑) w 3FBMNBMM0CKFDUT ˠXIFSF $MBTT pOE"MM  w 3FBMNEJTUJODU ˠXIFSF $MBTT EJTUJODU  w %ZOBNJD3FBMNBMM0CKFDUT ˠXIFSF 4USJOH pOE"MM  w %ZOBNJD3FBMNEJTUJODU ˠXIFSF 4USJOH EJTUJODU  w 3FBMNBMM0CKFDUT4PSUFE pFME TPSU pFME TPSU pFME TPSU ˠpOE"MM4PSUFE pFME<> TPSU<>  w 3FBMN2VFSZpOE"MM4PSUFE pFME TPSU pFME TPSU pFME TPSU ˠpOE"MM4PSUFE pFME<> TPSU<>  w 3FBMN2VFSZpOE"MM4PSUFE"TZOD pFME TPSU pFME TPSU pFME TPSU ˠpOE"MM4PSUFE"TZOD pFME<> TPSU<>  w 3FBMN$POpHVSBUJPOTFU.PEVMFT ˠNPEVMFT  w 3FBMNSFGSFTI ˠXBJU'PS$IBOHF TUPQ8BJU'PS$IBOHF  w %ZOBNJD3FBMNSFGSFTI ˠXBJU'PS$IBOHF TUPQ8BJU'PS$IBOHF

Slide 14

Slide 14 text

Realm Java 0.90.0(όάϑΟοΫε) w DPQZ5P3FBMN0S6QEBUF ͕ฦ͢ΦϒδΣΫτʹηοτͨ͠ 3FBMN$IBOHF-JTUFOFS͕ݺ͹Εͳ͍όάΛमਖ਼͠·ͨ͠ɻ 

Slide 15

Slide 15 text

Realm Java 0.90.1(όάϑΟοΫε) w 3FBMNͷΦʔϓϯͱΫϩʔζ͕ڝ߹͢ΔόάΛमਖ਼͠·ͨ͠ɻ w ϑΝΠϧϑΥʔϚοτߋ৽͕ಛఆͷঢ়گͰΫϥογϡ͢ΔόάΛ मਖ਼͠·ͨ͠ɻ w ඇಉظܥͷ"1*࢖༻࣌ʹڝ߹͕ൃੜ͢ΔόάΛमਖ਼͠·ͨ͠ɻ   w BOESPJEKBSʹؚ·ΕΔΫϥε΍ΞϊςʔγϣϯΛ࢖༻͍ͯ͠ΔΫ ϥεͰ$BOOPU$PNQJMF&YDFQUJPO͕ൃੜ͢ΔόάΛमਖ਼͠·͠ ͨɻ 

Slide 16

Slide 16 text

Realm Java 0.91.0(ඇޓ׵ͳมߋ) w ඇਪ঑ͱͳ͍ͬͯͨ͢΂ͯͷ"1*Λ࡟আ͠·ͨ͠ɻ w ඇ-PPQFSεϨουͰ3FBMNTFU"VUP3FGSFTI ΍ %ZOBNJD3FBMNTFU"VUP3FGSFTI Λݺͼग़ͨ͠৔߹ɺҾ͖਺ ͕GBMTFͰ͋ͬͯ΋*MMFHBM4UBUF&YDFQUJPOΛεϩʔ͢ΔΑ͏ʹ͠ ·ͨ͠ɻ 

Slide 17

Slide 17 text

Realm Java 0.91.0(৽ػೳ) w 0QFO44-ΛUʹߋ৽͠·ͨ͠ɻ IUUQT TVQQPSUHPPHMFDPNGBRTBOTXFS   w 3FBMN$POpHVSBUJPO#VJMEFSBTTFU'JMF Λ௥Ճ͠·ͨ͠ɻॳظ σʔλϕʔεϑΝΠϧΛBTTFUT͔Βίϐʔ͠·͢ɻ

Slide 18

Slide 18 text

Realm Java 0.91.0(όάϑΟοΫε) w ࡟আࡁΈͷΦϒδΣΫτΛؚΉ3FBMN3FTVMUTʹରͯ͠ EFMFUF"MM'SPN3FBMN ΛݺͿͱΫϥογϡ͢ΔόάΛमਖ਼͠·͠ ͨɻ   w 3FBMNBEE$IBOHF-JTUFOFS ͱ3FBMNSFNPWF$IBOHF-JTUFOFS ʹOVMMΛ౉ͨ͠ࡍʹྫ֎Λεϩʔ͢ΔΑ͏ʹ͠·ͨ͠ɻ   w 3FBMN0CKFDU4DIFNBBEE1SJNBSZ,FZ SFNPWF1SJNBSZ,FZ Ͱɺ ซͤͯΠϯσοΫεͷॲཧ΋ߦ͏Α͏ʹ͠·ͨ͠ɻ   w 3FBMNEFMFUF3FBMN Ͱɺؔ࿈ϑΝΠϧ͕࡟আ͞Εͣʹ࢒ͬͯ͠· ͏όάΛमਖ਼͠·ͨ͠ɻ 

Slide 19

Slide 19 text

Realm Java 0.91.1(όάϑΟοΫε) w 3FBMNͷΦʔϓϯʹࣦഊͨ͠ࡍʹɺෆਖ਼ͳϝϞϦϚϓ͕࢒ͬͯ͠ ·͍Τϥʔ͕ൃੜ͢ΔόάΛमਖ਼͠·ͨ͠ɻ

Slide 20

Slide 20 text

Realm Java 1.0.0 w /PDIBOHFTTJODF

Slide 21

Slide 21 text

waitForChange() ଞͷεϨουͰมߋ͕DPNNJU͞ΕΔ·ͰϒϩοΫ͠·͢ɻ -PPQFSεϨουͰ͸࢖͑·ͤΜɻ CPPMFBOVQEBUFESFBMNXBJU'PS$IBOHF  JG VQEBUFE \ ԿΒ͔ͷߋ৽͕͋Γɺ3FBMN0CKFDU౳͕ߋ৽͞Εͨ࣌ͷॲཧ ^FMTF\ TUPQ8BJU'PS$IBOHF ͰΩϟϯηϧ͞Εͨ࣌ͷॲཧ ^

Slide 22

Slide 22 text

RealmObjectܧঝറΓͷഇࢭ w 3FBMN.PEFMJOUFSGBDFΛ࣮૷͢Δ͜ͱ΋ڐ͞ΕΔ w !3FBMN$MBTTΞϊςʔγϣϯ΋ඞཁ w PCKJT7BMJE 3FBMN0CKFDUJT7BMJE PCK

Slide 23

Slide 23 text

RealmObjectܧঝറΓͷഇࢭ !3FBMN$MBTT QVCMJDDMBTT'PPJNQMFNFOUT3FBMN.PEFM\ QSJWBUF4USJOHOBNF QVCMJD4USJOHHFU/BNF \ SFUVSOOBNF ^ QVCMJDWPJETFU/BNF 4USJOHOBNF \ UIJTOBNFOBNF ^ ^

Slide 24

Slide 24 text

bit.ly/RealmJP_15 ୹͍Ξϯέʔτʹ͝ڠྗ͍ͩ͘͞

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

Realm Japan User Group " facebook.com/groups/realmjp

Slide 27

Slide 27 text

Public Realm Slack " slack.realm.io/

Slide 28

Slide 28 text

Official Twitter/Facebook twitter.com/realmJapan facebook.com/655569387879379

Slide 29

Slide 29 text

Official Web site realm.io/jp