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

Component-based Design for Ikyu users

Yu I.
March 20, 2019

Component-based Design for Ikyu users

BASE 様主催、Atomic Design 勉強会で、一休.comレストランから発表させて頂いた資料になります。

ユーザーが感覚的に使えるサービスを目指す「一休.comレストラン」コンポーネント指向開発の今

Atomic Designを実現するコンポーネント指向開発のいま
https://base.connpass.com/event/122517/

#atomic_shibuya

Yu I.

March 20, 2019
Tweet

More Decks by Yu I.

Other Decks in Design

Transcript

  1. छྨ ໾ׂ άϩʔόϧσʔλ ఆ਺ɺάϩʔόϧม਺ ܕఆٛ TypeScript Ͱఆٛͨ͠ྻڍܕ΍Ϟσϧ ڞ௨/άϩʔόϧϩδοΫ UI ίϯϙʔωϯτؒͰڞ௨Խ͍ͨ͠ɺ

    ύϑΥʔϚϯε্άϩʔόϧԽ͍ͨ͠ ϩδοΫ UI ίϯϙʔωϯτ ϏϡʔɺUI ͱͳΔ෦඼ ίϯϙʔωϯτࢦ޲ઃܭಋೖͷετʔϦʔ ϓϩάϥϜ্ඞཁͳཻ౓
  2. छྨ ໾ׂ άϩʔόϧσʔλ CSS ม਺ ϑΟϧλʔ CSS ϛοΫεΠϯ άϩʔόϧελΠϧ ཁૉܕηϨΫλ΁ࢦఆ͢ΔελΠϧ

    UI ίϯϙʔωϯτ ΫϥεηϨΫλʹର͢ΔελΠϧ ίϯϙʔωϯτࢦ޲ઃܭಋೖͷετʔϦʔ ελΠϧ্ඞཁͳཻ౓
  3. ϨΠϠʔ ໾ׂ Settings CSS ม਺ Tools CSS ϛοΫεΠϯ Generic Ϧηοτ

    CSS Elements άϩʔόϧ (ཁૉܕηϨΫλʔ΁ͷ) ελΠϧ Objects OOCSS ʹݟΒΕΔ Media Object ܥ UI ίϯϙʔωϯτͷελΠϧ Components ϢʔβʔʹػೳΛఏڙ͢Δ UI ίϯϙʔωϯτͷελΠϧ Trumps ྫ֎త༻๏ͷϨΠϠʔ ίϯϙʔωϯτࢦ޲ઃܭಋೖͷετʔϦʔ
  4. ϨΠϠʔ ໾ׂ Settings CSS ม਺΍ɺఆ਺ͳͲͷσʔλΛѻ͏ɻ Tools CSS ϛοΫεΠϯɺϑΟϧλʔɺ·ͨ͸όϦϡʔΦϒδΣΫτɺ DTO ͷΑ͏ͳΞϓϦέʔγϣϯ্ͷܕͱͳΔఆٛΛѻ͏ɻ

    Generic CSS ཁૉܕηϨΫλʔʹΑΔάϩʔόϧελΠϧఆٛɺΞϓϦέʔ γϣϯશମͰڞ௨Խ͞Εͨॲཧɺάϩʔόϧͳ෭࡞༻Λ࣋ͭϏδω εϩδοΫΛѻ͏ɻ Elements Atoms ͷΑ͏ͳϓϦϛςΟϰͳίϯϙʔωϯτΛѻ͏ɻ͜ΕҎԼͷ ϨΠϠʔͰ Vue.js SFC Λѻ͏ɻ Objects Molecules ͷΑ͏ͳΞϓϦέʔγϣϯ্ͷίϯςΩετΛؚΉίϯ ϙʔωϯτΛѻ͏ɻ Components Organisms ͷΑ͏ͳΞϓϦέʔγϣϯ্ҙຯͷ͋Δػೳ୯Ґͷίϯ ϙʔωϯτΛѻ͏ɻ Trumps ྫ֎ϨΠϠʔ ίϯϙʔωϯτࢦ޲ઃܭಋೖͷετʔϦʔ Ұٳ.comϨετϥϯͱͯ͠ͷղऍ
  5. Time to First Byte avg. 4.0s 0.4s First Contentful Paint

    avg. 5.0s 1.1s First Meaningful Paint avg. 9.5s 4.8s Time to Interactive avg. 10.0s 8.0s Good 3G ίϯϙʔωϯτࢦ޲ઃܭಋೖͷετʔϦʔ
  6. ITCSS Atomic Design Settings Atoms Tools Generic Elements Objects Molecules

    Components Organisms Trumps Atomic Design͔Β࠾༻ͨ͠Τοηϯε
  7. ITCSS Atomic Design Settings Atoms Tools Generic Elements Objects Molecules

    Components Organisms Trumps ITCSS ͷϨΠϠʔ໊΍ϨΠϠʔ֦ு͸ ར༻ऀଆͰࣗ༝ʹ࠶ఆٛͰ͖Δ ɹTrumps ͸։ൃ్্ͷચ࿅͞Εͯ ɹ͍ͳ͍ίϯϙʔωϯτஔ͖৔ͱͯ͠΋ศར ITCSS ͩͱ Atoms ϨΠϠʔʹ౰ͨΔ ந৅౓Λࡉ͔͘෼ྨͰ͖ͦ͏ Atomic Design͔Β࠾༻ͨ͠Τοηϯε
  8. ITCSS Atomic Design Settings Atoms Tools Generic Elements Objects Molecules

    Components Organisms Trumps νʔϜʹඞཁͳ෼ྨΛ νʔϜͰ߹ҙΛऔΔ͜ͱ͕ॏཁ Atomic Design͔Β࠾༻ͨ͠Τοηϯε
  9. <button-positive-xs/> <button-positive-s/> <button-positive-m/> <button-positive-l/> <button-cv-xs/> <button-cv-s/> <button-cv-m/> <button-cv-l/> <button-cv-xl/> <button-negative-xs/>

    <button-negative-s/> <button-negative-m/> <button-negative-l/> <button-neutral-xs/> <button-neutral-s/> <button-neutral-m/> <button-neutral-l/> ݸผʹίϯϙʔωϯτԽ ΧϯϓΛίϯϙʔωϯτԽ͢Δ࣌ͷΠγϡʔ