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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
85
Webアクセシビリティについて興味を持ってみよう
c058
1
120
PHP7で致命的エラーを 処理したい
c058
0
830
Other Decks in Programming
See All in Programming
Understanding Apache Lucene - More than just full-text search
spinscale
0
130
SourceGeneratorのマーカー属性問題について
htkym
0
200
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
110
Codex の「自走力」を高める
yorifuji
0
1.2k
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
350
Ruby and LLM Ecosystem 2nd
koic
1
1k
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
140
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
170
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
310
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
570
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
210
AI活用のコスパを最大化する方法
ochtum
0
220
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.6k
We Have a Design System, Now What?
morganepeng
55
8k
Evolving SEO for Evolving Search Engines
ryanjones
0
160
The untapped power of vector embeddings
frankvandijk
2
1.6k
エンジニアに許された特別な時間の終わり
watany
106
240k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
The Pragmatic Product Professional
lauravandoore
37
7.2k
Exploring anti-patterns in Rails
aemeredith
2
290
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
180
Claude Code のすすめ
schroneko
67
220k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
240
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