본문 바로가기

도서 소개

실전 스벨트 & 스벨트킷 입문

MZ 개발자가 사랑하는 스벨트와 스벨트킷으로 UI & 웹 앱 개발 시작하기

 

단순함을 모티브로 만들어진 스벨트는 실용적이면서도 최소한의 API를 갖춘 세련된 프레임워크로 프런트엔드 개발자들에게 사랑받고 있다. 이 책은 스벨트의 기본 개념부터 프로젝트를 설정하여 개발을 시작하는 방법, 복잡한 UI 구축에 편리하게 사용할 수 있는 기능을 소개한다. 나아가 스벨트킷 프로젝트를 만들고, 서버를 포함한 쇼핑몰 사이트 웹 애플리케이션을 개발한다. 한국어판 부록에서는 스벨트킷 프로젝트에서 활용하는 Auth0, MongoDB Atlas, GitHub, Vercel 사용법을 설명한다. 자바스크립트 프레임워크에 익숙한 독자는 기존 UI 프레임워크에 비해 스벨트가 얼마나 슬림하고 유연한지 알 수 있고, 입문자는 스벨트를 통해 쉽게 개발에 흥미를 붙이고 원하는 애플리케이션을 구현할 수 있다. 간결하고 직관적이며 뛰어난 성능의 스벨트로 다음 세대를 준비해보자.

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

출판사 제이펍
저작권사 제이펍
원서명 実践 Svelte入門 (9784297134952)
도서명 실전 스벨트 & 스벨트킷 입문
부제 쇼핑몰 사이트 웹 애플리케이션을 만들면서 배우는 Svelte & SvelteKit
지은이 하마구치 교헤이, 고세키 야스히로
옮긴이 이춘혁
감수자 (없음)
시리즈 (없음)
출판일 2024. 04. 26
페이지 328쪽
판 형 46배판변형(188*245*16.3)
제 본 무선(soft cover)
정 가 26,000원
ISBN 979-11-93926-16-1 (93000)
키워드 리액티비티, 자바스크립트, 타입스크립트, 라우트, 폼액션, Auth0, MongoDB, Vercel, 몽고디비, 프런트엔드
분 야 웹 개발 / 자바스크립트

 

관련 사이트
아마존 도서 페이지
저작권사 도서 페이지

 

관련 시리즈

■ (없음)

 

관련 포스트

2024.04.12 - [출간 전 책 소식] - 자바스크립트 웹 개발 프레임워크의 스타, 스벨트

 

관련 도서

실무에 바로 적용하는 자바스크립트 코드 레시피 278

웹 개발 새로고침

 

관련 파일 다운로드

https://github.com/developer-book/svelte

 

강의 보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음 자료를 보내드립니다.)
■ 본문의 그림과 표

 

미리보기(옮긴이 머리말, 베타리더 후기, 추천 서문(야마시타 유이치로), 시작하며, 1장, 2장 일부)

 

정오표 페이지
■ (등록되는 대로 링크를 걸겠습니다.)

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

도서 소개

요즘 프레임워크 스벨트와 스벨트킷 입문부터 고급 기능,
쇼핑몰 사이트를 만드는 실전 예제까지

 

스벨트는 단순하고, 강력하며, 우아하다. 아직 스벨트를 접해보지 못한 모든 웹 개발자에게 이 책으로 스벨트와 만나보기를 추천하고 싶다. 스벨트의 컴포넌트는 이해하기 쉽고, 코드는 간결하고, 파일은 가볍다. 코딩 프로세스는 원활해지고, 메모리 누수를 걱정할 필요가 없다.

 

이 책은 간단한 튜토리얼부터 시작해 스벨트와 스벨트킷(스벨트를 베이스로 하는 웹 애플리케이션 프레임워크)으로 쇼핑몰 사이트 웹 애플리케이션 프로젝트를 만들어본다. 1장에서는 스벨트의 특징을 소개하고 간단한 온라인 쇼핑몰 페이지를 만들며 스벨트 튜토리얼을 진행한다. 2장에서는 환경을 구축하고 컴포넌트에 대해 설명한다. 3장에서는 스벨트가 어떤 리액티브 구조를 제공하는지 설명하고, 4장에서는 UI를 더 고급스럽게 구현하는 데 도움 되는 고급 기능을 알아본다.

 

5장에서는 스벨트킷으로 다중 페이지 애플리케이션을 개발해보고, 6장에서는 스벨트킷의 주요 개념을 자세히 살펴본다. 7장에서는 MongoDB와 Vercel을 사용해 운영 환경을 구축하고 배포해본다. 8장에서는 Auth0를 통해 패스워드 없는 로그인을 구현하고 세션을 관리하는 방법을 알아본다. 9장에서는 스벨트킷이 제공하는 SSR, CSR, 프리렌더링의 개념을 살펴보면서 상품 페이지의 유저 경험을 개선한다. 한국어판에 특별 수록한 부록에서는 스벨트킷 프로젝트에서 활용하는 Auth0, MongoDB Atlas, GitHub, Vercel 사용법을 자세히 설명한다.

 

