Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A startup meets Laravel + Vue.js
Search
nunulk
November 28, 2018
Programming
1
2k
A startup meets Laravel + Vue.js
nunulk
November 28, 2018
Tweet
Share
More Decks by nunulk
See All by nunulk
Laravelでテストしやすいコードを書く5 / 5 tips of building testable modules in Laravel
nunulk
0
300
Design It! in a nutshell
nunulk
1
250
PHP Getting Faster
nunulk
0
250
How does learning English broaden your world?
nunulk
0
350
Testing on Laravel
nunulk
1
1.5k
Vue.js + TypeScript + Firebase
nunulk
0
930
Nuxt.js in TypeScript
nunulk
1
420
Unit Testing Laravel
nunulk
0
470
A Third-rate Programmer Talked about a Survival Strategy for Software Engineers
nunulk
3
570
Other Decks in Programming
See All in Programming
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
520
1から理解するWeb Push
dora1998
7
1.9k
Testing Trophyは叫ばない
toms74209200
0
880
Deep Dive into Kotlin Flow
jmatsu
1
350
アセットのコンパイルについて
ojun9
0
130
概念モデル→論理モデルで気をつけていること
sunnyone
2
250
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
530
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
220
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.9k
🔨 小さなビルドシステムを作る
momeemt
4
680
print("Hello, World")
eddie
2
530
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
540
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
330
21k
BBQ
matthewcrist
89
9.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Become a Pro
speakerdeck
PRO
29
5.5k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Code Reviewing Like a Champion
maltzj
525
40k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
A Tale of Four Properties
chriscoyier
160
23k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Transcript
A Startup meets Laravel + Vue.js nunulk ΒΒͼΎ͏࠲ஊձ
ࠓ͢͜ͱ w ࣗݾհ w -BSBWFM 7VFKTͷಛ w ελʔτΞοϓͱͷ૬ੑ w -BSBWFM
7VFKTͷֶशϓϥϯ w ࣗ༝͔Β੍
ࣗݾհ
ࣗݾհ w OVOVML ͵͵Δ͘ʣ w ϑϦʔϥϯεͷΣϒΞϓϦέʔγϣϯΤϯδχΞ w 1)1ྺ -BSBWFMྺ w
ϑϩϯτΤϯυΔ͜ͱ͕ଟ͍ w ࠷ۙઐΒελʔτΞοϓʹͯίʔυॻ͍ͨΓٕज़ࢧԉ w ࣾͷϓϩμΫτͰ-BSBWFM 7VFKTͰ։ൃ
Laravel + Vue.js ͷಛ
Laravel ͷಛ l5IF1)1'SBNFXPSL'PS8FC"SUJTBOTz w ΦʔϧΠϯύοέʔδ w ϞμϯͳΞʔΩςΫνϟ w &MPRVFOUͳͲͷߴ͍ੜ࢈ੑΛࢧ͑ΔΫϥε܈ w
׆ൃͳίϛϡχςΟڊେͳΤίγεςϜ w ެࣜυΩϡϝϯτͷຊޠ༁ͷଘࡏ
Laravel ͷಛ w 1)1ͷݴޠ༷Λิࠤ͢ΔΫϥεɺϔϧύʔؔ܈ w $PMMFDUJPO w "SS w 4US
w 'MVFOU w 0QUJPOBM w 1)16OJUΛ֦ு͠ɺςετͷ͢͠͞Λ্
Vue.js ͷಛ l5IF1SPHSFTTJWF+BWB4DSJQU'SBNFXPSLz w )5.-$44ͱͷ࠷ݶͷ݁߹ w ෦ద༻ͷ͢͠͞ w 7VFY 'MVY
ʹΑΔ7JFXͱΓ͞Εͨঢ়ଶཧ w ׆ൃͳίϛϡχςΟڊେͳΤίγεςϜ w ެࣜυΩϡϝϯτͷຊޠ༁ͷଘࡏ
Vue.js ͷಛ w 5ZQF4DSJQUΛαϙʔτʢ7VF$-*ʣ w /VYUKT
Simple vs. Easy 4JNQMFFBTZUPVOEFSTUBOE TPMWF PSEP &BTZOPUEJ⒏DVMUUPEP PSOPUOFFEJOHNVDIXPSL .BDNJMMBOEJDUJPOBSZ
Simple vs. Easy 4JNQMFFBTZUPVOEFSTUBOE TPMWF PSEP &BTZOPUEJ⒏DVMUUPEP PSOPUOFFEJOHNVDIXPSL .BDNJMMBOEJDUJPOBSZ
ελʔτΞοϓͱͷ૬ੑ
ελʔτΞοϓͱ w l৽͍͠ϏδωεϞσϧΛ։ൃ͠ɺ࣌ؒ͘͝ͷ͏ͪʹٸܹͳ ͱΤΫδοτΛૂ͏ࣄͰҰ֫ઍۚΛૂ͏ਓʑͷҰ࣌తͳू߹ ମz w νʔϜશମ͕ҰؙͱͳͬͯٸܹͳεϐʔυͰࣄΛਐΊΔͨΊɺ શһ͕߈Ίʹప͢ΔlશͿͬ͜ΈܕΧϛΧθνʔϜz͕ߏ͞Ε Δɻ w
ظతͳձࣾͷମྗͱऩӹԽΛࢦ͢தখاۀͱൺͯΈΔͱɺ ଧ্͚ͪ͛ͩʹϑΥʔΧε͍ͨ͠Γܕϩέοτͱෳճͷ࠶ ར༻Λࢦ͢εϖʔεγϟτϧͱͷҧ͍ͱ͍ͬͨͱ͜ΖͩΖ͏ ͔ɻ ʮϕϯνϟʔاۀͱελʔτΞοϓͷҧ͍ʯ#SBOEPO,)JMM
ελʔτΞοϓͱ w l৽͍͠ϏδωεϞσϧΛ։ൃ͠ɺ࣌ؒ͘͝ͷ͏ͪʹٸܹͳ ͱΤΫδοτΛૂ͏ࣄͰҰ֫ઍۚΛૂ͏ਓʑͷҰ࣌తͳू߹ ମz w νʔϜશମ͕ҰؙͱͳͬͯٸܹͳεϐʔυͰࣄΛਐΊΔͨΊɺ શһ͕߈Ίʹప͢ΔlશͿͬ͜ΈܕΧϛΧθνʔϜz͕ߏ͞Ε Δɻ w
ظతͳձࣾͷମྗͱऩӹԽΛࢦ͢தখاۀͱൺͯΈΔͱɺ ଧ্͚ͪ͛ͩʹϑΥʔΧε͍ͨ͠Γܕϩέοτͱෳճͷ࠶ ར༻Λࢦ͢εϖʔεγϟτϧͱͷҧ͍ͱ͍ͬͨͱ͜ΖͩΖ͏ ͔ɻ ʮϕϯνϟʔاۀͱελʔτΞοϓͷҧ͍ʯ#SBOEPO,)JMM
ελʔτΞοϓͱ w ৽͍͠ϏδωεϞσϧͰظؒͷ͏ͪʹ͢Δ͜ͱΛ ࢦ͢اۀମͰ͋Δ w ৫໘Ͱɺࣗతʹಈ͚Δগਫ਼ӶʹΑΔମ੍͕ٻΊ ΒΕΔ w ϓϩμΫτɺϏδωε͕͍ͭϐϘοτ͢Δ͔͔Βͳ͍ ͷͰɺখ͓͖ͭͬͯ͘͘͞ɺ࣍ͷεςʔδͷঢ়گʹྟػԠ
มʹରԠͰ͖ΔΑ͏ʹ͓ͯ͘͜͠ͱ͕·͍͠
ϓϩμΫγϣϯʹٻΊΒΕΔͷ w ૉૣͭ͘͘ΕΔ͜ͱ w ϥΫʹͭ͘ΕΔ͜ͱ w গਓͰͭ͘ΕΔ͜ͱ
Laravel + Vue.js Ͱͭ͘Δʹ w ΦʔϧΠϯϫϯύοέʔδͳͷͰΠϯετʔϧ͙ͯ͢͠ʹ ͭ͘Γ͡ΊΒΕΔ w ΤίγεςϜ͕ڊେͰɺՃͰඞཁͳύοέʔδ͍ͩͨ ͍ͩΕ͔͕͢Ͱʹͭͬͯ͘͘Ε͍ͯΔͷͰɺͦΕΒΛ͏
w "1* 7VFDPNQPOFOUͰ୲͢Δ w ෳਓͰͭ͘Δ߹ɺਫฏํʢϑϩϯτΤϯυόοΫ Τϯυ ͷ୲ΑΓɺਨํʢػೳʣͷ୲ͷํ͕ޮ ͕͍͍ w σβΠφʔͱͷڠಇʹ4UPSZCPPLΛ͏
ସҊ w ϑϩϯτΤϯυ/VYUKTʢ41"ʣ w όοΫΤϯυϚΠΫϩϑϨʔϜϫʔΫʢ4MJN $PEFJHOJUFS -VNFO FUDʣ w
&MPRVFOUΛ͏͔Ͳ͏͔͕͔Εಓ w ύϑΥʔϚϯεཁ݅ʹΑΔʢ-BSBWFM͍ʣ w ͍ۙকདྷυϝΠϯ͕ෳࡶԽ͢Δ͜ͱ͕ݟ͍͑ͯΔͳΒ࠷ॳ ͔Β-BSBWFMΛ͓͍ͬͯͨํ͕٢
Laravel + Vue.js ͷֶशϓϥϯ
ॳֶऀ(Novice) جૅ w ʢಠֶͳΒʣΦϯϥΠϯεΫʔϧʢςΩετʴϝϯλʔʣ w ʢνʔϜͰϝϯλʔΛ༻ҙͰ͖ΔͳΒʣॻ੶ʴϝϯλʔ w ʢ྆ํΓ͍ͨͳΒʣ+BWB4DSJQUˠ1)1ͷॱ w ʢϑϩϯτΤϯυΔͳΒʣ)5.-ɺ$44
w ʢόοΫΤϯυΔͳΒʣ)551ɺ42-ɺ6OJYͳͲͷपลٕज़ ࣮ફ w طଘػೳͷվम w ؆୯ͳػೳՃʢ$36%ʣ w ঃʑʹෛՙΛ্͍͛ͯ͘
ॳֶऀ(Advanced Beginner) جૅ w ςετ w ΦϒδΣΫτࢦઃܭ w ϦϑΝΫλϦϯά w
σʔλϕʔεςʔϒϧઃܭ ࣮ફ w طଘػೳʹର͢ΔςετΛॻ͘ w খ͞ͳϦϑΝΫλϦϯά w ςʔϒϧͱϞσϧઃܭ
தڃऀ(Intermediate) جૅ w υϝΠϯۦಈઃܭ w ؔܕϓϩάϥϛϯά ࣮ફ w ϑϨʔϜϫʔΫʹґଘ͠ͳ͍υϝΠϯͷΫϥεઃܭʢϞ σϦϯάɺίϥϘϨʔγϣϯʣ
w ϩόετωεΛ্ͤ͞Δࢪࡦ
ֶशϦιʔε w 7VFKT w ެࣜυΩϡϝϯτ w ʮجૅ͔ΒֶͿ7VFKTʯ w ʮ/VYUKTϏΪφʔζΨΠυʯ w
-BSBWFM w ެࣜυΩϡϝϯτ w ʮ1)1ϑϨʔϜϫʔΫ-BSBWFMೖʯ w ʮ1)1ϑϨʔϜϫʔΫ-BSBWFM8FCΞϓϦέʔγϣϯ։ൃʯ
None
ࣗ༝͔Β੍
੍ΛٻΊΔҼࢠ w ΞϓϦέʔγϣϯͷෳࡶԽ w ৫ͷ֦େ w Ϗδωεͷ֦େ
੍ΛٻΊΔҼࢠ w ΞϓϦέʔγϣϯͷෳࡶԽ w ৫ͷ֦େ w Ϗδωεͷ֦େ w มߋʹ͔͔Δίετͷ૿େΛ؇͔ʹ͢Δඞཁੑ w
ίϛϡχέʔγϣϯίετͷ૿େΛ؇͔ʹ͢Δඞཁੑ w ϓϩμΫτىҼͷϏδωεϦεΫΛݮΒ͢ඞཁੑ
มߋʹ͔͔ΔίετΛ͑Δ w ॏෳίʔυͷഉআʗ੩తղੳʹΑΔෳࡶνΣοΫ w 1)1$1% 1IQ4UBO 1IBO FUD w ςετΧόϨοδͷ্ʢΛඪʹʣ
w QIQVOJU QIQECH w $*$% w $JSDMF$* 5SBWJT$* EFQMPZFS DBQJTUSBOP FUD
ίϛϡχέʔγϣϯίετΛ͑Δ w 143ʹ४ڌͨ͠ίʔσΟϯάελΠϧͷ౷Ұ w 1IQTUPSN QIQDT FUD w ઃܭϙϦγʔʢϧʔϧɺΨΠυϥΠϯʣͷࡦఆ w
ίʔυϨϏϡʔͰΔ͜ͱʗΒͳ͍͜ͱΛ໌֬Խ
ϏδωεϦεΫΛ͑Δ w ੬ऑੑௐࠪʗηΩϡϦςΟڧԽ w ϞχλϦϯάʢΤϥʔݕɺϓϩηεࢹɺFUDʣ w 3PMMCBS 4FOUSZ .BDLFSFM /FX3FMJD
FUD w ύϑΥʔϚϯενϡʔχϯάʢσʔλྔ૿େʹ͏Ԡ ͷԼΛ͙ʣ
·ͱΊ
·ͱΊ w -BSBWFM 7VFKTͷ͍͍ͯΔঢ়گɺগਓͰɺૉૣ͘ɺָͯ͠ ͭ͘Γ͍ͨͱ͖ w -BSBWFM 7VFKTςετ͕ॻ͖͘͢ͳ͍ͬͯΔͷͰͲΜͲΜॻ͍ ͍͖ͯ·͠ΐ͏ w
ΦϒδΣΫτࢦઃܭͱؔܕϓϩάϥϛϯάͷجૅࣝΛʹͭ ͚·͠ΐ͏ w -BSBWFM7VFKT੍ͷগͳ͍ϑϨʔϜϫʔΫͳͷͰɺෳࡶ͕ ૿ͨ͠Γਓ͕૿͑ͨΓ͖ͯͨ͠ͱ͖ࣗͨͪͰنΛͭͬͯ͘ ͍͖·͠ΐ͏ w -BSBWFM 7VFKTʹอकϑΣʔζʹؔΘΔύοέʔδἧ͍ͬͯΔ ͷͰ͍͖ͬͯ·͠ΐ͏