320x100
320x100

JavaScript

: 1995년 넷스케이프에서 HTML을 동적으로 표현할 목적으로 만든 모카(Mocha)라는 이름의 스크립트 언어로 탄생

: 과거에는 브라우저에서만 실행되는 언어로 취급되었으나, NodeJS와 같은 런타임 환경이 출현하면서 백엔드에서도 사용할 수 있게됨

 

- 현 시점에서의 JavaScript

: 프론트엔드, 백엔드, 인프라, 서버리스, 앱 개발 등 대부분의 곳에서 사용

: 탄탄하고 풍성한 생태계를 가짐



 

 

 

패키지 매니저

: JavaScript 개발에 필요한 패키지를 관리하는 도구

 

- npm

: NodeJS에 포함된 기본 패키지 매니저

: 용량, 다운로드 속도, 보안 문제가 존재

 

- yarn

: npm의 문제를 개선한 대표적인 JS 패키지 매니저

 

- pnpm

: 심볼릭 링크를 사용해 npm의 문제를 개선한 패키지 매니저

 

 

 

빌드 도구

: JavaScript로 작성한 코드를 실행하기 좋은 형태로 컴파일하는 도구

: 예전에는 자바스크립트의 라이브러리를 import 할 때 <script> 태그를 사용했으나, 최근에는 빌드 도구를 사용해 하나의 파일로 합쳐진 (번들링 된) 스크립트를 import 하여 사용

: 빌드 도구는 아직 표준화가 되지 않아 많은 소프트웨어가 경쟁중

 

- webpack

: 다양한 모듈 시스템을 지원하나 느리다는 단점이 존재

 

- ESBuild

: 웹팩에 비해 빠른 빌드속도와 편리한 기능이 추가된 빌드 도구

: ESM 형식의 JS만 지원

 

- Vite

: 웹팩에 비해 빠른 빌드속도와 편리한 기능이 추가된 빌드 도구

: ESM 형식의 JS만 지원

 

 

 

 

개발 도구

: 코드 작성을 위한 에디터

 

- VSCode

: 일렉트론 (자바스크립트 크로스 플랫폼 데스크톱 앱을 만드는 프레임워크)로 만들어져 자바스크립트 뿐만 아니라 타입스크립트 코드가 많이 포함되어 있어 자바스크립트에 특화된 기능을 대거 지원

 

- WebStorm

: 자바스크립트 디버깅, 단위 테스팅 등 자바스크립트에 특화된 기능을 대거 지원

 

 

 

 

웹 프레임워크

: 웹 서버를 구현하기 위한 기능들을 지원하는 프레임워크

 

- 프론트엔드

: React / Vue.js

 

- 백엔드

: Express / NestJS

: 빠르게 서비스를 만들때는 Express, 팀으로 협업하면서 규모 있는 서비스를 만들때는 NestJS를 주로 사용

 

- 애플리케이션

: React Native / 일렉트론

 

 

 

 

백엔드 개발 환경

: 백엔드 프로그램을 개발하기 위한 런타임

 

- Node.js

: 가장 유명한 자바스크립트 백엔드 런타임

 

- Deno

: Node.js에서 개선하지 못한 부분들을 개선하여 만든 백엔드 런타임

: Node.js 개발자인 라이언 달이 만듦

: 아직 호환성 등의 문제가 있으나 일관성 있는 개발 경험을 제공

 

 

 

 

인프라

: 자바스크립트로 인프라를 관리하기 위한 도구

 

- pulumi

: 자바스크립트 코드로 클라우드 환경 기반에서 인프라를 관리하는 도구

: 개인 용도로 사용하면 무료, 기업용은 유료

 

 

 

 

 

Reference

 

백엔드 입문자를 위한 자바스크립트 생태계 | 요즘IT

자바스크립트는 생태계가 아주 튼튼하고 풍성합니다. 프로그래밍 언어를 선택할 때 해당 언어의 개발 환경의 성숙도는 탄탄한 생태계를 갖추고 있는지로 알 수 있습니다. 패키지 매니저, 빌드

yozm.wishket.com

300x250
728x90