프론트엔드 개발의 필수 기술: 컴파일러와 번들러 이해하기

React의 등장 이후 프론트엔드 개발 환경은 급격한 변화를 겪고 있습니다. 초기의 Webpack과 Babel에 이어서 Vite, Rollup, Rolldown, Esbuild 등 다양한 컴파일러와 번들러 그리고 통합된 패키지들이 등장하고 있는데요.


프론트엔드 프로젝트에서 컴파일러 번들러는 필수적인 기술이기 때문에 이런 패키지들을 이해하려면 컴파일러와 번들러가 무엇인지 개념을 명확히 알아야 하는데요.


컴파일러(트랜스파일러)

  • 코드의 변환을 담당합니다.

  • 자바스크립트가 실행되는 곳은 브라우저 외에도 서버, 웹뷰 등 다양한 곳에서 실행이 될 수 있기 때문에 호환성을 고려해서 변환해줍니다.

  • 대표적으로는 Babel, TypeScript, esbuild, SWC등이 있습니다.


번들러

  • 개발 중에 작성된 여러 파일을 트리 쉐이킹, 코드 스플리팅, 모듈 연결 등을 통해 최적화 및 여러 개의 파일로 결합하는 작업을 합니다.

  • 개발자가 작성한 수많은 파일과 라이브러리를 효율적으로 하나의 파일 또는 여러 파일로 분할합니다.

  • 대표적으로는 Webpack, Rollup, Vite, esbuild, SWC 등이 있습니다.


그런데 흥미로운 점은 esbuild, SWC가 컴파일러와 번들러 두 가지 역할을 모두 수행한다는 것인데요.. esbuild는 번들러 이지만 Babel과 같이 자바스크립트 버전 간 호환성을 위해 코드를 변환하는 컴파일러 기능도 제공합니다.


SWC 역시 컴파일과 번들링 모두 지원하며 "Rust 기반의 웹 플랫폼" 으로 소개되고 있는데요. 이는 컴파일과 번들러의 기능이 점차 통합되는 추세를 보여줍니다.


하지만 아직까지는 esbuild는 0.2버전으로 정식 출시되지 않았고, 트랜스파일 기능이 Babel 만큼 세밀하지 않은 상황입니다. 또, SWC는 일부 복잡한 설정에서 안정성 이슈가 있어 주로 개발 환경 에서 사용되고 있는데요.


이러한 컴파일러와 번들러의 차이를 이해하고, 이들이 통합된 라이브러리의 발전 과정을 관찰하는 것은 꽤 흥미로운 일인것 같습니다. 이런 발전 동향을 주시하면서, 적절한 시점에 새로운 기술을 도입해서 개발 생산성 향상과 더 나은 개발 환경을 구축의 도입을 추천드립니다.


다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 5월 2일 오전 1:03

 • 

저장 60조회 3,464

댓글 0

    함께 읽은 게시물

    Password Monitoring 서비스, Java에서 Swift로

    A

    ... 더 보기

    Migrating the Password Monitoring service from Java

    iOYES

    Migrating the Password Monitoring service from Java

    🤖 최초의 AI 브라우저, Dia 직접 써봤습니다! 🌐

    ... 더 보기

    팀에서 중간 직급을 맡게 된다는 건 무엇을 의미할까요? 아래로는 후배를 챙겨야 하고, 위로는 상사를 모셔야 하는 ‘이중고’에 시달리게 된다는 의미입니다. 후배를 챙기는 것보다 더 중요하고 더 난이도가 높은 게 상사와의 케미를 끌어올리는 건데요. 그런데 이게 말처럼 쉽지가 않습니다.

    ... 더 보기

    리더의 역할은 방향을 제시하고 조직을 이끄는 것이다. 의사결정을 내리는 데 지나치게 시간을 끌거나 아예 결정을 피하는 리더가 있다. 이런 리더가 있는 조직은 점차 무기력해지고 성장의 기회를 놓치게 된다. 여러 가지 단점이 있지만, 가장 큰 단점은 직원들을 게으르게 만든다.

    ... 더 보기

    [명대성의 소통 본색] 결정을 미루는 리더가 조직에 미치는 영향

    한국강사신문

    [명대성의 소통 본색] 결정을 미루는 리더가 조직에 미치는 영향

     • 

    저장 5 • 조회 698


    1월 멘토링 취업, 코딩테스트 관련 큐앤에이 모음

    대학에서 컴공 공부 중인 학생을 작년부터 멘토링하고 있는데, 그 친구가 했던 질문에 대한 대답 공유해요. 11월 멘토링 취업, 코딩테스트 관련 큐앤에이 모음 https://careerly.co.kr/comments/72886 1️⃣ 개발 전문 분야를 가져야 하는가 대학생에게 '개발 전문 분야'는 큰 의미가 없다고 생각한다. 하지만 '적성에 맞는 분야'는 확실히 중요하다. 그렇다고 꼭 '적성에 맞는 분야'를 찾아야만 하는 건 아니다. 이제 막 새내기가 어떻게 경험 없이 무엇이 좋다, 나쁘다를 따질 수 있을까? 적성에 맞... 더 보기

     • 

    저장 103 • 조회 6,138


    기여도

    

    ... 더 보기