はじめに
普段はECCUBEでECサイトを主に作成しています。
と言っても私は普段プログラムは書かないですが。
ロートルなんで、Laravel分かりません。触った事ないです。
ただ、filamentphpみてると、結構簡単にできそう!!
ECパッケージ作ってみるかって成りました。
開発日記として、書いていくようにします。
とりあえずの目標
- スケーラブル
 ・100万商品、100万会員、100万受注でも普通に動いてほしい
 → N+1問題の解決(ECCUBEは結構起こしてるよね)
 ・ECCUBEでも出来るのですが、簡単に水平スケールできるように
- 多言語、多通貨対応
- レイアウト管理
- バリエーション管理
 ECCUBEの規格管理は少し使いにくくないかな
- カスタマイズが簡単
 ECCUBEはSymfonyを使っているのですが、Doctrine面倒
- 出来れば
 ・多店舗管理もしたいなあ
FilamentPHP について
Laravel 用の 管理画面(Admin Panel)構築フレームワーク。
開発者が CRUD(作成・閲覧・更新・削除)操作を簡単に作れる。
ちょっと触ってみたけど、すげーなあ。簡単な事はサクサク。
難しいことは知らん。
Livewire をベースにしているため、リアルタイム UI の構築が簡単。
TailwindCSS による レスポンシブでモダンなデザイン を標準提供。
ってことらしい。
Livewire について
Livewire は Laravel 向けのフルスタックフレームワークで、JavaScript をほとんど書かずに動的なインタラクティブUIを構築できるライブラリらしい。
要はPHP開発者が普段している事ベースで、フロントにデータを送れてしまう。らくちん。
こんな感じ
[ブラウザリクエスト]
  |
  v
[Laravel PHP サーバー]
  |
  |-- 1. Eloquent で Blog + Comments + User 取得 (1000件)
  |
  |-- 2. Blade で HTML レンダリング (1000行)
  |
[生成 HTML を JSON に変換]
  |
  v
[ブラウザ: Livewire JS]
  |
  |-- 3. DOM 差分計算
  |
  v
[ブラウザ画面更新: 1000件テーブル表示]
比較表はこんな感じ
重いらしい。
でも簡単。なのでOK。
| 項目 | Livewire | Vue SPA | 
|---|---|---|
| サーバー負荷 | 高い(HTMLレンダリング) | 低い(JSON生成のみ) | 
| 通信量 | 大きい(HTML含む JSON) | 小さい(データのみ) | 
| ブラウザ負荷 | DOM差分計算が重い | 仮想DOMで効率的 | 
| 操作レスポンス | 遅くなる可能性あり | 高速 | 
| 実装コスト | 低(Bladeで簡単) | やや高(API + Vueコンポーネント) | 
| 大規模データ向き | △ 1000件以上は要工夫 | ◎ 数万件でも工夫可能(Virtual Scroll等) |