sungamyan***
2021-08-22

『스벨트 앤 새퍼 인 액션』은 스벨트와 새퍼의 특징과 장점을 상세히 소개하며 다양한 예제를 통해 프레임워크의 기능을 꼼꼼하게 살펴본다. 할 일을 관리하는 앱과 여행 준비물을 챙기는 앱을 직접 만들어보며 스벨트가 제공하는 편리한 기능을 십분 활용해볼 수 있다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
'벼락부자', '벼락거지'와 같은 신조어가 계속 만들어지는 것처럼 프로그래밍 세계에서도 새로운 언어가 계속 만들어진다. 왜 새로운 언어가 만들어지는 것일까? 대답은 간단하다. 기존에 나와있는 도구 혹은 언어가 충분히 만족스럽지 않기 때문이다.
스벨트(Svelte, 불어로 날씬하다는 뜻)와 새퍼(Sapper, Svelte app maker 의 줄임말이면서 공병이라는 뜻)는 책 표지에 나와 있는 것처럼 기존에 개발자들이 사용하던 프레임워크 - React, React Native, AngularJS, Vue.js 등 - 보다 더 빠르고 더 우아한 웹 애플리케이션 설계 프레임워크다.
스벨트(Svelte)는 마이크로소프트에서 설계한 TypeScript 기반 웹 애플리케이션 프레임워크 컴파일러인데, 사용하지 않는 코드(예: stylesheet 등)는 포함하지 않는 트리 셰이킹(tree shaking) 최적화, RollUp 번들러 등을 통해 프로그램 크기를 최소화한다. 아무래도 프로그램 크기가 작다보니 더 빠르게 브라우저에서 실행이 가능하다. 또한, 기본적으로 문법이 함축적이어서 생산성도 올라간다.
새퍼(Sapper)는 스벨트(Svelte)로 만들어진 웹 애플리케이션에 페이지 라우팅, 서버 사이드 렌더링(Server Side Rendering, SSR), 코드 분할, Hugo 혹은 Jekyll 과 같은 정적 웹사이트(static websites) 생성 등의 고급 기능이 필요할 때 사용한다.
React를 사용해 스마트폰 앱을 만들기 위해 React Native를 사용하는 것처럼 스벨트(Svelte)도 스벨트 네이티브(Svelte Native)를 통해 안드로이드나 iOS용 모바일앱을 만들 수 있다.
이 책은 다른 MANNING 사 책이 그러하듯이 사용자가 예제 프로그램을 만들면서 스벨트(Svelte), 새퍼(Sapper), 스벨트 네이티브(Svelte Native)를 배울 수 있도록 한다. 이전에 배웠던 Vue.js 보다는 좀 더 익혀야 하는 내용이 많았으나 확실히 JSX 와 같은 (개인적으로 선호하지 않는) 문법을 익혀야 하는 React 보다 훨씬 더 빠르고 쉽게 내용을 익힐 수 있었다.
새로운 프로그래밍 언어 혹은 도구를 배워야 하는 이유는 명확하다. 트랜드를 파악함으로써 프로그래밍 세계에 필요한 숨겨진 니즈(Needs)를 확인하면서 더 좋은 설계, 더 좋은 프로그래밍 철학이 어떤 것인지 배울 수 있다. 또한, 이러한 새로운 것들은 한 사람의 사고를 확장한다는 점에서 더 성숙하고 훌륭한 개발자 혹은 매니저로 성장하도록 돕는다.
비록 지금 참여하고 있는 프로젝트에서 혹은 개인 프로젝트에서 스벨트(Svelte)와 새퍼(Sapper)를 사용하지 않더라도 한 번 배워보는 것은 어떨까?
#Svelte #Sapper #Svelte_Native #스벨트 #새퍼 #한빛미디어 #리뷰 #MANNING #웹개발 #웹프레임워크