Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Realm Java updates March 2016

zaki50
March 14, 2016

Realm Java updates March 2016

zaki50

March 14, 2016
Tweet

More Decks by zaki50

Other Decks in Technology

Transcript

  1. Realm Java 0.88.0(ඇޓ׵ͳมߋ1) w (SBEMFϓϥάΠϯΛ࢖༻͢Δઃఆ΁มߋ͢Δඞཁ͕͋Γ·͢ɻ w \3FBMN %ZOBNJD3FBMN^FYFDVUF5SBOTBDUJPO ͸ɺτϥϯβΫγϣ ϯϒϩοΫͰൃੜ࣮ͨ͠ߦ࣌ྫ֎Λ3FBMN&YDFQUJPOͰϥοϓͤͣ

    ʹͦͷ··εϩʔ͠·͢ɻ   w \3FBMN %ZOBNJD3FBMN^FYFDVUF5SBOTBDUJPO ʹOVMMΛ౉͢ͱ *MMFHBM"SHVNFOU&YDFQUJPOΛεϩʔ͠·͢ɻ w ෆਖ਼ͳαϩήʔτϖΞΛؚΉจࣈྻΛTFUUFSʹ౉ͨ͠৔߹ʹεϩʔ ͞ΕΔྫ֎͕3FBMN&SSPS͔Β*MMFHBM"SHVNFOU&YDFQUJPOʹมߋ͞ Ε·͢ɻ
  2. ϓϩδΣΫτͷηοτΞοϓํ๏ͷมߋ CVJMETDSJQU\ SFQPTJUPSJFT\ KDFOUFS  ^ EFQFOEFODJFT\ DMBTTQBUIJPSFBMNSFBMNHSBEMFQMVHJO ^ ^

    BQQMZQMVHJOSFBMNBOESPJE SFQPTJUPSJFT\ KDFOUFS  ^ EFQFOEFODJFT\ DPNQJMFJPSFBMNSFBMNBOESPJE ^ CFGPSF BGUFS CVJMETDSJQU\ SFQPTJUPSJFT\ KDFOUFS  ^ EFQFOEFODJFT\ DMBTTQBUIJPSFBMNSFBMNHSBEMFQMVHJO ^ ^ BQQMZQMVHJOSFBMNBOESPJE SFQPTJUPSJFT\ KDFOUFS  ^ EFQFOEFODJFT\ DPNQJMFJPSFBMNSFBMNBOESPJE ^ IUUQTSFBMNJPKQOFXTBOESPJEJOTUBMMBUJPODIBOHF
  3. executeTransaction()ʹ͍ͭͯ 3FBMNSFBMN USZ\ SFBMNFYFDVUF5SBOTBDUJPO OVMM  ^DBUDI *MMFHBM"SHVNFOU&YDFQUJPOF \ ͔Β͸ྫ֎͕εϩʔ͞ΕΔ

    ^ 3FBMNSFBMN USZ\ SFBMNFYFDVUF5SBOTBDUJPO SFBMN\ UISPXOFX.Z3VOUJNF&YDFQUJPO  ^  3FBMN&YDFQUJPOʹ͸ϥοϓ͞Εͳ͘ͳΔ ^DBUDI .Z3VOUJNF&YDFQUJPOF \ ྫ֎ʹର͢Δॲཧ ^
  4. ෆਖ਼ͳαϩήʔτϖΞ 3FBMNSFBMN USZ\ SFBMNFYFDVUF5SBOTBDUJPO SFBMN\ .PEFMNSFBMNDSFBUF0CKFDU .PEFMDMBTT  NTFU/BNF TVCTUSJOH

      ^  3FBMN&SSPSͰ͸ͳ͘ͳΓ·ͨ͠ ^DBUDI *MMFHBM"SHVNFOU&YDFQUJPOF \ ྫ֎ʹର͢Δॲཧ ^
  5. Realm Java 0.88.0(ඇޓ׵ͳมߋ2) w ΠϯσοΫε͕࡞੒͞Ε͍ͯͳ͔ͬͨΓର৅ʹͰ͖ͳ͍ܕͷϑΟʔϧυʹରͯ͠ %ZOBNJD3FBMNEJTUJODU EJTUJODU"TZOD ɺ3FBMNEJTUJODU EJTUJODU"TZOD Λݺͼग़ͨ͠৔߹ɺ6OTVQQPSUFE0QFSBUJPO&YDFQUJPOͰ͸ͳ͘

    *MMFHBM"SHVNFOU&YDFQUJPOΛεϩʔ͠·͢ɻ w $IBOHF-JTUFOFS͕ొ࿥͞ΕͨεϨουͱಉ͡εϨουͰมߋΛDPNNJUͨ͠৔߹ɺ ͍··Ͱ͸ଈ࠲ʹϦεφʔ͕ݺ͹Ε͍ͯ·͕ͨ͠ɺ-PPQFSͷͷ࣍ͷΠϕϯτॲཧ ·Ͱ஗Ԇ͞ΕΔΑ͏ʹͳΓ·͢ɻ w ͰEFQSFDBUFEʹͳ͍ͬͯͨ3FBMN$POpHVSBUJPOHFU4DIFNB.FEJBUPS Λ࡟আ͠·ͨ͠ɻϞσϧΫϥεҰཡΛऔಘ͢Δ৔߹͸ 3FBMN$POpHVSBUJPOHFU3FBMN0CKFDU$MBTTFT Λ࢖༻͍ͯͩ͘͠͞ɻ 
  6. ಉҰεϨουͰͷϦεφʔൃՐλΠϛϯά SFBMNCFHJO5SBOTBDUJPO  .PEFMNPEFMSFBMNDSFBUF0CKFDU "MM5ZQFTDMBTT  SFBMNDPNNJU5SBOTBDUJPO  NPEFMBEE$IBOHF-JTUFOFS OFX3FBMN$IBOHF-JTUFOFS

    \ !0WFSSJEF QVCMJDWPJEPO$IBOHF \ 4ZTUFNPVUQSJOUMO MJTUFOFSDBMMFE  ^ ^  SFBMNCFHJO5SBOTBDUJPO  NPEFMTFU/BNF *DIJSP  SFBMNDPNNJU5SBOTBDUJPO 
  7. Observableͷunsubscribe QSJWBUF$PNQPTJUF4VCTDSJQUJPOTVCTDSJQUJPOT !0WFSSJEF QSPUFDUFEWPJEPO3FTVNF \ TVQFSPO3FTVNF  TVCTDSJQUJPOTOFX$PNQPTJUF4VCTDSJQUJPO  ^

    QSJWBUFWPJERVFSZ \ pOBM3FBMN3FTVMUT.PEFMSFTVMUSFBMNBMM0CKFDUT .PEFMDMBTT  pOBM0CTFSWBCMF3FBMN3FTVMUT.PEFMPCTFSWBCMF PCTFSWBCMFSFTVMUBT0CTFSWBCMF  TVCTDSJQUJPOTBEE PCTFSWBCMFTVCTDSJCF SFTVMU\ ݕࡧ݁Ռ͕มΘͬͨࡍͷॲཧ ^  ^ !0WFSSJEF QSPUFDUFEWPJEPO1BVTF \ TVQFSPO1BVTF  TVCTDSJQUJPOTVOTVCTDSJCF  ^
  8. Realm Java 0.88.0(ഇࢭ༧ఆ) w 3FBMNHFU*OTUBODF $POUFYU  w 3FBMNHFU*OTUBODF 3FBMN$POpHVSBUJPO

     w 3FBMNHFU%FGBVMU*OTUBODF  w 3FBMNHFU5BCMF $MBTT  w 3FBMNHFU4DIFNB  w %ZOBNJD3FBMNHFU4DIFNB  w 3FBMNFYFDVUF5SBOTBDUJPO 5SBOTBDUJPO $BMMCBDL  w 3FBMNFYFDVUF5SBOTBDUJPO"TZOD 5SBOTBDUJPO  w 3FBMNFYFDVUF5SBOTBDUJPO"TZOD 5SBOTBDUJPO 0O4VDDFTT  w 3FBMNFYFDVUF5SBOTBDUJPO"TZOD 5SBOTBDUJPO 0O&SSPS  w 3FBMNFYFDVUF5SBOTBDUJPO"TZOD 5SBOTBDUJPO 0O4VDDFTT 0O&SSPS 
  9. Realm.getInstance() ʹ͍ͭͯ ಺෦తʹɺ3FBMN$POpHVSBUJPO͸FRVBMT Ͱൺֱ͞ΕΔ͕ɺ .JHSBUJPO΍3Y0CTFSWBCMF'BDUPSZ͕ҟͳΔ΋ͷͱΈͳ͞Εͯ͠·͏ 3FBMNHFU*OTUBODF 3FBMN$POpHVSBUJPO ΛݺͿࡍ͸ ຖճ3FBMN$POpHVSBUJPOΛ࡞Γͳ͓͢ͷ͸ආ͚Δ !0WFSSJEF

    QVCMJDCPPMFBOFRVBMT 0CKFDUPCK \  JG NJHSBUJPOOVMM NJHSBUJPOFRVBMT UIBUNJHSBUJPO UIBUNJHSBUJPOOVMM SFUVSOGBMTF JG SY0CTFSWBCMF'BDUPSZFRVBMT UIBUSY0CTFSWBCMF'BDUPSZ SFUVSOGBMTF SFUVSOTDIFNB.FEJBUPSFRVBMT UIBUTDIFNB.FEJBUPS  ^ ^
  10. Realm Java 0.88.0(৽ػೳ1) w ϞσϧΫϥε಺Ͱͷ੍ݶࣄ߲ͷେ෯؇࿨ BLB#FUUFS0CKFDUT   w QSPKFDU-PNCPLͱ૊Έ߹Θͤͯ࢖͑ΔΑ͏ʹͳΓ·ͨ͠ɻ

      w 3FBMN2VFSZJT/PU&NQUZ Λ௥Ճ͠·ͨ͠ɻ   w 3FBMNEFMFUF"MM ͱ3FBMN-JTUEFMFUF"MM'SPN3FBMN Λ௥Ճ͠·ͨ͠ɻ   w 3FBMN2VFSZEJTUJODU ͱ3FBMN3FTVMUTEJTUJODU Λ௥Ճ͠·ͨ͠ɻ   w 3FBMN2VFSZEJTUJODU"TZOD ͱ3FBMN3FTVMUTEJTUJODU"TZOD Λ௥Ճ ͠·ͨ͠ɻ 
  11. Realm Java 0.88.0(৽ػೳ2) w 3F-JOLFSϥΠϒϥϦΛ࢖ͬͯTPϑΝΠϧͷϩʔυͷ৴པੑΛߴΊ·ͨ͠ɻ w 3FBMN-JTUDPOUBJOT ͷύϑΥʔϚϯε͕޲্͠·ͨ͠ɻ  

    w \3FBMN %ZOBNJD3FBMN 3FBMN2VFSZ 3FBMN3FTVMUT^EJTUJODU  Ͱෳ਺ͷ ϑΟʔϧυΛࢦఆͰ͖ΔΑ͏ʹͳΓ·ͨ͠ɻ   w ϞσϧΫϥεͰSFBMN΍SPXͱ͍͏໊લͷϑΟʔϧυΛ΋ͯΔΑ͏ʹͳΓ ·ͨ͠ɻ   w 3FBMN3FTVMUTͷཁૉ਺͕*OUFHFS."9@7"-6&Ҏ্ͷ৔߹ɺTJ[F ϝιο υ͸ৗʹ*OUFHFS."9@7"-6&Λ͔͑͢Α͏ʹͳΓ·͢ɻ   w 3FBMN+BWBͷ""3ʹؚ·ΕΔϚχϑΣετϑΝΠϧ͔ΒBMMPX#BDLVQͷ هड़Λ࡟আ͠·ͨ͠ɻ  
  12. Realm Java 0.88.0(όάϑΟοΫε1) w VOJUUFTU&YBNQMFͷςετ͕ࣦഊ͢ΔόάΛमਖ਼ɻ   w +TPO&YBNQMFͰ+40/จࣈྻʹޡΓ͕͋ΔόάΛमਖ਼ɻ 

     w 3FBMN3FTVMUTEJTUJODU Λෳ਺ճݺͼग़ͨ͠ࡍʹ݁Ռ͕ෆਖ਼ʹ ͳΔόάΛमਖ਼ɻ   w %ZOBNJD3FBMN0CKFDUTFU-JTU ʹ3FBMN-JTUΛ౉ͤͳ͍όάΛ मਖ਼ɻ 
  13. Realm Java 0.88.0(όάϑΟοΫε2) w pOE'JSTU"TZOD ͷ݁Ռ͕݅ͷ৔߹ʹ3FBMN$IBOHF-JTUFOFST ͕ݺͼग़͞Εͳ͍όάΛमਖ਼ɻ͜Εʹ൐ͬͯɺಉ༷ͷঢ়گʹ͓͍ ͯpOE'JSTU"TZOD ͔Βऔಘͨ͠0CTFSWBCMFͷPO/FYU ΋ਖ਼͠

    ͘ݺ͹ΕΔΑ͏ʹͳΓ·͢ɻ   w ஋ʹOVMMΛηοτͨ͠৔߹ʹ3FBMN$IBOHF-JTUFOFS͕ݺ͹Εͳ ͍όάΛमਖ਼ɻ   w ಛఆͷঢ়گͰ#BE7FSTJPO&YDFQUJPO͕εϩʔ͞ΕΔόάΛमਖ਼ɻ 
  14. Realm Java 0.88.1(όάϑΟοΫε) w 3Y+BWBΛ࢖༻͠ͳ͍؀ڥͰɺ 3FBMN$POpHVSBUJPOFRVBMT 3FBMN$POpHVSBUJPO ͕/1&Λεϩʔ ͢ΔόάΛमਖ਼ 

     w ϞσϧΫϥεͰ3FBMNҎ֎ͷΞϊςʔγϣϯΛ࢖༻͍ͯ͠ΔͱϏϧ υʹࣦഊ͢ΔόάΛमਖ਼   w TPϑΝΠϧʹ40/".&ϔομʔΛ௥Ճɻ   w %ZOBNJD3FBMN0CKFDUUP4USJOH ͕OVMMͷ஋Λਖ਼͘͠දࣔ͠ͳ͍ό άΛमਖ਼ɻ   w 3F-JOLFSΛ3FBMNࣗମʹಉࠝ͢ΔΑ͏ʹ͠·ͨ͠ɻ 
  15. Better Objects! w ೚ҙͷϝιουΛ௥ՃͰ͖ΔΑ͏ʹͳΓ·͢ w ೚ҙͷΠϯλϑΣʔεΛ࣮૷͢Δ͜ͱ͕Ͱ͖·͢ w HFUUFSͱTFUUFSͷதʹɺࣗ༝ʹϩδοΫΛ૊ΈࠐΉ͜ͱ͕Ͱ͖·͢ w HFUUFSTFUUFSϝιουͷ໊લΛࣗ༝ʹܾΊΔ͜ͱ͕Ͱ͖·͢

    w ϑΟʔϧυΛQVCMJDʹ͢Δ͜ͱͰɺHFUUFSTFUUFSͳ͠ʹϑΟʔϧ υ΁ΞΫηε͢Δ͜ͱ͕Ͱ͖·͢ w ಠࣗͷUP4USJOH ɺFRVBMT ɺIBTI$PEF ϝιουΛఆٛ͢Δ͜ ͱ͕Ͱ͖·͢
  16. Better Objects DMBTT.PEFMFYUFOET3FBMN0CKFDUJNQMFNFOUT$PNQBSBCMF.PEFM\ QVCMJD4USJOHpSTU/BNF QVCMJD4USJOHMBTU/BNF QVCMJD4USJOHHFU'VMM/BNF \ SFUVSOpSTU/BNF  MBTU/BNF

    ^ QVCMJDJOUDPNQBSF5P 5BOPUIFS \ SFUVSO ^ QVCMJD4USJOHUP4USJOH \ SFUVSO ^ ^ .PEFMN SFBMNBMM0CKFDUT .PEFMDMBTT pSTU  NpSTU/BNF NMBTU/BNF NHFU'VMM/BNF 
  17. 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/