<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=Svelte</id>
	<title>Svelte - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=Svelte"/>
	<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=Svelte&amp;action=history"/>
	<updated>2026-07-20T00:47:14Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.gaonwiki.com/w/index.php?title=Svelte&amp;diff=107677&amp;oldid=prev</id>
		<title>Gaon12: 시작</title>
		<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=Svelte&amp;diff=107677&amp;oldid=prev"/>
		<updated>2024-11-30T03:38:00Z</updated>

		<summary type="html">&lt;p&gt;시작&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| [[파일:Svelte Logo.svg]]&lt;br /&gt;
|-&lt;br /&gt;
! Svelte 로고&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Svelte&amp;#039;&amp;#039;&amp;#039;는 현대적인 [[자바스크립트]] 프론트엔드 프레임워크 중 하나로, [[2016년]] [[리치 해리스]](Rich Harris)에 의해 개발되었다. Svelte는 기존 프레임워크와는 달리 런타임 대신 컴파일 타임에 애플리케이션 코드를 처리하여, 더욱 가벼운 애플리케이션을 제작할 수 있도록 설계되었다.&lt;br /&gt;
&lt;br /&gt;
이 프레임워크는 &amp;quot;컴파일러 기반 프레임워크&amp;quot;라는 점에서 [[리액트]]나 [[뷰]]와는 차별화되며, 개발자의 코드를 컴파일하여 네이티브 자바스크립트 코드로 변환한다. 이로 인해 빌드 결과물이 작고 빠른 성능을 자랑한다.&lt;br /&gt;
&lt;br /&gt;
== 특징 ==&lt;br /&gt;
Svelte는 다른 프론트엔드 프레임워크와 비교하여 다음과 같은 특징을 가진다:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;컴파일 타임 기반&amp;#039;&amp;#039;&amp;#039;: 런타임에서 [[가상 DOM]]을 사용하는 대신, 컴파일 타임에 DOM 조작을 직접 수행하는 최적화된 자바스크립트 코드를 생성한다.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;직관적인 문법&amp;#039;&amp;#039;&amp;#039;: [[HTML]], [[CSS]], [[자바스크립트]]를 하나의 파일에 결합한 간단한 구성으로 생산성을 높인다.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;자동 반응성(Reactivity)&amp;#039;&amp;#039;&amp;#039;: 상태 변경 시 UI를 자동으로 업데이트하도록 설계되어 개발자의 코드량을 줄여준다.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;가벼운 빌드&amp;#039;&amp;#039;&amp;#039;: Svelte로 작성된 애플리케이션은 결과물이 작고 성능이 우수하다.&lt;br /&gt;
&lt;br /&gt;
== 주요 개념 ==&lt;br /&gt;
Svelte는 사용법이 간단하고 직관적이다. 기본적인 사용법은 아래와 같다:&lt;br /&gt;
&lt;br /&gt;
=== 컴포넌트 ===&lt;br /&gt;
Svelte에서는 모든 파일이 기본적으로 컴포넌트 단위로 구성된다. 파일 확장자는 `.svelte`를 사용하며, HTML, CSS, JavaScript를 포함한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;svelte&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  let name = &amp;#039;Svelte&amp;#039;;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
  h1 {&lt;br /&gt;
    color: purple;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Hello {name}!&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 반응성 ===&lt;br /&gt;
Svelte는 변수를 자동으로 추적하여 상태 변화에 따라 UI를 업데이트한다. 별도의 상태 관리 도구 없이도 반응성을 쉽게 구현할 수 있다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;svelte&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  let count = 0;&lt;br /&gt;
&lt;br /&gt;
  function increment() {&lt;br /&gt;
    count += 1;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;button on:click={increment}&amp;gt;&lt;br /&gt;
  Count: {count}&lt;br /&gt;
&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Props ===&lt;br /&gt;
컴포넌트 간 데이터를 전달할 때는 `export` 키워드를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;svelte&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  export let message;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{message}&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 장단점 ==&lt;br /&gt;
=== 장점 ===&lt;br /&gt;
* 컴파일 타임 최적화를 통한 빠른 성능.&lt;br /&gt;
* 사용하기 쉬운 직관적인 문법.&lt;br /&gt;
* 런타임 의존성이 없어 결과물이 가볍다.&lt;br /&gt;
* 작은 프로젝트부터 대규모 프로젝트까지 유연하게 적용 가능.&lt;br /&gt;
&lt;br /&gt;
=== 단점 ===&lt;br /&gt;
* 에코시스템이 [[리액트]]나 [[뷰]]에 비해 상대적으로 작다.&lt;br /&gt;
* [[TypeScript]]와의 통합이 초기 버전에는 제한적이었으나, 현재는 개선되고 있다.&lt;br /&gt;
* SvelteKit(풀스택 프레임워크)이 안정화되기까지 시간이 걸렸다.&lt;br /&gt;
&lt;br /&gt;
== SvelteKit ==&lt;br /&gt;
SvelteKit은 Svelte를 기반으로 한 풀스택 프레임워크로, 서버 사이드 렌더링(SSR), 정적 사이트 생성(SSG), 클라이언트 사이드 렌더링(CSR) 등을 지원한다. [[Next.js]]와 [[Nuxt.js]]와 유사한 역할을 하지만, Svelte의 장점을 최대한 활용할 수 있도록 설계되었다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
npx create-svelte@latest my-app&lt;br /&gt;
cd my-app&lt;br /&gt;
npm install&lt;br /&gt;
npm run dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 기타 ==&lt;br /&gt;
* Svelte의 마스코트는 고슴도치를 형상화한 심볼이다.&lt;br /&gt;
* [[2023년]] 기준 [[State of JS]] 설문 조사에서 가장 만족도가 높은 프레임워크로 선정되었다.&lt;br /&gt;
&lt;br /&gt;
== 참고 자료 ==&lt;br /&gt;
* Svelte 공식 웹사이트: [https://svelte.dev Svelte.dev]&lt;br /&gt;
* SvelteKit 공식 웹사이트: [https://kit.svelte.dev SvelteKit.dev]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 분류 --&amp;gt;&lt;br /&gt;
[[분류:웹 프레임워크]] [[분류:프론트엔드]]&lt;/div&gt;</summary>
		<author><name>Gaon12</name></author>
	</entry>
</feed>