💡 Node.js 란 ?
Node.js 는 Chrome V8 Javascript 엔진으로 빌드 된 Javascript 런타임
- 즉 , 노드를 통해 다양한 자바스크립트 애플리케이션 실행 가능
➡️ 서버를 실행하는데 가장 많이 사용된다.
- Node.js 는 Javascript를 서버에서도 사용할 수 있도록 만든 프로그램
- Node.js는 V8이라는 Javascript 엔진 위에서 동작하는 자바스크립트 런타임(환경)
- Node.js는 웹서버와 같이 확장성 있는 네트워크 프로그램을 제작하기 위해 만들어짐
⏳ 런타임?
: 특정 언어로 만든 프로그램을 실행할 수 있는 환경
- 혹은 프로그래밍 언어가 구동되는 환경 !
- Javascript로 예를 들면 브라우저에서 실행이 되면 런타임 환경은 브라우저가 되고,
Node.js에서 실행이 된다면 런타임은 Node.js가 된다 !
💡 Node.js 사용 이유 ?
- Node.js를 사용하려면 먼저 Javascript를 배워야 한다.
➡️ Node.js는 Javascript를 사용하기 위해 만들어진 것
- Javascript는 C/C++, Java와 같은 프로그래밍 언어
➡️ 하지만 이름에서도 알 수 있듯 Javascript는 독립적 언어가 아닌 스크립트 언어
➡️ 스크립트 언어는 특정 프로그램 안에서 동작하는 프로그램이기 때문에 웹 브라우저 프로그램 안에서만 동작
➡️ 즉, 웹브라우저 (크롬, 사파이, 익스플로러, 파이어폭스 등)가 없으면 사용 ❌
- Javascript를 웹 브라우저에서 독립시킨 것으로 Node.js를 설치하게 되면 터미널 프로그램에서 Node.js를 입력하여 브라우저 없이 바로 실행 가능
- Node.js를 이용하여 서버를 만들 수 있다 !
➡️ 한가지 언어로 전체 웹페이지를 만들 수 있게 된 것
💡 자바스크립트 런타임
- 런타임이란? 특정 언어로 만든 프로그램을 실행할 수 있는 환경
- 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있게 하는 자바스크립트 실행기
- 2008년 구글이 V8엔진을 사용하여 크롬 출시, V8 엔진은 다른 자바스크립트 엔진과 달리 매우 빨라 라이언 달(Ryan Dahl)은 2009년 V8 엔진 기반의 노드 프로젝트를 시작하며 세상에 나왔다.
💡 Node.js의 FrameWork Express
- Express는 Node.js의 프레임워크(FrameWork)
- 프레임워크는 어떠한 작업을 쉽게 완성하기 위한 라이브러리의 집합이라고 할 수 있다.
- 작업을 시작부터 끝까지 라이브러리로 지원한다는 점이 단순한 라이브러리와 차이가 나는 부분이다.
- 예를 들면 jQuery는 JavaScript 라이브러리로 다양한 용도를 가지고 있지만, jQuery 자체가 무엇 하나를 이루기 위한 목적을 가지고 있지는 않다.
- Express는 Node.js를 이용하여 웹 애플리케이션을 만들기 위한 틀(Frame)을 제공하는 라이브러리의 집합이다.
- 현재 JavaScript는 GitHub에서 사용률 1위인 언어이며, 이는 Node.js의 덕이 크다고 할 수 있다.