스벨트는 리액트나 뷰와 비교하면 적은 사전 지식만으로도 개발을 시작할 수 있도록 만들어졌다.

이 책을 통해 쉽고 빠르면서도 깊이 있게 스벨트를 이해할 수 있게 되기를 바란다.

 

주요 내용

  • 스벨트의 리액티비티 알아보기
  • 모듈 콘텍스트, 트랜지션, 액션 등 스벨트의 고급 기능
  • 스벨트킷으로 다중 페이지 애플리케이션 개발하기
  • 라우트, 폼액션 등 스벨트킷 레퍼런스
  • MongoDB와 Vercel을 사용한 운영 환경 구축
  • Auth0를 통한 패스워드 없는 로그인 구현과 세션 관리
  • OGP 태그와 프리렌더링으로 유저 경험 개선

지은이 소개

하마구치 교헤이(Kyohei Hamaguchi)

1990년 미에현 출생. 쓰쿠바 대학 정보과학류에서 컴퓨터과학을 전공하고, 이후 15년간 기업가이자 소프트웨어 엔지니어로 활동했다. 현재는 미국 및 독일 기업을 대상으로 엔지니어링 컨설팅을 하고 있고, 개인 정보 보호를 추진하는 비영리 단체인 Conscious Digital에서 등록 정보 보안 전문가로서 일본 법률 대응을 지원하고 있다.

 

고세키 야스히로(小関 泰裕)

1990년 야마가타현 출생. 쓰쿠바 대학 정보학군을 졸업하고, 현재는 주로 웹 애플리케이션 분야의 소프트웨어 엔지니어로 활동하고 있다. 학부 시절 시스템 프로그래밍 수업에서 직접 만든 HTTP 서버가 브라우저와 통신하는 것에 감동한 이후 웹 개발 재미에 푹 빠져 지내고 있다. 프런트엔드 개발을 하면서 리액트, 뷰를 거쳐 스벨트가 좋다는 소문을 듣고 사용하기 시작했고, 지금은 프로젝트에서도 스벨트를 사용하고 있다. 최근에는 전공한 분산 소프트웨어 분야와 웹 분야의 교차점에 해당하는 WebRTC 기술에 주목하여 WebRTC를 이용한 영상 채팅 SDK를 개발하고 있다.

 

옮긴이 소개

이춘혁

프로그래밍 언어와 자연어 모두 관심이 많은 개발자다. 고려대학교에서 한문학을 전공하며 자연스레 중국어와 일본어를 익히게 되었다. 중국, 스페인, 일본 등에서 생활하며 다양한 문화와 외국어를 접했고, 공부에 매진해 영어/중국어/일본어/스페인어를 이해하고 구사할 수 있는 수준이 되었다. 일본에서 웹과 ADAS 개발 업무를 담당하였으며, 현재는 한국비건인증원에서 웹 시스템 개발자로 일하고 있다. 신기술과 최적화에 관심이 많으며, ‘젊음을 값진 모험과 바꾸자’라는 마음으로 다양한 경험을 하고, 개발에서는 한 우물을 깊이 그리고 효율적으로 파기 위해 노력 중이다.

 

차례

옮긴이 머리말 ix

베타리더 후기 xi

추천 서문(야마시타 유이치로) xiii

시작하며 xv

 

CHAPTER 1 스벨트 시작하기 1

1.1 스벨트의 탄생과 특징 1

__1.1.1 스벨트의 특징 1

__1.1.2 스벨트의 ‘컴파일’ 2

__1.1.3 가상 DOM의 미사용 3

1.2 스벨트 튜토리얼: 온라인 쇼핑 페이지 만들기 5

__1.2.1 프로젝트 준비 6

__1.2.2 HTML/CSS를 사용한 화면 구성 요소 생성 7

__1.2.3 변수와 이벤트 핸들러를 사용한 장바구니 담기 버튼 기능 추가 11

