Vue3を待ちながら...
ほおお... Vue3を待っている... 正確にはNuxt 3なんだけど..\ 思ったより大きく変わりそうなので、これまで作業してきたNuxtはそのままにして、新しいもので作業している。 でも.. たぶんNuxt 3が出ても、ほかのプラグインが対応するまでには少し時間がかかるよね..? ふむふむ.. それで、新しく取り
ほおお... Vue3を待っている... 正確にはNuxt 3なんだけど..
思ったより大きく変わりそうなので、これまで作業してきたNuxtはそのままにして、新しいもので作業している。
でも.. たぶんNuxt 3が出ても、ほかのプラグインが対応するまでには少し時間がかかるよね..? ふむふむ..
それで、新しく取り組んでいるのは
Tailwindcss + Alpine.js (store) + Livewire の組み合わせだ。
Laravel + Nuxt 3 + Alpine.js の場合、Laravelがバックエンドの役割を担い、通信に関する部分はすべてAPIとして構築して利用する必要があった。
そのため、Vue3を使おうとすると、SEOなどの面でも問題が発生しがちだった。
だから、Nuxtを使ってSEOの問題を解決しながら... VueとLaravelをうまく利用するためにNuxtを使っていたのだけれど...
この方式には、LaravelのAPIを作業しなければならず、さらにNuxtでもフロントエンドの作業をしなければならないという欠点があった。
しかし、上記のLivewireを使う場合は、Laravelのbladeを利用するため、テンプレート領域だけを丸ごと置き換えることで、SEOにも問題なく対応できると説明されている。
NuxtはNuxt Nodeサーバーを起動し、そのNuxtサーバーで最初のページにアクセスした際にデータを受け取って、そのままDOMに出力することでSEOの問題を解決する方式だけれど、
Livewireは、ページをそのままbladeで出力し、変化する部分はajax(axios)通信でHTML領域全体を置き換える...という方式だ..
どちらが正しいとは言いにくい気がする..
どちらにしても、慣れていれば開発速度はどんどん上がっていくものだからね。
パフォーマンスの面では、HTML全体を再適用するLivewireのほうが少し遅いんじゃないかな....? でもこれもよくわからない.. PHP8が待っているから..
でも.. Vueも3.0バージョンでは思ったより速くなるので... 本当に微妙なところだ..
でもとにかく、理由もなくNuxt 3 (Vue 3)を待っている身としては、Livewireでプロジェクトを作業してみたい気持ちが出てきた。
なのでひとまず... Vue3を待ちながら、Livewire + Alpine.jsで作業してみようと思う。