Slide 1

Slide 1 text

2018/4/28 Ռ෺Ϧϯ@FruitRiin Vue.js ͸͍͍ͧʂ ϋϯζΦϯ෩ຯฤ

Slide 2

Slide 2 text

Ռ෺Ϧϯ@FruitRiin • ORATTA, inc. - Server Engineer • ۀ຿PHPer 3೥͘Β͍ʁ΃ͪ΃ͪͯ͠·͢ 
 (ࠓͷձࣾ͸ೖࣾ൒೥) • झຯJSer, Vue.jsͷճ͠ऀ

Slide 3

Slide 3 text

Vue.js ͸͍͍ͧ એڭ͠ʹ͖·ͨ͠

Slide 4

Slide 4 text

͓͠ͳ͕͖ • Vue.js is Կʁ • Πϯετʔϧͯ͠ΈΑ͏ • ϥΠϒίʔσΟϯά • Vue.jsॳֶऀ΁ଃΔTips

Slide 5

Slide 5 text

What's Vue.js • ࠓ࣌ϑϩϯτΤϯυϑϨʔϜϫʔΫTOP3ͷ͏ͪ̍ͭ • ඳը༻ͷίʔυ͕ͱͬͯ΋γϯϓϧɻ
 HTML+vue.js֦ுଐੑ • ૒ํ޲σʔλόΠϯσΟϯάɻ
 ஋͕มΘΔͱඳը΋ҰॹʹมΘΔ • Progressive Framework εέʔϥϒϧʂ

Slide 6

Slide 6 text

ͳͥVue.jsͳͷ͔ • ಈ͘HTML͕ॻ͚ΔΠϝʔδ • React͸JavaScriptͷதʹHTMLΛॻ͘
 ʹΞϓϩʔν͕ٯ • σβΠφͱϓϩάϥϚͷ
 ෼ۀ͕͠΍͍͢Β͍͠ • ͞Βʹಋೖ͕؆୯ʂ

Slide 7

Slide 7 text

΍ͬͯΈΑ͏ʂ ※npm ͕ಈ͘؀ڥ͸༻ҙ͍ͯͩ͘͠͞

Slide 8

Slide 8 text

Vue CLI Πϯετʔϧ #vue-cliΛΠϯετʔϧ͢Δ
 #vueίϚϯυ͕࢖͑Δ npm install -g vue-cli

Slide 9

Slide 9 text

VueͷϓϩδΣΫτΛ࡞Δ #৭ʑฉ͔ΕΔͷͰ౴͍͑ͯ͘ vue init webpack vuetest ? Project name > (ۭ) ? Project description (ۭ) ? Author (ۭ) ? Vue build (σϑΥͷ΍ͭ)→ standalone ? Install vue-router? No ? Use ESLint to lint your code? No ? Set up unit tests No ? Setup e2e tests with Nightwatch? No ? Should we run `npm install` for you after the project has been created? (recommended) npm

Slide 10

Slide 10 text

։ൃ൛ىಈʂ #࡞ͬͨϓϩδΣΫτʹҠಈ cd vuetest #ॳճͷΈ npm install #αʔόʔىಈʂ npm run dev #ࢭΊΔͱ͖͸Cmd(Ctrl) + C #ϒϥ΢βͰ http://localhost:8080/

Slide 11

Slide 11 text

Ͱ͖ͨʂ

Slide 12

Slide 12 text

੡඼൛࡞੒ #distͷԼʹίϯύΠϧ݁Ռ͕࡞੒͞ΕΔ npm run prod

Slide 13

Slide 13 text

…ٯʹී௨ʁ͍͍͑͑ Let’s ϥΠϒίʔσΟϯά

Slide 14

Slide 14 text

Ͱ͖ͳ͔ͬͨͱ͖ͷϝϞ • Hot Module Reloading͕͍͢͝ • data binding(v-model) ͕͍͢͝ • v-if, v-for͕͍͢͝

Slide 15

Slide 15 text

৭ʑ૊Έ߹ΘͤΔͱ͜͏ͳΔ

Slide 16

Slide 16 text

Vue.js ॳֶऀ΁ଃΔίπ

Slide 17

Slide 17 text

খ࢝͘͞ΊΔ • ཁΒͳ͍ϥΠϒϥϦ͸ೖΕͳ͍ • vue-router ΋ vuex΋࠷ॳ͸ཁΒͳ͍ • ίϯϙʔωϯτ΋෼ׂ͠ͳ͍ • ·ͣ࢝ΊͯงғؾΛ͔ͭΉ

Slide 18

Slide 18 text

ҙ֎ͳ࠷ॳͷ᠘ • data͸ઈରʹ function(){} Ͱॻ͘ • ΧοίΑ͘Arrowؔ਺Ͱॻ͘ͱ
 this͕windowΛࢦͯ͠͠͵ͷͰ஫ҙ
 ʢ಺ଆͰ͍ͬͺ͍࢖͓͏ʂʣ • methods, computed... ΋ಉ༷ͷཧ༝Ͱ function(){} Ͱॻ͘ • ΦϒδΣΫτͷϝιουͱͯ͠ॻ͍ͯ΋OKʂ

Slide 19

Slide 19 text

εςοϓΞοϓ • σβΠϯͷ౷ҰͲ͏͠Α͏ɺ൚༻ύʔπ͸͋Γ΋ͷ࢖͍͍ͨ
 ˠElementUI, Vuetify, Bootstrap-Vue͋ͨΓ͕Αͦ͞͏ • ίʔυ͕Ͱ͔͘ͳ͖ͬͯͨɺ࠶ར༻͍ͨ͠ 
 → ίϯϙʔωϯτΛ෼ׂ͠Α͏ • URLͰදࣔΛ෼͚͍ͨ
 ˠ vue-routerΛಋೖ͠Α͏ • ଞͷίϯϙʔωϯτͱͷσʔλͷड͚౉͕ͭ͠Β͍ 
 → VuexΛಋೖ͠Α͏ • SEOڧ͘ͳΓ͍ͨɺॳظද͕ࣔ஗͍
 ˠ nuxt.js ͱ͍͏SSRϑϨʔϜϫʔΫ͕͋ΔΑʂ

Slide 20

Slide 20 text

ίϯϙʔωϯτ෼ׂTips • ີ݁߹ͳίϯϙʔωϯτͰ
 props down, event up ͕μϧ͍ 
 → propsʹobjectΛ౉ͯ͠͠·͏ͷ΋ΞϦʁ • ίϯϙʔωϯτͷ෼ׂઃܭ͸
 Atomic Design͕ࢀߟʹͳΔ͔΋

Slide 21

Slide 21 text

·ͱΊ • ಋೖ͕؆୯ʂ • εςοϓΞοϓ͠ͳ͕ΒͳΒ
 ֮͑Δͷ΋ΘΓͱ؆୯ʂ • ࢓্͕Γ΋ͱͬͯ΋ΠΠײ͡ʂ

Slide 22

Slide 22 text

Vue.js ͸͍͍ͧ Why Not Try Now!

Slide 23

Slide 23 text

Thank you