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

Using Scala.js with the JavaScript ecosystems

Shinpei Maruyama
July 14, 2017
2.1k

Using Scala.js with the JavaScript ecosystems

Shinpei Maruyama

July 14, 2017
Tweet

Transcript

  1. CZ͠Μ΃͍BLBೣܕ஝Իػ
    6TJOH4DBMBKTXJUI
    UIF+BWB4DSJQU
    FDPTZTUFN

    View Slide

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

    View Slide

  3. 4DBMBKT
    w 4DBMBUP+BWB4DSJQUͳτϥϯ
    εύΠϥ
    w WXBTBOOPVODFEJO
    +VMZ

    View Slide

  4. &YBNQMF
    4DBMBKTެࣜυΩϡϝϯτΑΓҾ༻

    IUUQTXXXTDBMBKTPSHEPDJOUFSPQFSBCJMJUZFYQPSUUPKBWBTDSJQUIUNM

    View Slide

  5. )PXUPUSBOTQJMF
    w TCUʹϓϥΪϯͭͬ͜ΜͰTCUͰ
    USBOTQJMF͢Δ
    w UBSHFUσΟϨΫτϦҎԼʹ+4
    ϑΝΠϧ͕ు͔ΕΔ

    View Slide

  6. JOUFSPQFSBCJMJUZ
    CFUXFFO
    4DBMBKT
    BOE
    +BWB4DSJQU

    View Slide

  7. VTJOH4DBMBKTGSPN+4
    w TCUͰు͔Εͨ+4ΛXFCQBDLͰ
    ͕ͬͪΌΜ͢ΔͳΓͦͷ··ಡΈࠐ
    ΉͳΓͯ͠࢖͑͹ྑ͍

    View Slide

  8. VTJOH+4GSPN4DBMBKT
    w CSJEHFJOUFSGBDFΛ4DBMBKT
    ଆͰఆٛͯ͠΍Δ
    w ৄ͘͠͸ެࣜυΩϡϝϯτΛ

    View Slide

  9. 1SFEFpOFEUZQFT

    View Slide

  10. 4DBMBKTͱ
    OBUJWF+4ͷ
    ར༻ઓུΛߟ͑Δ

    View Slide

  11. બ୒ࢶ
    w શ෦4DBMBKTͰ΍Δ
    w Ұ෦4DBMBKTҰ෦+BWB4DSJQU
    Ͱ΍Δ

    View Slide

  12. શ෦4DBMBKTͰ΍Δ
    w 1SPT
    w ΞϓϦέʔγϣϯશମ͕ݎ࿚ͳܕͰकΒ
    ΕΔ
    w +4ଆͱͷڥ໨Λ͋·Γҙࣝ͠ͳͯ͘ࡁ
    Ή

    View Slide

  13. શ෦4DBMBKTͰ΍Δ
    w $POT
    w +4ͷϥΠϒϥϦࢿ࢈ͳͲΛͲ͏΍ͬͯ
    ࢖͏͔ͱ͍͏໰୊͕͋Δ
    w ࣗ෼ͰJOUFSGBDFΛఆٛ͢Δʁ·͡Ͱʁ
    w ͱ͸͍͑༗໊Ͳ͜Ζ͸͢Ͱʹ༗ࢤ͕༻ҙ
    ͯ͘͠ΕͨΓ͢Δ

    View Slide

  14. શ෦4DBMBKTͰ΍Δ
    w $POTʢଓ͖ʣ
    w IUUQTXXXTDBMBKTPSH
    MJCSBSJFTGBDBEFTIUNM
    w 7VFKTͱ͔ͷ୯ҰϑΝΠϧίϯϙʔω
    ϯτͲ͏͢ΜͶΜͱ͔+4ͷΤίγεςϜ
    ʹ৐Γ੾Εͳ͍ײ͡͸͋Δ

    View Slide

  15. Ұ෦+4Ұ෦4DBMBKT
    w 1SPT
    w +4ͷࢿ࢈΍ΤίγεςϜʹͦͷ··৐ΕΔ
    w $POT
    w ϧʔϧܾΊͳ͍ͱΧΦεʹͳΔ
    w +4ଆ͸ܕ͕΍Θ͍··ͰɺΞϓϦέʔ
    γϣϯશମ͕ܕͰकΒΕͳ͍

    View Slide

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

    View Slide

  17. ιϦϡʔγϣϯ
    w 6*૚͸ૉ௚ʹ+4ͷ6*ϑϨʔϜϫʔ
    ΫͰͦͷ··ॻ͘
    w Ϟσϧ૚ҎԼΛ4DBMBKTͰॻ͍ͯɺ
    ͔ͦ͜Β+4͸৮Βͳ͍

    View Slide

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

    View Slide

  19. .78
    7JFX
    8IBUFWFS
    .PEFM
    7VF΍Β
    3FBDU΍Β
    ϒϥ΢β΍'8΍
    %0.ͷ
    ౎߹ʹৼΓճ͞ΕΔ
    ෦෼
    Ͳ͏ͤ
    ࣗ෼Ͱ
    ઃܭͯ͠
    ॻ͘෦෼

    View Slide

  20. 7VFKTXJUI4DBMBKT
    7VF$PNQPOFOU
    7JFX7JFX.PEFM
    .PEFM
    7VFKT
    4DBMBKT
    $PNNBOE 2VFSZ
    &WFOU
    XBUDI

    View Slide

  21. 7VFKTXJUI4DBMBKT
    7VF$PNQPOFOU
    7JFX7JFX.PEFM
    .PEFM
    7VFKT
    4DBMBKT
    $PNNBOE 2VFSZ
    &WFOU
    JOWPLF
    ෭࡞༻

    View Slide

  22. 7VFKTXJUI4DBMBKT
    7VF$PNQPOFOU
    7JFX7JFX.PEFM
    .PEFM
    7VFKT
    $PNNBOE 2VFSZ
    &WFOU
    OPUJGZ
    4DBMBKT

    View Slide

  23. 7VFKTXJUI4DBMBKT
    7VF$PNQPOFOU
    7JFX7JFX.PEFM
    .PEFM
    7VFKT
    Ͳ͏ͤ
    ࣗ෼Ͱ
    ઃܭͯ͠
    ॻ͘෦෼
    $PNNBOE 2VFSZ
    &WFOU
    GFUDI

    View Slide

  24. σʔλϑϩʔ͸୯ํ޲
    7VF$PNQPOFOU
    7JFX7JFX.PEFM
    .PEFM
    7VFKT
    Ͳ͏ͤ
    ࣗ෼Ͱ
    ઃܭͯ͠
    ॻ͘෦෼
    $PNNBOE 2VFSZ
    &WFOU

    View Slide

  25. αϯϓϧίʔυ
    w αʔόʔͱಉظ͢ΔλΠϓͷ
    5PEP"QQ
    w IUUQTHJUIVCDPN
    4IJOQFJN
    4DBMBKT5PEP&YBNQMF

    View Slide

  26. "QQMJDBUJPO4FSWJDF

    View Slide

  27. ී௨ͷ4DBMB

    View Slide

  28. 7VFKTଆ

    View Slide

  29. ී௨ͷ୯ҰϑΝΠϧ
    ίϯϙʔωϯτ

    View Slide

  30. ՝୊

    View Slide

  31. .PEFMϨΠϠʔ
    "QQMJDBUJPO૚
    ϐϡΞ4DBMBͰॻ͚Δ
    $PNNBOEͳͲ͸
    +4ଆʹ&YQPSU

    %PNBJO૚ ϐϡΞ4DBMBͰॻ͚Δ
    *OGSBTUSVDUVSF૚ 4DBMBͰॻ͚ͳ͍ʂ

    View Slide

  32. %*ͰղܾͰ͖ͦ͏
    w *OGSB૚ͷ*'Λ%PNBJO૚ʹॻ͘
    w ͦͷ*'Λຬͨͨ͠ɺ+4ଆͰॻ͍ͨ
    ࣮૷Λ%*͢Ε͹Αͦ͞͏
    w ·࣮ͩݧͰ͖ͯͳ͍͚Ͳ$MFBO
    "SDIJUFDUVSFతʹ΋ے͕ྑͦ͞͏
    ʹݟ͑Δ

    View Slide

  33. ͦ΋ͦ΋αΠζେ͖͍
    w 5PEP"QQϨϕϧͰɺNJOJGZ͋Γ
    Ͱ΋.#௒͑
    w ݫ͍͠

    View Slide

  34. ࠓޙͷల๬

    View Slide

  35. ͋Δఔ౓ෳࡶͳ(6*ΞϓϦॻ͖͍ͨ
    w ෳࡶʹͳΕ͹ͳΔ΄Ͳ4DBMBͷྑ
    ͕͞ޮ͍ͯ͘Δ͸ͣ

    View Slide

  36. FMFDUSPOʹ࢖͍͍ͨ
    w &MFDUSPOͳΒ΂ͭʹ+4ͷαΠζ
    େ͖͘ͳͬͯ΋໰୊ͳ͘ͳ͍ʁ
    w ͔ͨ͠ʹʂʂʂ
    w 4DBMBͰ(6*ΞϓϦέʔγϣϯ։
    ൃ΍ʂʂʂʂ

    View Slide

  37. UPCF
    DPOUJOVFE

    View Slide