[Node.js 강좌] Node.js 란? 개념과 소개

Click the link to read to the article: 블로그 내용보러가기

=====

요즘 웹언어에서는 정적인 홈페이지 뿐만 아니라 쇼핑몰, 티켓 예메사이트, 블로그 등 data가 변하는

사이트를 만들고 심지어 게임도 웹에서 만들고 있습니다. 과연 이것들은 어떤 방식으로 만들어져 오는 것일까요?

오늘은 네트워크 어플리케이션 개발에 사용되는 플랫폼 Node.js 를 소개해보겠습니다.

1. Node.js 란?


Node.js는 확장성 있는 네트워크 어플리케이션 개발에 사용되는 소프트웨어 플랫폼입니다. 특시 서버사이드에서 많이 사용되곤 합니다. 사용되는 언어로는 자바스크립트(Javascript)를 활용하며, Non-blocking I/O 와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있는 특징을 가지고 있습니다.

내장 HTTP 서버 라이브러리르 포함하고 있어 웹 서버에서 아파치 등의 별도 소프트웨어 없이 동작하는 것이 가능하며, 이를 통한 웹 서버의 동작에 있어 더 많은 통제에서 벗어나 여러가지 기능을 가능하게 합니다.

즉 Node.js 를 통해 웹어플리케이션이 더욱 발전하게 되었으며, 정적인 홈페이지 뿐만 아니라 쇼핑몰, 티켓 예메사이트, 블로그 등 data가 변하는 사이트를 만들 수 있으며, 여러 개발자들이 만든 프로그램과 게임을 웹상에서 구동시켜 안드로이드폰, 아이폰, 윈도우PC, 맥 등 플랫폼의 제약에 벗어나 어디든 상관없이 실행이 가능하게 해줍니다.

물론 단순히 웹에서 실행가능한 게임을 만들려면 javascript 만으로도 가능하지만 좀더 진화된 프로그램으로 실시간 온라인 채팅, 실시간 온라인 게임 등 실시간 기능을 넣거나, 로그인 기능을 넣어 유저를 관리하고 점수를 관리하는 데이터베이스 기능을 Node.js 를 통해 만들 수가 있습니다.

2. Node.js 사용이유


Node.js 를 이해하려면 먼저 javascript를 배우셔야 합니다. 그 이유는 node.js는 javascript 기반으로 개조하여 만들어졌기 때문입니다.

Javscript는 C/C++, Java와 같은 프로그래밍 언어입니다. 하지만 이름에서 알 수 있듯이 Javascript는 독립적인 언어가 아니라 스크립트 언어입니다. 스크립트 언어는 특정한 프로그램 안에서 동작하는 프로그램이기 때문에 웹브라우저 프로그램 안에서만 작동을 하게 됩니다. 즉 웹브라우저(크롬, 파이어폭스, 사파리, 익스플로러 등등) 가 없으면 사용할 수 없는 프로그램이죠.

여기서 Node.js 가 나오는 이유가 됩니다. 즉 javascript를 웹 브라우저에서 독립시킨 것으로 Node.js를 설치하게 되면 터미널프로그램(윈도우의 cmd, 맥의 terminal 등)에서 node를 입력하여 브라우져 없이 바로 실행할 수 있습니다. 하지만 javascript에서 분리된 언어이기 때문에 문범은 같습니다. 이렇게 .node.js를 이용하여 웹브라우져와 무관한 프로그램을 만들 수 있게 되었고, 중요한 것은 node.js를 이용하여 서버를 만들 수 있다는 것입니다. 중요한 이유는 이전까지 server-clint 웹사이트를 만들 때 웹에서 표시되는 부분은 javascript를 사용하여 만들어야만 했으며, 서버는 ruby, java 등 다른 언어를 써서 만들어야 했는데, 마침내 한가지 언어로 전체 웹페이지를 만들 수 있게 된 것입니다.

3. node.js의 framework Express


Express는 node.js 의 framework 입니다. framework 라는 것은 어떠한 작업을 쉽게 완성하기 위한 라이브러리의 집합이라고 할 수 있습니다. 작업을 시작부터 끝까지 라이브러리로 지원한다는 점이 단순한 라이브러리와 차이가 나는 부분입니다. 예를 들면 JQuery는 javascript 라이브러리로 다양한 용도를 가지고 있지만, jquery 자체가 무엇 하나를 이루기 위한 목적을 가지고 있지는 않습니다. express는 node.js를 이용하여 웹 어플리케이션을 만들기위한 틀(frame)을 제공하는 라이브러리의 집합입니다.

현재 javascript는 git-hub(git을 이용한 소셜 코딩 사이트)에서 1위의 사용률을 보이는 언어이며 이는 node.js의 덕이 크다고 할 수 있습니다. 앞으로의 포스팅을 통해 node.js와 express를 이용한 웹어플리케이션을 만드는 방법을 강좌해보도록 할 예정입니다.