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
Laravel + Nuxt.js + FirebaseでDXと開発コストを意識したSPA開発
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takayuki
PRO
June 25, 2019
Programming
3
2.6k
Laravel + Nuxt.js + FirebaseでDXと開発コストを意識したSPA開発
Laravel + Nuxt.js + FirebaseでDXと開発コストを意識したSPA開発
Takayuki
PRO
June 25, 2019
Tweet
Share
More Decks by Takayuki
See All by Takayuki
Laravel Applications with DDD x Clean Architecture x Vibe Coding
bumptakayuki
PRO
1
98
Laravel × Clean Architecture
bumptakayuki
PRO
1
470
エンジニアのキャリア論
bumptakayuki
PRO
1
240
地方カンファレンス主催のススメ
bumptakayuki
PRO
1
230
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
PRO
2
1.2k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
PRO
0
730
沖縄観光、名物を一挙紹介!
bumptakayuki
PRO
2
720
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
PRO
1
3.1k
flutterでイベントアプリを作ってみた
bumptakayuki
PRO
0
170
Other Decks in Programming
See All in Programming
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
1.9k
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
120
CSC307 Lecture 02
javiergs
PRO
1
770
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
500
AtCoder Conference 2025
shindannin
0
1k
Implementation Patterns
denyspoltorak
0
270
Vibe codingでおすすめの言語と開発手法
uyuki234
0
210
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
530
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5.9k
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
710
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Getting science done with accelerated Python computing platforms
jacobtomlinson
1
110
The Curious Case for Waylosing
cassininazir
0
230
Paper Plane
katiecoart
PRO
0
46k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
210
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
44
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
280
Six Lessons from altMBA
skipperchong
29
4.1k
Producing Creativity
orderedlist
PRO
348
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
30 Presentation Tips
portentint
PRO
1
200
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
99
Transcript
Laravel + Nuxt.js + FirebaseでDXͱ ։ൃίετΛҙࣝͨ͠SPA։ൃ Laravel + Nuxt.js +
FirebaseでDXͱ ։ൃίετΛҙࣝͨ͠SPA։ൃ
2 ٕज़બఆʹ͍ͭͯ Agenda 3 νʔϜϏϧσΟϯάʹ͍ͭͯ 1 ࣗݾհ
1 ࣗݾհ
Copyright Re:Build.inc All Rights Reserved. ◆໊લ ླ ೭(Suzuki Takayuki) ※ಉಉ໊ଟͯ͘ࠔͬͯ·͢ɻɻɻ
◆ࣗݾհ ɾ1990ɺਆಸݝੜ·Εɻ ɾࣾձਓʹͳ͔ͬͯΒɺϓϩάϥϛϯάΛ࢝ΊΔɻ ɾ2015ʹϑϧεϐʔυʹೖࣾ͠ɺ2017ʹಠཱɻ ɾϑϦʔϥϯεͰϦϞʔτϫʔΫΛͬͨޙʹԭೄͰىۀ ◆झຯ ίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺٿ؍ઓ ◆εΩϧ ɾPHP, Symfony2,CakePHP3,Laravel6 ɾJavaScript, backbone.js,Angular4,Vue.js,Nuxt.js BDD(Ϗʔνۦಈ։ൃ) 1.ࣗݾհ
Copyright Re:Build.inc All Rights Reserved. ԭೄͰ 150ਓنͷΤϯδχΞ͚ษڧձΛओ࠵ h&ps:/ /phpcon.okinawa.jp/ ҰؾʹΤϯδχΞͱͷܨ͕ΓΛ֦େͤ͞Δʂ
PHPΧϯϑΝϨϯεɺPHPΤϯδχΞʹΑΔ࠷େ نͷٕज़ऀΠϕϯτͱͯ͠ɺ౦ژɺؔɺԬɺ ւಓͰ։࠵͞Ε͖ͯ·ͨ͠ɻ 1.ࣗݾհ
Copyright Re:Build.inc All Rights Reserved. ࣗݾհ 1
Copyright Re:Build.inc All Rights Reserved. ࣗݾհ 1
Copyright Re:Build.inc All Rights Reserved. 1.ձࣾհ ◆ձ໊ࣾ גࣜձࣾRe:Build ◆ॅॴ ԭೄݝԭೄࢢதԝ̍ஸ̍̒−̕
◆ࣄۀ༰ ɾࣗࣾWEBαʔϏεͷاըɾ։ൃɻ ɾडୗ։ൃ ◆ࣾһ 7໊ ◆ΤϯδχΞͷಇ͖ํ ϦϞʔτϫʔΫՄೳͳࣗ༝ͳಇ͖ํΛਪͯ͠·͢ʂ
9 ࣗࣾWebαʔϏεͷ։ൃ ɾαʔϏε໊ Tadoru ɾγεςϜ֓ཁ ΤϯδχΞಛԽܕͷ ϦϑΝϥϧ Ϋϥυιʔγϯά ɾ͍ͬͯΔٕज़ ݴޠ
: PHP,JavaScript ϑϨʔϜϫʔΫ: laravel5,Nuxt.jsͳͲ
2 ٕज़બఆʹ͍ͭͯ
11 ࣌ͷ։ൃϝϯόʔͷεΩϧηοτ SPAͷWebΞϓϦܦݧ ऀ Ұਓ αʔόαΠυ(Laravel) ಘҙͳਓ͕ଟ͍ Vue.js(MPA)৮ͬͨ͜ͱ ͋Δϝϯόʔ͕ଟ͍ 20લʙ20ޙͰ
։ൃܦݧগ͠ઙ͍
1 2 ։ൃεέδϡʔϧ 201812݄ʙ 20193݄ 20194݄ʙ6݄ ։ൃ։࢝ Ϋϩʔζυβ൛ ࠷ݶͷ։ൃج൫ɺυ Ωϡϝϯτɺ։ൃମ੍
Λඋͯ͠ɺ͕ͬͭΓ ։ൃΛਐΊΔ ଟগɺόά͕͋ͬͯ ྑ͍ͷͰɺશମతʹ࠷ ݶͷॳظͷػೳ͕Ϧ Ϧʔε͞Ε͍ͯΔঢ়ଶ Λࢦ͢ɻ γʔυϥϯυͷࢿۚ ௐୡ༧ఆ ॳظͷػೳ͕ϦϦʔε ͞Ε͓ͯΓɺ͋Δఔɺ Ϣʔβͷొ֬อ͞ Ε͍ͯΔঢ়ଶΛࢦ͢
1 3 ΤϯδχΞ࠾༻Ͱͷٕज़બఆ؍ ࠓޙɺࢢͱͯ͠͞Ε ͦ͏ͳٕज़ ݕࡧͨ͠Β͋Δఔɺωοτʹ υΩϡϝϯτ͕͋Δ ԭೄͰઑ͍ͬͯΔٕज़ ։ൃίετ͕ߴ͗ͣ͢ɺఔ Α͘ઓ͍ͨ͠
1 4 DXͱʁ Developer Experience ʢ։ൃମݧʣͱɺ͋Δγ εςϜΛʮؾ࣋ͪΑ͘։ൃɾอकͰ͖Δ͔Ͳ͏͔ʯ Λࣔ͢ͷ ։ൃऀ։ൃɾอकͱ͍͏ߦҝΛ௨ͨͦ͡ͷγε ςϜͷϢʔβʔͰ͋ΓɺDXUXͷҰछͰ͋Δ
https://gfx.hatenablog.com/entry/2018/06/28/100103
Copyright Re:Build.inc All Rights Reserved. ؾ࣋ͪͷ༨༟͕ͰΔͱίʔ υͷ࣭͕͕͋Γอक࣌ ͷσάϨݮΒͤΔ ʑͷ։ൃΛָ͠ΊΔΑ ͏ʹͳΓɺؾ࣋ͪʹ༨༟
͕Ͱ͖Δɻ DX͕ྑ͍ࣄࣗମ͕DXΛߴ ΊΔಈػʹͳΓɺਖ਼ͷεύ ΠϥϧΛݟࠐΊΔɻ 1 2 3 https://gfx.hatenablog.com/entry/2018/06/28/100103 DX͕ߴ͘ͳΔͱԿ͕ྑ͍ͷ͔ʁ
1 6 ΤϯδχΞ࠾༻Ͱͷٕज़બఆ؍(ओ؍) ࢢՁ͕ߴ͍ ΤϯδχΞͷଟ͍ ΤϯδχΞͷগͳ͍ ࢢՁ͕͍ ͜͜Λૂ͏ʂ ༏लͳਓࡐΛ ࠾༻͍͢͠
1 7 ΤϯδχΞ࠾༻Ͱͷٕज़બఆ؍(ओ؍) ࢢՁ͕ߴ͍ ΤϯδχΞͷଟ͍ ΤϯδχΞͷগͳ͍ ࢢՁ͕͍
1 8 ΤϯδχΞ࠾༻Ͱͷٕज़બఆ؍ Laravelࠓޙਓؾଓ͖ͦ͏
1 9 ΤϯδχΞ࠾༻Ͱͷٕज़બఆ؍ ͏ʔΜɺΘ͔Βͳ͍ɻɻɻ
2 0 ΤϯδχΞ࠾༻Ͱͷٕज़બఆ؍ ౦ژͷNuxt MeetupʹࢀՃͯ͠ࢀՃऀͷԠݟͯΈΔࣄʹͨ͠ʂ 2018/10/18 ࢀՃ100ਓʹରͯ͠ɺ Ԡื͕161ਓ͍Δʂʂ
2 1 ͷ༷ࢠ https://techblog.scouter.co.jp/entry/2018/10/19/153000 ը૾SCOUTER։ൃऀϒϩάΑΓҾ༻͖ͤͯ͞·ͨ͠ɻ ੌ͍ؾʂʂ
2 2 ࢀՃऀͷ ͍͍͚ͨͲɺ·ͩ౦ژͷ ձࣾͰͳ͔ͳ͔ɺಋೖ͠ ͍ͯΔاۀগͳ͍ ϓϥΠϕʔτͰษڧͯ͠ ͍Δਓ͕ଟ͍ Nuxtͷٻਓࣗମ૿͖͑ͯ ͍ͯΔҹ
2 3 બఆٕͨ͠ज़ ▪ٕज़ཁ݅ ɾαʔόαΠυ PHP(Laravel6) ɾϑϩϯτΤϯυ JavaScript(Vue.js,Nuxt.js) ɾςετ PHPUnit,Cypress
ɾ੩తղੳ ESlint,PHPStan ɾΠϯϑϥ AWS(EC2,S3,RDS(mariadb)) ɾ։ൃڥ php7,nginx,mariadb,docker,webpack ɾͦͷଞ gitlab,gitlabCI(ࣗಈσϓϩΠͳ Ͳ),Slack,phpStorm
ϑϩϯτΤϯυ αʔόαΠυ શମߏ Gitlab CI ςετɾLintͳͲ Firebase ςετɾLintͳͲ
શମͷΞʔΩςΫνϟ(̐ͭͷυϝΠϯผ) ϑϩϯτΤϯυ αʔόαΠυ blade MPAߏ ϑϩϯτΤϯυ αʔόαΠυ SPAߏ αʔόαΠυ ϑϩϯτΤϯυ
αʔόαΠυ blade MPAߏ ϫʔΧʔը໘ ΤʔδΣϯτը໘ اۀը໘ SPAߏ ϑϩϯτΤϯυ ӡӦը໘ MPA SPA
(1)PUSH (2)GitlabCI࣮ߦ (3)ίϯςφىಈ Gitlab (6)Envoy࣮ߦ ςετ࣮ߦ ίϯςφ σϓϩΠ࣮ߦ ίϯςφ (5)ίϯςφىಈ
(4)UnitTest࣮ߦ (7)Pull εςʔδϯάڥ ϦϙδτϦ Gitlab CI
3 νʔϜϏϧσΟϯάʹ͍ͭͯ
2 8 TwitterͰืूͯ͠ΈΔ Γ߹͍ͷΤϯδχΞ͞Μ 5ਓ͘Β͍͔Β࿈བྷ͕͖ͨʂ
2 9 ։ൃνʔϜߏ Suzuki Takayuki ਖ਼ࣾһ (ि5ۈ) Kakazu Yuki (ਖ਼ࣾһ)
Ϛωδϝϯτ&։ൃ ։ൃ ϑϦʔϥϯε (ि2ۈ) ϑϦʔϥϯε (ि2ۈ) ϑϦʔϥϯε (ि2ۈ) ϑϦʔϥϯε (ि1ۈ) ཁ݅ఆٛ UI/UX ਖ਼ࣾһ (ि5ۈ) ෭ۀ (ि1ۈ)
LaravelΛख़͓ͯ͠Γɺ ਂ͍͕ࣝ͋Δ εΫϥϜϚελʔͷ ܦݧ͕͋Δ ϑϩϯτΤϯυ (Nuxt.jsɺVue.js)͕ಘҙ 3 0 ϑϦʔϥϯεͷํͷεΩϧηοτ
3 1 ϑϦʔϥϯεͷํʹґཔ͢Δࣄ ϑϩϯτΤϯυ(Nuxt.js)ͷ։ൃ ৽͍ٕ͠ज़ͷબʹ ͋ͨͬͯͷ૬ஊ (FirebaseCypressͳͲ) શମͷΞʔΩςΫνϟͷ૬ஊ εΫϥϜͷճ͠ํͷ૬ஊ
3 2 ϦϞʔτϫʔΫͷ׆༻ ౦ژ ٶ࡚ ԭೄ ීஈ͔ΒϦϞʔτϫʔΫΛಋೖ ͍ͯ͠ΔࣄʹΑͬͯɺ ݝ֎ͷํʹࣄΛґཔͰ͖Δ
3 3 ใͷ׆༻
3 4 εΫϥϜ։ൃ ݄ Ր ਫ ۚ Sprint
ϙʔΧʔϓϥϯ χϯά/։ൃ σΠϦʔεΫϥ Ϝ/։ൃ σΠϦʔεΫϥ Ϝ/։ൃ σΠϦʔεΫϥ Ϝ/։ൃ εϓϦϯτϨϏ ϡʔ/ ϦϦʔε εϓϦϯτϓϥ ϯχϯά
3 5 εΫϥϜ։ൃ
3 6 ·ͱΊ ɾٕज़બఆษڧձʹࢀՃͯ͠ɺ࣮ࡍͷԹײݟΔ ɾٕज़తʹকདྷੑ͕͋Γͦ͏ͳͷΛબఆ ɾϦϞʔτϫʔΫͷ׆༻Ͱ࠾༻ൣғશࠃʹ͛ΒΕΔ
3 7 ࠂ 2020 PHPΧϯϑΝϨϯεԭೄ։࠵͠·͢ʂ
3 8 ࠂ 2020 2݄͝ΖʹͰLaravelϛʔτΞοϓΛΓ·͢ʂ