Building native apps with scala.js

Building native apps with scala.js

6521324f6ab5266cdcde1dd05945a27b?s=128

Shinpei Maruyama

April 03, 2018
Tweet

Transcript

  1. CZ͠Μ΃͍BLBೣܕ஝Իػ #VJMEJOHOBUJWF BQQTXJUI 4DBMBKT

  2. BCPVUNF w ג ϝσΟϩϜ w ීஈ͸4DBMBͱ͔+4ͱ͔೔ຊޠ ͱ͔ w 1FSM 3VCZ΋ͨ͠ͳΉఔ౓ʹ

    w UXJUUFS!TIJOQFJ
  3. BCPVUNF w 4DBMBKTͱ 3FBDU/BUJWFc&MFDUSPO ࢖ͬͯ झຯΞϓϦॻ͍ͨΓͯ͠Δ w #BDLMPHΫϥΠΞϯτ &MFDUSPO 

    w ίʔυේΤσΟλ 3FBDU/BUJWF
  4. લఏ஌ࣝ

  5. 4DBMBKT

  6. 4DBMBKT w 4DBMBUP+BWB4DSJQUͳτϥϯ εύΠϥ w ϓϩμΫτͰ࢖͏ͱ͜Ζ͕૿͖͑ͯ ͍ͯΔ<ཁग़య>

  7. 4DBMBKTϝϦοτ w 4DBMBͰ͋Δ͜ͱ w ;ͭ͏ʹ4DBMB w ҆શ w දݱྗߴ͍

  8. None
  9. 4DBMBKTσϝϦοτ w 4DBMBͰ͋Δ͜ͱ w 4DBMB͔Β+BWB4DSJQUͷੈքΛ ৮Ζ͏ͱ͢Δͱ్୺ʹۤ௧͕૿͑Δ w ಈతܕ෇͚ϥΠϒϥϦͱ͔ϒϥ΢βͷ "1*ͱ͔ʜʜ

  10. #VJMEJOHOBUJWF BQQTXJUI+4

  11. 3FBDU/BUJWF w 3FBDUͰωΠςΟϒεϚϗΞϓϦ ͕࡞ΕΔ w 8FC7JFXͱ͔͡Όͳ͍ w 3FBDU͕/BUJWFͷϓϨθϯςʔ γϣϯ૚Λந৅Խ͍ͯ͠Δ

  12. &MFDUSPO w +4ͰσεΫτοϓωΠςΟϒΞϓ Ϧ͕࡞ΕΔ w த਎͸΄΅ϒϥ΢βΈ͍ͨͳ͔Μ͡

  13. ϝϦοτ w +4Ͱ͋Δ͜ͱ w ࢲݟ͚ͩͲɺωΠςΟϒॻ͚ΔϓϩάϥϚΑΓ+4ॻ ͚ΔϓϩάϥϚͷ΄͏͕਺͕ଟ͍ w 6*૊Ήͱ͖ͷ։ൃαΠΫϧ͕ૣ͘ճΔ w ׳ΕΔͱωΠςΟϒͷϏϧυ଴͕ͪ࣌ؒΉ͠Ζ͠Μ

    Ͳ͘ͳΔ w 91MBUͰ͋Δ͜ͱ w ͪΐͬͱਂೖΓ͢Δͱࢮ͵ͷͰ͜ͷ఺͸ແࢹ͠·͢
  14. Ϟνϕʔγϣϯ

  15. ຊԻ w 4DBMBͰωΠςΟϒΞϓϦॻ͖ͨ ͍ w ͳͥͳΒΘΕΘΕ͸4DBMB͕޷͖ ͔ͩΒ w ຊԻͰݴ͏ͱ͜Εׂ͕

  16. ݐલ w (6*ΞϓϦέʔγϣϯ͸ෳࡶͳঢ়ଶ Λ࣋ͭͨΊɺߏங͢Δͷ͕ඇৗʹΉ ͔͍ͣ͠ w ෳࡶͳ໰୊ྖҬʹରͯ͠͸4DBMBͷ Α͏ͳڧྗͳݴޠͰཱͪ޲͔͍͍ͨ

  17. ϐίʔϯʂ 4DBMBKTͷػӡʂ

  18. ൃ૝ w +4ͰωΠςΟϒΞϓϦॻ͚ΔͳΒ 4DBMBKTͰωΠςΟϒΞϓϦॻ͚ Δ͡ΌΜ w ѱຐతͻΒΊ͖ʜʜʂ

  19. ཱͪ޲͔͏΂͖น ͦͷ

  20. ϏϧυपΓͷ໰୊

  21. ϏϧυपΓͷ໰୊ w ͦ΋ͦ΋+4Ͱ͋Δఔ౓Ҏ্ෳࡶͳ (6*ΞϓϦΛ࡞ΔͳΒɺXFCQBDL ͕લఏͱͳ͍ͬͯΔ w 4DBMBKT͸TCUͰϏϧυ͢Δલఏ

  22. ϏϧυपΓͷ໰୊ w 4DBMBKTͷMPBEFS͋Δɻ͋Δʹ ͸͋Δ͕ʜʜ w ڊେϏϧυγεςϜͱڊେϏϧυγ εςϜΛڊେ࿈݁͢Δͷ͸ͪΐͬ ͱʜʜʢݸਓͷݟղͰ͢ʣ

  23. ཱͪ޲͔͏΂͖น ͦͷ

  24. ΍ΘΒ͔͘࡞Γ͍ͨ ෦෼ WT ߗ͘࡞Γ͍ͨ෦෼

  25. ॊΒ͔͍΄͏͕͍͍෦෼ w ͱ͘ʹ3FBDU/BUJWFͱ͔Ͱ΍ΔͳΒɺ7JFX पΓͷίʔυ͸ૉͷ+4ͷ΄͏ָ͕ͩͬͨΓ ͢Δ w ϓϨʔϯͳΦϒδΣΫτ \lBzlCz^Έ͍ͨ ͳ΍ͭ ଟ༻͢Δ͠ɺ։ൃͯ͠ΔؒʹΩʔ΋

    ΨϯΨϯมΘΔ w ฤू֬ೝͷαΠΫϧΛ͸΍͘ճ͍ͨ͠
  26. ߗ͍΄͏͕͍͍෦෼ w ͱ͸ݴ͑ɺෳࡶͳঢ়ଶ؅ཧ΍ϩδο ΫΛ+4Ͱॻ͘ͷ͸ͭΒ͍ɻ4DBMB ͳΒͳ͋ʜʜͬͯࢥ͏͜ͱଟ͍

  27. ιϦϡʔγϣϯͷ ͝঺հ

  28. ιϦϡʔγϣϯ w 6*૚͸ૉ௚ʹ+4ͷ6*ϑϨʔϜϫʔ ΫͰͦͷ··ॻ͘ w Ϟσϧ૚ҎԼΛ4DBMBKTͰॻ͘

  29. TCU ਤ WVFͩͱ͔ KTY TDBMB JNQPSUͯ͠࢖͏ DPNQJMFEKT DPNQJMF͢Δ XFCQBDL

  30. .78 7JFX 8IBUFWFS .PEFM 6* -BZFS .PEFM -BZFS

  31. .78 7JFX 8IBUFWFS .PEFM &MFDUSPO΍Β 3FBDU/BUJWF΍Βͷ ౎߹ʹৼΓճ͞ΕΔ ෦෼ Ͳ͏ͤ ࣗ෼Ͱ

    ઃܭͯ͠ ॻ͘෦෼
  32. XJUI4DBMBKT 7VFPS3FBDU/BUJWF .PEFM 3FBDU 7VF FUDʜ 4DBMBKT $PNNBOE 2VFSZ &WFOU

  33. 7VFPS3FBDU/BUJWF 7VFKTXJUI4DBMBKT .PEFM 4DBMBKT $PNNBOE 2VFSZ &WFOU JOWPLF ෭࡞༻ 3FBDU

    7VF FUDʜ
  34. XJUI4DBMBKT 7VFPS3FBDU/BUJWF .PEFM 3FBDU 7VF FUDʜ 4DBMBKT $PNNBOE 2VFSZ &WFOU

    XBUDI
  35. 7VFPS3FBDU/BUJWF 3FBDU 7VF FUDʜ 7VFKTXJUI4DBMBKT .PEFM $PNNBOE 2VFSZ &WFOU OPUJGZ

    4DBMBKT
  36. 7VFPS3FBDU/BUJWF 3FBDU 7VF FUDʜ 7VFKTXJUI4DBMBKT .PEFM Ͳ͏ͤ ࣗ෼Ͱ ઃܭͯ͠ ॻ͘෦෼

    $PNNBOE 2VFSZ &WFOU GFUDI
  37. 7VFPS3FBDU/BUJWF 3FBDU 7VF FUDʜ σʔλϑϩʔ͸୯ํ޲ .PEFM Ͳ͏ͤ ࣗ෼Ͱ ઃܭͯ͠ ॻ͘෦෼

    $PNNBOE 2VFSZ &WFOU
  38. ίʔυྫ

  39. 3FBDU/BUJWF෦෼

  40. 3FBDU/BUJWF෦෼

  41. 3FBDU/BUJWF෦෼

  42. ;ͭ͏ͷ 3FBDU/BUJWF

  43. 4DBMB෦෼

  44. ;ͭ͏ͷ4DBMB

  45. ॴײ

  46. ॴײ w ΠϯϑϥετϥΫνϟϨΠϠʔͰ͸4DBMB͔Β +4ͷϥΠϒϥϦ΍"1*৮Δͷ͸ආ͚ΒΕͳ͍ w ͕͚ͬ͜͜͜͏ͭΒ͍ w ͦ͏ߟ͑Δͱɺ+4ͷ"1*ୟ͖·͘ΔΑ͏ͳ΍ͭ ͸ͪΐͬͱਏͦ͏ w

    4DBMBͰΞϓϦॻ͚Δ͜ͱࣗମ͸ͱͯ΋ྑ͍ମ ݧΛಘΒΕΔ
  47. ॴײ w ϓϨθϯςʔγϣϯϨΠϠʔ͸ૉͷ +4ɺͦͷԼ͸શ෦4DBMBͱ͍͏ͷ ͸͔ͳΓମݧ͕ྑ͍ w 4DBMBͰωΠςΟϒΞϓϦ͸ॻ͚ ·͢ʂʂʂʂ

  48. ·ͱΊ

  49. ·ͱΊ w 4DBMBͰωΠςΟϒΞϓϦ͕࡞Γ͍ͨʂͱ ͍͏೤͍ࢥ͍͸࣮ݱՄೳͰ͋Δ͜ͱΛݟ͖ͯ ·ͨ͠ w 6*ʹ͍ۙ෦෼͸ɺ+4ͷ··΍Δͱ͏·͍͘ ͘͜ͱ͕ଟ͍͜ͱΛݟ͖ͯ·ͨ͠ w ਖ਼௚͜ͷํ޲ੑ͸͔ͳΓ͋Γͩͱࢥ͏ɺͱ͍

    ͍͏ҙݟΛൃ৴͠·ͨ͠