Vue3를 기다리며...

Updated on

호옹이… 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를 사용할경우, 라라벨 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 로 작업해보도록 하겠다.

https://dev.to/vittorioe/laravel-livewire-292l

위 링크는 검색해보면서 찾아낸건데….. 정말 livewire가 게임체인져가 될지는…… 나중에…