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

Web フロントエンドにおけるコンポーネント化のアプローチ / Component of We...

Avatar for Shogo Sensui Shogo Sensui
February 25, 2017

Web フロントエンドにおけるコンポーネント化のアプローチ / Component of Web Frontend

2017年2月25日に開催された Inside Frontend の「Web フロントエンドにおけるコンポーネント化のアプローチ」のセッション資料です。

Avatar for Shogo Sensui

Shogo Sensui

February 25, 2017
Tweet

More Decks by Shogo Sensui

Other Decks in Technology

Transcript

  1. !DI ‣ 4IPHP4FOTVJ ‣ BLBDIPO*OUFSOFU ‣ $ZCFS"HFOU *OD ‣ 8FC*OJUJBUJWF$FOUFS

    ‣ 4PGUXBSF&OHJOFFS ‣ 8FCDMJFOUTJEFEFWFMPQNFOU ‣ 0QFO4PVSDF4PGUXBSF
  2. $44ךأة؎ٕؖ؎س 䔲儗 ‣ فٗآؙؑز6*ךسًُؗٝزה׃ג ‣ )5.- $44ך朐䡾׾鋅ִ׷⻉׃׋׮ך ‣ ؿٗٝزؒٝسؒٝآص،ָ؝ؾل׃ג⢪ְ׋ְ ‣

    رؠ؎ش٦הך⼿噟䩛媮ה׃ג ‣ 椚䟝فٗآؙؑز6*ך侭椚װⱄⵃ欽ך׋׭ ‣ 植㹋ًٝذشٝأׁ׸זְկ؝ؾلⵃ欽ׅ׵דֹזְ
  3. )5.- $44 %0. 4UPSZCPBSE  7JFX GSBHNFOUYNM 'SBHNFOU 'SBHNFOU 

    "DUJWJUZ 7JFX  7JFX$POUSPMMFS #SPXTFS J04 "OESPJE 鋅׋湡ך㹋鄲 䮶׷莸ְך㹋鄲 )5.- $44 )5.- $44׌ֽأ؝٦فָזְ
  4. /* style.css */ .className { color: green; } import styles

    from "./style.css"; element.innerHTML = `<input class="${styles.className}">`;
  5. import jss from 'jss'; const styles = jss.createStyleSheet({ className: {

    color: green } }).attach(); element.innerHTML = `<input class="${styles.className}">`;
  6. <template> <style> :host { display: inline-block; } </style> <input type="checkbox">

    </template> <script> class SwitchElement extends HTMLElement { constructor() { super(); const o = document.currentScript.ownerDocument; const t = o.querySelector('template'); this.attachShadow({ mode: 'open' }); this.shadowRoot.appendChild(t.content.cloneNode(true)); } } customElements.define('switch-element', SwitchElement); </script>
  7. ֿֿתדך㉏겗挿ך侭椚 ‣ ؝ٝه٦طٝزכاؿزؐؑ،ךㅷ颵חꟼ׻׷ ‣ וךأةحؙחְֶג׮ずֿׄהָ鎉ִ׷ ‣ أة؎ٕؖ؎سד겥㖈⻉׃׋㉏겗 ‣ ؝ٝه٦طٝزך盖椚倯岀ה׃ג黝ⴖז䩛媮דכזַ׏׋ ‣

    رؠ؎ش٦הؒٝآص،ך꟦ך䠐陎ך룪뤍 ‣ ؙٓ؎،ٝز؟؎س㹋鄲חꟼ׻׷➂ך⼿⸂ָ♶〳妀 ‣ 8FCؿٗٝزؒٝس㔿剣ך㹋鄲♳ך㉏겗כ鍑寸׃אא֮׷ ‣ ׻ַ׏גכְ׷ֽוծזַזַ㹋騧דֹזְ؎و؝؝
  8. 耵腉ך娄׫㺔׶BU植㜥 ‣ 铡䖤勞俱ך❛䳔 ‣ Ꟛ涪♳ךًٔحزⱄⵃ欽䚍ծ⥂㸚䚍ծꟚ涪؝أز ‣ ㅷ颵♳ךًٔحزرؠ؎ٝװ⹛⡲ך♧顐䚍 ‣ ֶ✼ְך⡲噟׾㼭ֻׁⴓ䬐 ‣

    ✮劍ׁ׸׷䮶׷莸ְ׾ؒٝآص،ָٖؽُ٦ׅ׷הַ ‣ 6*ך邌植鿇ⴓ׾رؠ؎ش٦ָ㹋鄲׃ג׫׷הַ ‣ ꦄ䱸ׅ׷耵腉ָ実׭׷ֿהך椚鍑
  9. نزي،حفז鑧 ‣ 植㜥⚺㼪ך虊ך呎崞⹛ ‣ Ꟛ涪فٗإأ⻉ׅ׷ֿהדך㹀滠 ‣ 竰竲ׅ׷呎孡ָ㉏׻׸׷ ‣ 䩛岀٥ؿٖ٦يٙ٦ؙך㼪Ⰵ ‣

    Ꟛ涪鄩ꆀָ֮׷ז׵穈籼涸鍑寸״׶植㹋涸 ‣ 䧭⸆✲⢽⻉ ⠓爡 鿇縭 فٗآؙؑز Ꟛ涪罏 ̓