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
Vue.js with Laravel
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
C058
October 17, 2017
Programming
0
1k
Vue.js with Laravel
社内ワークショップでVue.jsの実装についてLTした際の資料です
C058
October 17, 2017
Tweet
Share
More Decks by C058
See All by C058
エンジニア研修 実施側(しくじった) LT
c058
0
84
Webアクセシビリティについて興味を持ってみよう
c058
1
120
PHP7で致命的エラーを 処理したい
c058
0
830
Other Decks in Programming
See All in Programming
AtCoder Conference 2025
shindannin
0
1.1k
AI & Enginnering
codelynx
0
120
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
CSC307 Lecture 08
javiergs
PRO
0
670
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
720
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
Fluid Templating in TYPO3 14
s2b
0
130
組織で育むオブザーバビリティ
ryota_hnk
0
180
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
470
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Ruling the World: When Life Gets Gamed
codingconduct
0
140
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
Making the Leap to Tech Lead
cromwellryan
135
9.7k
A better future with KSS
kneath
240
18k
Everyday Curiosity
cassininazir
0
130
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Transcript
Vue.js with Laravel @C058
アジェンダ 1. PICUPについて 2. CMSでの考慮ポイント 3. Vue.js, Laravelの説明 4. 開発のはじめ方
5. Vue.js基礎 6. PICUPでの実装をチョット見せます
”ピカップ”はあなたが安心して次の一歩を踏み出せる お買い物を”その道のプロ”が提供する情報でサポート するメディア https://picup.allabout.co.jp/
None
注力ポイント✌ いかに良い情報(記事)を発信できるか ≒ 記事本数をどれだけ増やせるか ⇓ 良いCMSをどのくらい提供できるか
良いCMS ≒ 良いユーザビリティ ある製品が 特定のユーザによって 特定の状況下で 特定の目標を達成する際に 求められる 有効さ・効率・満足度の度合い
CMSでは • 処理の成功失敗をユーザーが理解出来る • 何を入力したら良いか分かる • 痒いところに手が届く機能 • メディア・業務フローの成熟具合に応じて機能改修・追加しや すい
以上、踏まえたうえで実装は • UI,UXにこだわる • 機能追加・改善しやすい構造にする • データ構造をシンプルにする • 拡張性を担保する
PICUPの利用フレームワーク • Vue.js 2系 • Laravel 5.4
Vue.js
Vue.js 特徴 • リアクティブ(疎結合でスケーラビリティ高い) なデータバインディング • 再利用性の高いコンポーネント • 仮想DOMによる高速なレンダリング ◦
DOM構造に依存しないデータ構造 • シンプルなAPI • vue.jsのコメントがたまに中国語
Vue.js メリット • 日本語ドキュメントが充実 • コンポーネント志向->機能を疎結合にできる ◦ HTMLとJSの実装を1セット1ファイルで管理できる ◦ (ヤバイ仕様・実装を閉じ込めることが可能)
• 既存実装と同居しやすい ◦ 必要に応じてjQueryも併用できる • 少しの学習コストで済む
Laravel 5.3 -> Vue.jsを標準JavaScriptフレームワークに採用 5.4 -> フロントエンドビルドツールが gulpベースElixir→WebpackベースのMixに Web APIはLaravelで作成
SPAをVue.jsで組む、といったことが簡単にできる
Vue.js + Laravel 拡張性の高いアプリがすぐに つくれる組み合わせ。
Vue.js + Laravelの始め 方
始め方 1. Laravel インストール a. composer create-project --prefer-dist laravel/laravel %アプリ名%
2. npm install 3. resourcesに.vue用意する 4. bladeでjs読み込む 5. サーバー立ち上げ a. php artisan serve b. http://127.0.0.1:8000 6. npm run watch
Vueでとりあえず覚えておくこと • データバインディング • 双方向バインディング • method, computed • レンダリング
• コンポーネント
イベント・ データバインディング +メソッド http://127.0.0.1:8000/
双方向データバインディング レンダリング コンポーネント http://127.0.0.1:8000/todo
結構、簡単。
PICUP CMSの実装
コンポーネント • 入力フォーム項目1つを1コンポーネント扱い ◦ データ構造とDOMが連動しないので並び替えや表示・仕様変更に耐えやすい ◦ ex)URLからのタイトル自動取得・文字数カウントは入力補助機能 • ギミックはコンポーネントに閉じ込める ◦
ローカルで完結する処理をコンポーネントに閉じ込めることで 処理が隔離され見通しが良くなった✌
参考資料 • 本家ドキュメント https://vuejs.org/ • デモリポジトリ https://github.com/C058/vue-laravel
開発Tips
https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=ja