백엔드 사전 지식 (3) - 자바스크립트 생태계
나는 node.js로 백엔드를 구축 할 계획이기 때문에 자바스크립트 생태계에 대해 간단히 알아보고자 한다.
1. 자바스크립트 생태계
: 1995년에 넷스케이프에서 HTML을 동적으로 표현할 목적으로 만든 모카라는 이름의 스크립트 프로그래밍 언어로 탄생했다.
: ECMAScript에 정의되어 있으며 시작은 웹 브라우저를 위한 언어였다.
: 현재 ECMAScript의 최신 버전은 ECMA 2021이며 지금은 node.js와 같은 런타임 환경이 출현하면서부터 백엔드에서도 쓸 수 있게 되었다.
2. 패키지 매니저
: npm과 yarn이 대표적이다.
: npm은 Node.js를 설치하면 자동으로 설치된다. 그러나 용량 문제, 패키지 내려받는 속도 문제, 보안 문제 등이 있어 개선된 yarn 혹은 pnpm을 많이 사용하기도 한다.
3. 빌드 도구
: 자바스크립트 코드를 하나의 파일 혹은 여러 파일로 뭉쳐주는 번들링 작업을 하고 번들링된 스크립트를 포함 시키는 방식을 일반적으로 사용한다.
: 위와 같은 빌드 도구 중 가장 유명한 것은 웹팩이며 , ESBuild , Vite 등이 뜨고 있다. 요즘 대세는 Vite라고 할 수 있다.
4. 개발 도구
: 과거에는 서브라임텍스트 등이 있었으나 현재는 VSCode 등이 있다. 혹은 JetBrain 사의 WebStorm 등이 있다. 웹스톰은 자바스크립트 디버깅, 단위 테스팅뿐 아니라 자바스크립트 특화된 기능도 대거 지원한다.
5. 웹 프레임워크
: 프론트에서는 리액트와 뷰 그리고 스벨트가 널리 쓰이고 있다.
: 백엔드에서는 Express와 NestJS가 널리 쓰인다.
: 빠르게 서비스를 만들 때는 Express, 팀으로 협업하면서 규모 있는 서비스를 사용할 땐 nestJS를 사용하기 때문에 둘 다 알아야 한다.
: 앱 개발에서는 일렉트론과 RN 등이 있다.
6. 백엔드 개발 환경
: 가장 유명한 백엔드 런타임 환경은 Node.js다
: 최근에 Deno가 나왔지만 아직 Node.js가 주를 이루고 있다.
7. 인프라
: 풀루미(pulumi)는 자바스크립트 코드로 클라우드 환경 기반에서 인프라를 관리하도록 해준다. 개인용으로는 무료이다.
지금까지 백엔드 개발자가 사전에 알아야하는 지식들을 다뤄보았다. 이렇게 가볍게 정리하고나니 조금씩 정리되어가는 기분인데 좀 더 발전해야겠단 생각이 든다.