지난 몇 년 동안, 웹 개발 분야에서는 다양한 프레임워크와 라이브러리가 등장하였다.
이미 Angular, React, Vue.js 등은 이미 웹 개발 분야에서 많이 사용 되고 있다.
나온지 얼마안된 뜨끈뜨끈한 프레임워크로 Angular, React, Vue.js의 경우에는
작성한 코드를 해석하고 런타임에 해석하여 화면에 표시하는 방식을 사용하고 있으나
이에 따라 크기가 큰 애플리케이션의 경우 성능 저하와 함께 초기 로딩 속도가 느려지는 문제가 발생할 수 있습니다.
이러한 문제를 해결하기 위해 Svelte 라는 언어가 탄생 되었습니다.
기존의 런타임 방식과는 다른 접근 방식으로 컴파일러를 통해 애플리케이션을 번들링하는 것입니다.
Svelte로 작성한 코드를 컴파일하면, 최적화된 JavaScript 코드로 변환이 되며 변환된 코드는 런타임에 해석되지 않고, 브라우저에서 직접 실행됩니다. 따라서 초기 로딩 속도가 매우 빠르며, 작은 번들 크기를 유지할 수 있다고 한다.
Svelte는 가상 DOM(Virtual DOM)을 사용하지 않습니다. 대신, 변경된 부분만 직접 조작하여 DOM을 업데이트합니다.
이로써 불필요한 리렌더링을 최소화하고 성능을 향상시킵니다.
이러한 방식은 복잡한 상태 관리를 간소화하고, 개발자들이 직관적이고 효율적인 코드를 작성할 수 있도록 도와준다.
Svelte는 반응형 기능을 내장하고 있어, 데이터의 변경을 감지하고 자동으로 UI를 업데이트할 수 있습니다. 이를 통해 개발자는 별도의 상태 관리 라이브러리를 사용하지 않고도 간단하게 상호작용하는 웹 애플리케이션을 개발할 수 있습니다.
하지만 나온지 얼마 안된 프레임워크다 보니 강의나 강좌가 많이 없고 약간 온몸으로 부딪히는 기분이다.
Svelte의 경우 학습곡선이 낮다고 하여 한번 도전해 볼까 한다.