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

Polymer の update に見る Web Components の過去/現在、そして未来 / jsfes-2017-autumn

Polymer の update に見る Web Components の過去/現在、そして未来 / jsfes-2017-autumn

秋のJavaScript祭 in mixi 2017 のスライドです。
https://javascript-fes.doorkeeper.jp/events/66335

Kenichiro Kishida

November 18, 2017
Tweet

More Decks by Kenichiro Kishida

Other Decks in Technology

Transcript

  1. 1PMZNFSͷVQEBUFʹݟΔ
    8FC$PNQPOFOUTͷ
    աڈݱࡏɺͦͯ͠ະདྷ
    ळͷ+BWB4DSJQUࡇJONJYJ
    ,FOJDIJSP,JTIJEB
    !TJ[VIJLP

    View Slide

  2. ,FOJDIJSP,JTIJEB
    5PLZP +"1"/
    TJ[VIJLP!HNBJMDPN !TJ[VIJLP
    IUUQTHJUIVCDPNTJ[VIJLP
    IUUQCMPHPQFOUPLZPKQ

    View Slide

  3. )JTUPSZ

    View Slide


  4. )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    View Slide


  5. "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    View Slide


  6. J1IPOF͕ൃച

    )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    View Slide


  7. 8FC$PNQPOFOUTΛ(PPHMF͕ఏҊ

    )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    J1IPOF͕ൃച

    View Slide


  8. 5IF&YUFOTJCMF8FC.BOJGFTUP͕ൃද
    1PMZNFSWϦϦʔε

    )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    J1IPOF͕ൃച

    8FC$PNQPOFOUTΛ(PPHMF͕ఏҊ

    View Slide


  9. )5.-קࠂ
    1PMZNFS͕ϦϦʔε͞ΕΔ

    )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    J1IPOF͕ൃച

    8FC$PNQPOFOUTΛ(PPHMF͕ఏҊ

    5IF&YUFOTJCMF8FC.BOJGFTUP͕ൃද
    1PMZNFSWϦϦʔε

    View Slide


  10. 1PMZNFS͕ϦϦʔε͞ΕΔ
    )551͕ঝೝ͞ΕΔ

    )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    J1IPOF͕ൃച

    8FC$PNQPOFOUTΛ(PPHMF͕ఏҊ

    5IF&YUFOTJCMF8FC.BOJGFTUP͕ൃද
    1PMZNFSWϦϦʔε

    )5.-קࠂ
    1PMZNFS͕ϦϦʔε͞ΕΔ

    View Slide


  11. 1PMZNFS͕ϦϦʔε͞ΕΔ
    4BGBSJ͕4IBEPX%0.ʹରԠͨ͠
    XFCDPNQPOFOUTPSH౷ҰԽ
    1PMZNFS͕ൃද͞ΕΔ
    1PMZNFS+BQBO͕ൃ଍ͨ͠
    4FSWJDF8PSLFS͕8FCLJUͰ։ൃதʹ
    )5.-קࠂ

    )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    J1IPOF͕ൃച

    8FC$PNQPOFOUTΛ(PPHMF͕ఏҊ

    5IF&YUFOTJCMF8FC.BOJGFTUP͕ൃද
    1PMZNFSWϦϦʔε

    )5.-קࠂ
    1PMZNFS͕ϦϦʔε͞ΕΔ

    1PMZNFS͕ϦϦʔε͞ΕΔ
    )551͕ঝೝ͞ΕΔ

    View Slide


  12. )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    J1IPOF͕ൃച

    8FC$PNQPOFOUTΛ(PPHMF͕ఏҊ

    5IF&YUFOTJCMF8FC.BOJGFTUP͕ൃද
    1PMZNFSWϦϦʔε

    )5.-קࠂ
    1PMZNFS͕ϦϦʔε͞ΕΔ

    1PMZNFS͕ϦϦʔε͞ΕΔ
    )551͕ঝೝ͞ΕΔ

    1PMZNFS͕ϦϦʔε͞ΕΔ
    4BGBSJ͕4IBEPX%0.ʹରԠͨ͠
    XFCDPNQPOFOUTPSH౷ҰԽ
    1PMZNFS͕ൃද͞ΕΔ
    1PMZNFS+BQBO͕ൃ଍ͨ͠
    4FSWJDF8PSLFS͕8FCLJUͰ։ൃதʹ
    )5.-קࠂ

    View Slide

  13. 8FC$PNQPOFOUT
    w4IBEPX%0.
    w$VTUPN&MFNFOUT
    w)5.-*NQPSUT
    w)5.-5FNQMBUFT
    https://github.com/w3c/webcomponents

    View Slide

  14. 4IBEPX%0.

    View Slide

  15. $VTUPN&MFNFOUT
    定義:
    class MyPolymerElement extends Polymer.Element {
    ...
    }
    customElements.define('my-polymer-element', MyPolymerElement);
    利用方法:

    View Slide

  16. )5.-5FNQMBUF


    Hello World from !

    <br/>class MyElement extends Polymer.Element {<br/>static get is() { return 'x-custom' }<br/>ready() {<br/>super.ready();<br/>this.$.name.textContent = this.tagName;<br/>}<br/>}<br/>

    View Slide

  17. )5.-*NQPSUT



    View Slide

  18. 1PMZNFS
    https://www.polymer-project.org

    View Slide

  19. View Slide


  20. )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    J1IPOF͕ൃച

    8FC$PNQPOFOUTΛ(PPHMF͕ఏҊ

    5IF&YUFOTJCMF8FC.BOJGFTUP͕ൃද
    1PMZNFSWϦϦʔε

    )5.-קࠂ
    1PMZNFS͕ϦϦʔε͞ΕΔ

    1PMZNFS͕ϦϦʔε͞ΕΔ
    )551͕ঝೝ͞ΕΔ

    1PMZNFS͕ϦϦʔε͞ΕΔ
    4BGBSJ͕4IBEPX%0.ʹରԠͨ͠
    XFCDPNQPOFOUTPSH౷ҰԽ
    1PMZNFS͕ൃද͞ΕΔ
    1PMZNFS+BQBO͕ൃ଍ͨ͠
    4FSWJDF8PSLFS͕8FCLJUͰ։ൃதʹ
    )5.-קࠂ

    View Slide


  21. )5.-קࠂ

    9.-)UUQ3FRVFTU͕*&ʹ࣮૷͞ΕΔ

    "KBY͕༗໊ʹͳΔ
    8FCͱ͍͏ϫʔυ͕ൃ঵ͨ͠

    J1IPOF͕ൃച

    8FC$PNQPOFOUTΛ(PPHMF͕ఏҊ

    5IF&YUFOTJCMF8FC.BOJGFTUP͕ൃද
    1PMZNFSWϦϦʔε

    )5.-קࠂ
    1PMZNFS͕ϦϦʔε͞ΕΔ

    1PMZNFS͕ϦϦʔε͞ΕΔ
    )551͕ঝೝ͞ΕΔ

    1PMZNFS͕ϦϦʔε͞ΕΔ
    4BGBSJ͕4IBEPX%0.ʹରԠͨ͠
    XFCDPNQPOFOUTPSH౷ҰԽ
    1PMZNFS͕ൃද͞ΕΔ
    1PMZNFS+BQBO͕ൃ଍ͨ͠
    4FSWJDF8PSLFS͕8FCLJUͰ։ൃதʹ
    )5.-קࠂ

    View Slide

  22. 6TF5IF1MBUGPSN

    View Slide

  23. w1PMZNFS&MFNFOUεʔύʔΫϥε
    wΠϕϯτϋϯυϦϯά
    wσʔλγεςϜ
    wϔϧύʔΤϨϝϯτ
    w$-*πʔϧ

    View Slide

  24. ೔ຊͰ͸ʜ

    View Slide

  25. https://polymer-jp.org/

    View Slide

  26. 5.27

    2017
    11.28

    2017
    ▶︎

    View Slide

  27. Polymer Versions
    • 1.9.1

    stable
    • 2.0.0

    stable
    • 109

    releases
    • 1.11.0

    stable
    • 2.2.0

    stable
    • 124

    releases
    ▶︎
    Up
    Up
    Up

    View Slide

  28. Polymer CLI Versions
    1.1.0 1.5.7
    ▶︎ Up

    View Slide

  29. Polyfill Versions
    1.0.1 1.0.17
    ▶︎ Up
    Bower Bower

    View Slide

  30. • bosonic 1.0
    • SkateJS

    5.0.7-β3
    • x-tag

    1.5.11
    • Slim.js

    3.0.6
    Web Components Libraries
    • bosonic

    1.0
    • SkateJS

    4.6.7
    • x-tag

    1.5.11
    • Slim.js

    2.9.9
    ▶︎
    Up
    Up

    View Slide

  31. 1PMZNFS4VNNJU

    View Slide

  32. What’s Next for Polymer (Polymer Summit 2017) ΑΓ
    5FNQMBUF 4IBEPX%0. $VTUPN&MFNFOUT )5.-*NQPSUT
    ✅ ✅ ✅ ✅
    ✅ ‼
    ✅ ✅ ✅ ‼
    ✅ ‼
    ✅ ✅ ✅ ✅

    View Slide

  33. What’s Next for Polymer (Polymer Summit 2017) ΑΓ
    5PEBZ
    /BUJWF ‒ ❌
    4VQQPSUT%FFQ%FQFOEFODJFT ✅ ✅
    'JMF-FWFM /P#VOEMJOH3FRVJSFE ✅ ✅
    )5.-*NQPSUT

    View Slide

  34. &4.PEVMFT
    What’s Next for Polymer (Polymer Summit 2017) ΑΓ
    ✅ /BUJWF
    ✅ 4VQQPSUT%FFQ%FQFOEFODJFT
    ✅ 'JMF-FWFM /P#VOEMJOH3FRVJSFE

    View Slide

  35. What’s Next for Polymer (Polymer Summit 2017) ΑΓ
    5FNQMBUF 4IBEPX%0. $VTUPN&MFNFOUT +4.PEVMFT
    ✅ ✅ ✅ ✅

    ✅ ✅ ✅ ✅

    ✅ ✅ ✅ ✅

    View Slide

  36. #PXFS
    What’s Next for Polymer (Polymer Summit 2017) ΑΓ
    5PEBZ
    .BOBHFT%FQFOEFODJFT ✅ ✅
    3FTPMDFT7FSTJPO$POqJDUT ✅ ✅
    *OTUBMMT'MBU%FQFOEFODZ5SFF ✅ ✅
    "DUJWF$PNNVOJUZ ✅ ❌

    View Slide

  37. :BSOOQN
    What’s Next for Polymer (Polymer Summit 2017) ΑΓ
    ✅ .BOBHFT%FQFOEFODJFT
    ✅ 3FTPMDFT7FSTJPO$POqJDUT
    ✅ *OTUBMMT'MBU%FQFOEFODZ5SFF
    ✅ "DUJWF$PNNVOJUZ

    View Slide

  38. 4&04IBSJOH
    https://render-tron.appspot.com/

    View Slide

  39. 8FBSFGSJFOET
    https://custom-elements-everywhere.com/

    View Slide

  40. ͦ͏ͩ1PMZNFS࢖͓͏

    View Slide

  41. WJTJUNZCMPHHJUIVC
    https://github.com/sizuhiko
    http://blog.open.tokyo.jp

    View Slide