이 서평은 제이펍의 <IT 전문서 리뷰어 3기> 활동의 일환으로 출판사로부터 책을 제공받아 작성되었습니다.
그 동안 자바스크립트가 눈 부시게 발전했음에도 불구하고, 예전보다 자바스크립트 개발이 힘들어졌다고 토로하는 개발자들이 많다. 자바스크립트 생태계는 폭발적으로 성장해 같은 목표를 가진 라이브러리가 난립하게 되어 개발자들의 선택을 더욱 어렵게 만들었다.
자바스크립트 프로젝트는 갈수록 규모가 커지고 애플리케이션이 복잡해져서 빌드와 테스트, 배포를 하려면 다양한 개발 도구의 숙달을 요구하게 되었다. 타입스크립트의 자바스크립트 컴파일 과정, 트랜스파일 단계, 최적화 및 번들링을 거쳐 클라이언트에 배포되기까지의 전체 과정을 정확히 파악하기가 어려워졌다.
이러한 상황에서 Bun은 자바스크립트 개발자들의 고충을 해소할 수 있는 차세대 자바스크립트 런타임이자 통합 개발 도구로 주목받고 있다. Bun은 자바스크립트는 물론 타입스크립트와 JSX로 작성된 코드를 별도의 설정 없이 즉시 실행할 수 있다는 강점을 지녔다. 더불어 테스팅과 번들링 도구가 내장되어 있어 추가적인 라이브러리 설치 없이도 해결할 수 있는 도구다.
이 책의 코드는 아래 링크에서 다운로드 받을 수 있다.
https://github.com/DaleSeo/hello-bun
반가워 Bun
Bun은 자바스크립트와 타입스크립트를 모두 지원하며 CJS$_{CommonJS}$와 ESM$_{ES \space Modules}$에 모두 대응하는 고성능 차세대 런타임이다. 또한 Bun은 npm과 완벽하게 호환되는 패키지 매니저이기도 하다. 1부에서는 Bun을 처음 접하는 개발자들을 위해 필수적인 핵심 기능들을 상세히 다루고자 한다.
Bun을 컴퓨터에 어떻게 설치하고 업데이트하는지를 배운다. 그 다음 자바스크립트 프로젝트를 생성해보고 타입스크립토로 작성된 코드를 실행하는 것이 얼마나 쉬운지 알아본다. 다음으로는 Bun 패키지를 어떻게 설치, 갱신, 제거하는지 배우고 마지막으로 모듈 시스템에 구애받지 않고 얼마나 자유롭게 모듈을 내보내고 불러울 수 있는지 배운다.
Bun으로 무엇을 개발할까
Bun으로는 정말 다양한 종류의 애플리케이션을 개발할 수 있다. 터미널에서 작동하는 간단한 CLI 도구부터 시작해서 전통적인 request-response 기반의 HTTP 서버, 실시간 양방향 통신을 위한 웹소켓 서버까지 개발할 수 있다. 그 뿐만 아니라, Bun은 파일 입출력을 위한 아주 직관적인 API를 제공하며 심지어 데이터베이스까지 탑재하고 있다.
2부에서는 다양한 예제를 통해 Bun으로 어떤 애플리케이션을 개발할 수 있는지 알아본다. CLI 도구 개발을 시작으로, HTTP 서버와 웹소켓 서버의 구현 과정을 단계별로 살펴본다. 마지막으로 파일 시스템 조작 방법과 내장 데이터베이스를 어떻게 사용하는지 배운다.
못 하는게 없는 Bun
Bun은 단순한 런타임의 경계를 넘어서는 통합 개발 환경을 제공한다. 자바스크립트 개발에 필요한 핵심 도구들을 모두 내포한 올인원 개발 키트다. 3부에서는 Bun을 이용해 기존 런타임에서 상상하기 어려운 일들을 해볼 것이다. 내장된 테스트 모듈을 통해 테스트 코드 작성과 실행 방법을 시작으로, 통합 번들러를 활용한 애플리케이션의 프로젝트 빌드 방법에 대해 배운다.
이어서 Bun을 통한 셸 스크립트의 효율적인 구현과 실행 방법론을 습득한다. 이전에 학습한 개념들을 종합해 현업에서 실제로 볼 법한 REST API를 개발해본다. 마지막으로 부록에서는 본문에서 다루지 않았지만 알아두면 유용한 Bun이 제공하는 유틸리티 기능을 살펴본다.
총평
이 책은 자바스크립트 런타임인 Bun의 개념과 활용법을 전체적으로 잘 다루고 있다. 자바스크립트 개발 환경의 복잡성과 파편화된 도구들의 문제점에서 출발해, Bun이 제시하는 해결책을 3개의 대단원에 맞게 소개한다.
이 책의 강점은 기본 개념부터 고급 기능까지 체계적인 학습 구조를 제시한다는 점이다. 런타임 설치부터 시작해 CLI 도구 개발, 서버 구현, 테스트 작성, 배포에 이르기까지 실제 개발 과정을 따라가면서 자연스럽게 학습할 수 있도록 구성되어 있다. 다만 최신 기술을 다루는 만큼, 자바스크립트 생태계에 대한 기본적인 이해가 선행되어야 완전한 학습 효과를 거둘 수 있을 것이다.
이 책은 복잡한 개발 환경에 지친 자바스크립트 개발자들에게 새로운 대안을 제시한다는 점에서 의미가 있다. Bun이 제공하는 올인원 솔루션을 통해 개발자들은 선택의 피로도를 줄이고 개발에 집중할 수 있다. Node.js나 Deno를 사용하는 개발자들에게 새로운 관점을 제공해 환경에 대한 고민이 든다면 이 책이 좋은 방향성을 제공할 것이다.
'Life > 독서 기록' 카테고리의 다른 글
[서평] 클라우드 입문서 - 비전공자를 위한 AWS (1) | 2024.10.27 |
---|---|
[서평] 효과적인 활용을 위해 - 이펙티브 러스트 (1) | 2024.10.25 |
[서평] 중요한 내용만 빠르게 - 컴퓨터 구조와 운영체제 핵심 노트 (2) | 2024.09.29 |
[서평] CS 익힘책 - 이것이 취업을 위한 컴퓨터 과학이다 (11) | 2024.09.28 |
[서평] 모던 자바 기능으로 전문가 되기 - 기본기가 탄탄한 자바 개발자 (9) | 2024.09.04 |
컴퓨터 전공 관련, 프론트엔드 개발 지식들을 공유합니다. React, Javascript를 다룰 줄 알며 요즘에는 Typescript에도 관심이 생겨 공부하고 있습니다. 서로 소통하면서 프로젝트 하는 것을 즐기며 많은 대외활동으로 개발 능력과 소프트 스킬을 다듬어나가고 있습니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!