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

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

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

Polymer Summit 2017 にて Polymer 3.0 の tech プレビュー版が発表/公開されました。そこで見えてきたのはブラウザサポートにおける Web Components 仕様の変化でした。
本セッションではそれらを含めたWeb Componentsの過去から未来まで解説します。

Kenichiro Kishida

October 21, 2017
Tweet

More Decks by Kenichiro Kishida

Other Decks in Programming

Transcript

  1. 1PMZNFSͷVQEBUFʹݟΔ
    8FC$PNQPOFOUTͷ
    աڈݱࡏɺͦͯ͠ະདྷ
    'VLVPLBQIQ7PM
    ,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. https://speakerdeck.com/akase244/phpergaweb-componentsnituitekao-etemita-number-phpkansai

    View Slide

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

    View Slide

  20. 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. )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

  23. 6TF5IF1MBUGPSN

    View Slide

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

    View Slide

  25. ೔ຊͰ͸ʜ

    View Slide

  26. 1PMZNFS4VNNJU

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    ✅ ✅ ✅ ✅

    ✅ ✅ ✅ ✅

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide