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
310
Design It! in a nutshell
nunulk
1
260
PHP Getting Faster
nunulk
0
270
How does learning English broaden your world?
nunulk
0
360
Testing on Laravel
nunulk
1
1.5k
Vue.js + TypeScript + Firebase
nunulk
0
940
Nuxt.js in TypeScript
nunulk
1
430
Unit Testing Laravel
nunulk
0
480
A Third-rate Programmer Talked about a Survival Strategy for Software Engineers
nunulk
3
580
Other Decks in Programming
See All in Programming
JJUG CCC 2025 Fall: Virtual Thread Deep Dive
ternbusty
3
480
「AWS CDK入門」の前日譚/Prequelto-Introduction-To-AWSCDK
tyumugi1113
0
100
Flutterチームから作る組織の越境文化
findy_eventslides
0
560
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.6k
Level up your Gemini CLI - D&D Style!
palladius
1
110
DartASTとその活用
sotaatos
2
150
Nitro v3
kazupon
2
320
Chart.jsで長い項目を表示するときのハマりどころ
yumechi
0
150
2025 컴포즈 마법사
jisungbin
0
150
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
11
5.2k
TypeScript 5.9で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
380
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
5
2k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Code Review Best Practice
trishagee
72
19k
Unsuck your backbone
ammeep
671
58k
Building an army of robots
kneath
306
46k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Music & Morning Musume
bryan
46
7k
Building Applications with DynamoDB
mza
96
6.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
340
Designing for humans not robots
tammielis
254
26k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
45
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ʹอकϑΣʔζʹؔΘΔύοέʔδἧ͍ͬͯΔ ͷͰ͍͖ͬͯ·͠ΐ͏