웹사이트에 생명을 불어 넣어주는 마법의 언어
JavaScript는 넷스케이프와 썬 마이크로시스템즈에서 공동으로 수행한 프로젝트에서 개발한 클라이언트용 언어입니다.
‘클라이언트용 언어’는 무엇인가요?
– Q. 웹 개발의 클라이언트와 서버, 알고 계시나요?
JavaScript는 사용자와 웹사이트가 서로 상호작용하는 데에 도움을 주는 기능을 제공하는데요. 사용자가 웹사이트의 화면에서 어떠한 액션을 일으켰을 때, 다른 페이지를 열지 않고도 변화된 결과를 즉각적으로 보여줍니다. 위시켓 사이트를 예시로 들어서 설명해드리겠습니다.
여러분이 프로젝트를 등록할 때 볼 수 있는 화면입니다.
빈 칸을 채울 때마다 ‘작성 완료까지 예상 시간’이 점점 줄어드는 것을 확인하셨나요? 또한 ‘기획 상태’를 체크하면 흑백 이미지에서 컬러 이미지로 바뀌지요. 이처럼 다른 페이지를 띄우지 않고도 바뀐 내용을 실시간으로 보여줄 수 있는 것을 JavaScript가 가능하게 해주는 것이지요.
개발자의 입장에서 봤을 때, JavaScript는 빨리 배울 수 있고 작업이 빠르기 때문에 많이 사용됩니다. 또한 특정 운영체제에 제한을 받지 않기 때문에 클라이언트측 언어의 표준으로 사용되고 있지요.
최근 웹 브라우저 내에서만 사용되던 자바스크립트를 서버 상에서도 사용할 수 있게 되었는데요. 바로 Node.js라는 플랫폼 덕분입니다.
Node.js는 2009년 라이언 달(Ryan Dahl)이라는 프로그래머가 개발한 서버 개발 환경입니다. 구글에서 개발한 ‘V8 자바스크립트 엔진’을 기반으로 하여 매우 빠르고 고성능인 서버 사이드 플랫폼이지요. 최근 애플리케이션을 개발하는 데에 굉장히 많이 이용되는데요. 위시켓에 들어오는 애플리케이션 프로젝트를 보면, 대략 10건 중에 6건은 Node.js를 이용한다고 합니다.
이처럼 Node.js가 각광 받는 이유는 서버측 언어와 클라이언트측 언어를 JavaScript라는 한 언어로 구축할 수 있다는 장점 때문인데요. 그렇기 때문에 Node.js를 이용하면 빠르고 쉽게 고성능의 앱을 구현할 수 있습니다. 특히 실시간 알림이 필요하고 변동되는 정보의 양이 많은 메신저 기능이나 푸쉬 기능이 필요한 애플리케이션을 만들고자 할 때, Node.js를 이용하여 구축하는 경우가 많습니다.
LinkedIn이나 eBay, Paypal, Trello, Uber 등 여러분이 잘 알고 있는 유명한 회사들도 이러한 장점들 때문에 Node.js를 이용하고 있다고 하네요.
(출처: Projects, Applications, and Companies Using Node – Github
https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node)