__1.2.4 배열과 {#each} 구문을 통한 관련 상품 표시 14

__1.2.5 컴포넌트 분리 20

 

CHAPTER 2 스벨트 기초 27

2.1 환경 구축 27

더보기

__2.1.1 스벨트 공식 REPL 28

__2.1.2 Vite를 사용하는 개발 환경 구축 29

2.2 컴포넌트 31

__2.2.1 .svelte 파일 구조 31

__2.2.2 템플릿 기초 문법 33

__2.2.3 스타일 36

__2.2.4 블록 39

__2.2.5 컴포넌트 사용 43

__2.2.6 속성 46

__2.2.7 슬롯 52

__2.2.8 이벤트 62

__2.2.9 라이프 사이클 69

 

CHAPTER 3 스벨트의 리액티비티 78

3.1 컴포넌트의 리액티비티 78

__3.1.1 변수 대입 78

__3.1.2 $:prefix 79

__3.1.3 배열과 객체의 업데이트 82

__3.1.4 입력 바인딩 85

__3.1.5 미디어 요소의 바인딩 91

__3.1.6 컴포넌트 바인딩 93

__3.1.7 this 바인딩 95

3.2 스토어 97

__3.2.1 writable 스토어 97

__3.2.2 $를 사용하는 자동 구독 100

__3.2.3 $를 사용하는 대입 101

__3.2.4 readable 스토어 102

__3.2.5 derived 스토어 105

__3.2.6 custom 스토어 107

__3.2.7 스토어의 바인딩 111

 

CHAPTER 4 스벨트의 고급 기능 114

4.1 고급 템플릿 문법 114

__4.1.1 키를 포함하는 {#each} 블록 115

__4.1.2 {#key} 블록 117

__4.1.3 {@...} 태그 118

__4.1.4 태그 120

4.2 모듈 콘텍스트 129

__4.2.1 각 인스턴스 간 상태 공유 129

__4.2.2 컴포넌트 이외에 내보내기 131

4.3 모션, 트랜지션, 애니메이션 134

__4.3.1 모션 134

__4.3.2 트랜지션 140

__4.3.3 애니메이션 148

4.4 콘텍스트 150

__4.4.1 콘텍스트 API 사용 방법 150

__4.4.2 콘텍스트의 특징과 스토어 비교 153

4.5 액션 154

__4.5.1 액션의 기본적인 사용법 154

__4.5.2 액션의 예: DOM 요소의 리사이징 감지 155

 

CHAPTER 5 스벨트킷으로 다중 페이지 애플리케이션 개발하기 158

5.1 스벨트킷의 기본과 도입 158

__5.1.1 스벨트킷이란? 158

__5.1.2 프로젝트 생성 159

__5.1.3 스벨트킷 프로젝트의 파일 구조 161

5.2 데모 애플리케이션의 구현과 해석 163

__5.2.1 페이지를 나타내는 .svelte 파일 163

__5.2.2 레이아웃 - 여러 페이지에 공통 요소 배치 166

__5.2.3 폼액션 - 프로그레시브한 웹 애플리케이션을 구성하는 구조 167

5.3 온라인 쇼핑 애플리케이션의 확장 170

__5.3.1 ① 스벨트킷 프로젝트 생성 171

__5.3.2 ② 상품 페이지에 대응하는 라우트 생성 171

__5.3.3 ③ 상품 데이터와 장바구니 데이터 가져오기 172

__5.3.4 ④ 폼액션으로 장바구니 추가 180 / 5.3.5 ⑤ ‘추천 상품’ 표시 183

 

CHAPTER 6 스벨트킷 레퍼런스 189

6.1 스벨트킷의 주요 개념 189

__6.1.1 페이지 라우트 189

__6.1.2 서버 라우트 190

__6.1.3 폼액션 190

__6.1.4 라우팅 191

__6.1.5 레이아웃 191

__6.1.6 스벨트킷의 실행 모델 191

6.2 페이지 라우트 192

__6.2.1 +page.svelte 192

__6.2.2 +page.js와 +page.server.js 194

6.3 폼액션 195

__6.3.1 폼액션 기초 195

__6.3.2 프로그레시브 인핸스먼트 198

6.4 서버 라우트 203

__6.4.1 서버 라우트란? 203

6.5 라우팅 205

__6.5.1 라우트 205

__6.5.2 라우트에 배치할 수 있는 파일 205

__6.5.3 고급 라우팅 206

6.6 레이아웃 212

__6.6.1 레이아웃 기초 212

__6.6.2 레이아웃 네스팅 213

__6.6.3 레이아웃 네스팅 초기화 213

6.7 훅 215

__6.7.1 스벨트킷의 훅 215

__6.7.2 handle 215

__6.7.3 handleFetch 216

__6.7.4 handleError 217

6.8 헬퍼 모듈 218

__6.8.1 $app/environment - 실행 환경 관련 정보 218

__6.8.2 $app/forms - 폼액션 관련 헬퍼 218

__6.8.3 $app/navigation - 페이지 이동 관련 헬퍼 218

__6.8.4 $app/paths - 경로 관련 헬퍼 219

__6.8.5 $app/stores - 애플리케이션 레벨 스토어 220

__6.8.6 @sveltejs/kit 221

__6.8.7 $env: 환경 변수에 접근할 수 있는 모듈 221

6.9 빌드와 배포 222

__6.9.1 설정이 불필요한 호스팅 서비스 - adapter-auto 222

__6.9.2 Node 서버로 빌드 - adapter-node 223

__6.9.3 정적 사이트 생성과 SPA 모드 - adapter-static 226

 

CHAPTER 7 MongoDB와 Vercel을 사용한 운영 환경 구축 229

7.1 스벨트킷 애플리케이션과 운영 환경 229

__7.1.1 개발 환경/샘플 애플리케이션 229

__7.1.2 운영 환경/빌드/배포 230

7.2 MongoDB의 도입 232

__7.2.1 데이터베이스의 역할 232

__7.2.2 MongoDB Atlas로 데이터베이스 생성 233

__7.2.3 mongodb 패키지 도입과 접속 정보 관리 234

__7.2.4 장바구니를 MongoDB로 구현 236

__7.2.5 상품을 MongoDB로 구현 238

7.3 Vercel을 통한 배포 242

__7.3.1 깃허브 설정 242

__7.3.2 Vercel 설정 243

__7.3.3 MongoDB Atlas의 Integration 도입 243

__7.3.4 환경 변수 적용 244

__7.3.5 운영 환경 DB 시드 244

__7.3.6 작동 확인 245

 

CHAPTER 8 Auth0를 통한 패스워드 없는 로그인 구현과 세션 관리 246

8.1 Auth0 준비 246

__8.1.1 패스워드 없는 인증이란? 246

__8.1.2 Auth0 계정 생성과 초기 설정 247

8.2 로그인 구현 247

__8.2.1 로그인 처리 247

__8.2.2 로그인 페이지 생성 251

__8.2.3 Auth0의 API를 호출하는 함수 253

__8.2.4 콜백 URL 구현 255

__8.2.5 세션 정보를 데이터베이스에 저장 257

__8.2.6 로그인 작동 확인 258

8.3 로그인 유저의 판단과 표시 258

__8.3.1 로그인 유저 정보 가져오기 258

__8.3.2 로그인 중인 유저의 표시 260

__8.3.3 로그아웃 기능 261

8.4 유저별 장바구니 생성 262

__8.4.1 유저 ID별 장바구니 생성 262

8.5 Vercel 배포 265

__8.5.1 Auth0 사용을 위한 준비 265

__8.5.2 환경 변수 설정 266

 

CHAPTER 9 유저 경험 개선 — OGP 태그와 프리렌더링 268

9.1 OGP 태그 추가 268

__9.1.1 OGP 태그와 자바스크립트 애플리케이션 268

__9.1.2 상품 페이지에 OGP 태그 추가 269

__9.1.3 SSR 비활성화 271

__9.1.4 CSR 비활성화 271

__9.1.5 Vercel에 배포하고 카드 확인 272

9.2 프리렌더링 273

__9.2.1 상품 페이지 프리렌더링 273

__9.2.2 장바구니 페이지 준비 276

__9.2.3 클라이언트에서 장바구니 정보 가져오기 278

__9.2.4 ‘장바구니 담기’ 버튼의 작동 개선 281 / 9.2.5 프리렌더링 작동 확인 282

 

APPENDIX A 한국어판 부록 286

A.1 Auth0 286

__A.1.1 계정 등록 286

__A.1.2 애플리케이션 생성과 설정 287

__A.1.3 패스워드 없는 로그인 설정 287

__A.1.4 콜백 URL 추가 288

__A.1.5 인증 정보 가져오기 290

__A.1.6 패스워드 없는 로그인 에러 해결 290

A.2 MongoDB Atlas 293

__A.2.1 계정 등록 293

__A.2.2 서버 생성 293

__A.2.3 보안 설정 295

__A.2.4 액세스 정보 확인하기 296

A.3 깃허브 298

__A.3.1 계정 등록 298

__A.3.2 리포지터리 생성 298

__A.3.3 액세스 토큰의 생성 299

A.4 Vercel 299

__A.4.1 계정 등록 299

__A.4.2 신규 프로젝트(깃허브 리포지터리 연동) 생성 방법 300

__A.4.3 MongoDB Atlas 인티그레이션 연동 방법 302

__A.4.4 환경 변수 설정 방법 305

__A.4.5 환경 변수 확인과 복사 306

__A.4.6 환경 변수의 추가 306

 

찾아보기 309

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  포스트  유튜브  인스타그램  트위터  페이스북

'도서 소개' 카테고리의 다른 글

자바 잘 읽는 법  (0) 2024.04.29
퀴즈로 배우는 디자인  (0) 2024.04.18
초자동화 시대가 온다  (0) 2024.04.02
클라우드 네이티브 스프링 인 액션  (14) 2024.03.28
고도 엔진 4 게임 개발 프로젝트(제2판)  (0) 2024.03.18