Web Front-end 관점에서의 Node.js

MINIBAIK·2021년 9월 5일
2

Web Technology

목록 보기
17/18

Node.js 란 ?


위키백과를 참고하면, Node.js는 Chrome V8 Javascript Engine 으로 빌드된 Javascript 런타임이다. 확장성 있는 네트워크 어플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 논블로킹(Non-blocking) I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.

처음 접하는 사람이 보면 말들이 너무 어려운 것 같다.


쉽게 정리하면, Node.js는 Javascript를 컴퓨터에서 실행할 수 있게 하는 Javascript 실행기이다. 확장성 있는 네트워크 어플리케이션~ 이라 하니 서버를 위해서 설계된 플랫폼이라 볼 수 있다. Node.js 관련 키워드로는 단일 스레드(Single Thread), 이벤트 루프(Event Loop) 기반, 비동기 I/O 처리(Non-Blocking I/O) 등이 있지만 Front-end 관점에서는 Chrome V8 Engine 부분만 확실히 체크하면 될 것 같다.

Chrome V8 Engine 참고 >> https://helloinyong.tistory.com/290



Front-end에게 Node.js


Javascript는 일반적으로 Chrome과 같은 브라우저에 종속되어 있다. Chrome DevTools에서 증명할 수 있다.

Javascript를 Chrome 같은 브라우저에서만 쓰는 것이 아닌 브라우저 밖에서 다양한 용도로 확장하기 위한 것이 바로 Node.js이다. Javascript를 실행시킬 수 있는 곳은 이제 브라우저뿐만 아니라 Node.js 환경에서도 가능하다는 얘기다.

npm

우리는 npm을 이용하여 Javascript 모듈들, 라이브러리를 쉽고 편하게 다운받는다. 이 npm은 Node.js의 기본 패키지 관리자이다. Node.js 없이, npm 없이 혼자 알아서 라이브러리들을 다운을 받아 개발을 한다는 것은 여간 쉬운 일은 아닐거라고 생각한다.

위키백과

npm (노드 패키지 매니저/Node Package Manager)은 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자이다.

명령 줄 클라이언트(npm), 그리고 공개 패키지와 지불 방식의 개인 패키지의 온라인 데이터베이스(npm 레지스트리)로 이루어져 있다.

이 레지스트리는 클라이언트를 통해 접근되며 사용 가능한 패키지들은 npm 웹사이트를 통해 찾아보고 검색할 수 있다. 패키지 관리자와 레지스트리는 npm사에 의해 관리된다.

https://ko.wikipedia.org/wiki/Npm_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)

결론


Front-end 개발자들이 주로 Node.js를 이용하는 사례로는 npm으로 의존성 모듈 관리, babel, webpack과 같은 CLI를 Node.js 위에서 구동하는 경우라 한다.

우리는 웹 개발 시 Node.js를 이용하여 작업 환경을 구성하고, 모듈 같은 것들을 npm에서 편하게 받아서 설치하면 된다. Facebook에서 제공하는 React의 Boilerplate인 'create-react-app' 이 좋은 기준이다.



reference:
https://perfectacle.github.io/2017/06/18/what-is-node-js/
https://geonlee.tistory.com/92
https://ljh86029926.gitbook.io/coding-apple-react/undefined/node.js-npm

profile
Organize theories during development.

0개의 댓글