파란하늘의 지식창고
반응형

개인적으로 공부하면서 기록한 내용입니다.

전문적인 지식을 정리한 글이 아닙니다.


개인적으로 vue 2 버전을 nuxt와 vue cli를 함께 사용하였다.

vue 3가 나왔지만 nuxt가 지원하지 않아서 공부하던 프로젝트를 버전 업하지 않았었는데 오래간만에 다시 찾아보니 여전히 아직 지원하지 않고 RC 버전까지 나왔다.

vue 3 정식 버전이 나온 게 2020년 9월 19일이었다.

https://github.com/vuejs/core/releases/tag/v3.0.0

Nuxt의 Vue 3 지원 지연

vue 3는 이후로도 계속 활발하게 릴리즈 되고 있었지만  nuxt의 경우 현재까지도 vue 3 지원하는 버전이 정식 릴리즈 되지 않고 있다.

작년에 릴리즈 된다던 타임라인이 그동안 여러 번 연기가 되었다.

https://github.com/nuxt/nuxt.js/discussions/9398

올해 여름에 릴리즈 예정이라고 하는데 또 변경될지 모를 일이다.

https://v3.nuxtjs.org/community/roadmap

급변하는 javasciprt 개발 환경

그러는 동안에도 javasciprt 개발 환경은 급변하고 있다.

stateofjs 2021을 보면 solidjs가 새롭게 관심을 받고 있고 Reactijs의 Next, Vue의 Nuxt와 같은 성격의 SvelteKit이 나왔다.

또한 새롭게 solid js라는 게 나왔다.

solid js는 reactive javasciprt library라는데 반응이 좋은 것 같다.

https://2021.stateofjs.com/ko-KR/libraries/front-end-frameworks

그리고 기존 vue cli를 대체하는 vite가 나왔다.

https://2021.stateofjs.com/ko-KR/libraries/build-tools

VueConf Toronto 2021에서 vue를 만든 Evan You가 vue cli 대신 create-vue를, Vuex 대신 Pinia를, IDE plugin은 Vetur에서 Volar를 새로운 기본 권장 사항으로 소개했다.

https://www.youtube.com/watch?v=2KBHvaAWJOA 

https://docs.google.com/presentation/d/1NntydB8nwtTpcIuKg6O1s_ZeGJKtffTn39Wi1OHhts0/edit#slide=id.gfa545cce14_0_458

vite 소개

vite는 vue를 만든 Evan You가 vue 지원을 위해 만든 만든 빌드 도구이다.

직접 소개하는 영상도 있다. (한글 자막 지원함)

https://www.youtube.com/watch?v=UJypSr8IhKY 

하지만 vue 뿐만 아니라 vanilla, react, preact, lit, svelte 도 지원하면서 범용적인 도구가 되었다.

ES 6는 module을 지원하면서 javasciprt 개발 환경이 급변했지만 웹 환경 특성상 지원하지 않는 브라우저에 대해서도 제공이 되어야 했다.

이를 위해 ES 6 module로 개발을 하더라도 기존 환경에 호환되는 스크립트를 만드는 번들링(bundling) 과정을 거쳐야 하고 이를 위해 webpack, rollup, parcel 같은 도구들을 사용하였다.

하지만 모듈이 많아질수록 빌드에 소요되는 시간이 증가하였고 vite는 이런 단점을 해결하였다고 한다.


개인적으로 javasciprt나 프런트 웹은 백엔드 공부하면서 최소한의 정도로만 공부하는 편이다.

그런데 이렇게 수많은 라이브러리들이 나오고 또 그런 라이브러리들에 파생된 라이브러리들을 사용하면서 버전 변경에 적응하는 과정이나 또는 ES 3, ES 5, ES 6이 나오면서 javascript와 제공해야 할 웹 브라우저 호환성의 간극을 해결하기 위한 방법 등 javascript 생태계를 보면 참 어렵고 복잡하다고 느껴진다.

또한 typescript가 많은 지지를 받고 있어서 이에 대한 공부도 해야 하겠구나 싶다.

반응형
profile

파란하늘의 지식창고

@Bluesky_

도움이 되었다면 광고를 클릭해주세요