우리가 매일 접속하는 웹사이트는 크게 3가지 요소로 구성된다. 

‘HTML(Hyper Text Markup Language)’, ‘CSS(Cascading Style Sheets)’, ‘자바스크립트(Javascript)’다. 

- HTML은 웹페이지의 큰 뼈대를 제공하고, 

- CSS는 색깔이나 글씨체와 같은 디자인 요소를 관리한다. 

- 자바스크립트는 크로스 플랫폼(crossplatform)6, 객체지향 스크립트 언어로 웹페이지의 동작을 담당한다. 

예를 들어 자바스크립트를 이용하면 ‘버튼을 클릭하면 밑에 날짜를 보여줘’라는 식의 명령을 내릴 수 있다.

자바스크립트를 이용하면 웹에 풍부한 효과를 넣을 수 있지만, 2000년대 초반만 해도 자바스크립트는 개발자들에게 무시당하는 언어였다. 별다른 기능도 없고, 성능도 별로 좋지 않았기 때문이다. 하지만 최근 몇 년 사이에 다양한 자바스크립트 프레임워크와 라이브러리가 생기면서 자바스크립트 생태계는 크게 확장되고 있으며, 그 위상도 점점 높아지고 있다.

프로그래밍 입문자들은 자바스크립트와 자바(Java)가 서로 비슷한 기술이라고 생각하곤 한다. 두 언어 모두 자바라는 단어를 사용하기 때문이다. 하지만 자바스크립트는 자바와는 전혀 관계가 없다. 언어를 만든 사람부터 기능과 사용법까지 완전히 다르다.

자바스크립트는 브랜든 아이크(Brendan Eich)가 개발했다. 브랜든 아이크는 1995년 넷스케이프에 근무하면서 자바스크립트 개념을 만들었다. 그는 처음에는 자바스크립트가 아닌 ‘모카(Mocha)’라는 이름을 붙였다. 모카는 1995년 12월 ‘라이브 스크립트(LiveScript)’라는 이름으로 바뀌었는데, 당시 자바가 큰 인기를 끌자 마케팅 효과를 노려 이름을 자바스크립트로 변경했다. 이후 자바스크립트 기술이 다양하게 발전했고, 이에 대한 표준과 명세를 ECMA 인터내셔널에서 관리하고 있다.


Java와 비교한 JavaScript

자바스크립트와 자바 비교 <출처: (CC-BY-SA) MDN(Mozilla Developer Network)




배우기 쉽고 확장성 높지만, 보안엔 취약해

자바스크립트는 다양한 장점과 단점을 가진다. 


먼저 장점부터 살펴보자. 

자바스크립트는 컴파일 과정이 없기 때문에 다른 언어와 비교했을 때 빠른 시간 안에 스크립트 코드를 작성할 수 있게 도와준다. 기존 C나 자바 언어와 달리 굉장히 단순한 구조와 원칙을 가지고 있기 때문에 초보 개발자들이 쉽게 배우고 이해할 수 있다.


예를 들어 자바스크립트 코드 안에서는 변수, 클래스 및 메소드를 선언하지 않아도 되고, 메소드가 ‘public’, ‘private’ 또는 ‘protected’인지 구분하지 않아도 된다. 이러한 특징은 개발자마다 서로 다른 방식으로 코드를 짜는 부작용도 있다. 그래서 구글이나 에어비앤비 같은 기업들은 ‘자바스크립트 스타일 가이드’라는 문서를 따로 만들어 읽기 쉽고 실수를 피할 수 있는 자바스크립트 작성법을 공개하기도 했다. 자바스크립트는 웹에 특화된 기술이기 때문에 운영체제나 플랫폼에 상관없이 잘 작동되고 확장성도 높다. 


단점은 성능이나 보안 측면이다. 

일단 내부에서 제공되는 기능이 제한적이고, 관련된 개발도구도 적은 편이다. 또한 자바스크립트는 HTML 소스코드에 함께 작성되면서 소스코드가 외부로 공개되는데, 이 과정에서 보안 취약점이 발생할 수 있다.


‘개발자가 가장 관심 많이 갖는 언어’로 꼽혀

깃허브에 작성된 소스코드 언어 종류. 2013년 이후 자바스크립트가 가장 많이 활용되고 있다. <출처: 깃허브 블로그>

개발자들의 대표 커뮤니티인 스택오버플로우는 2015년 157개국에 있는 사용자 2만6천여명에게 다양한 기술 관련 설문조사를 실시했다. 그 결과 자바스크립트는 ‘스위프트’와 함께 개발자들이 가장 많이 관심을 가지는 언어로 뽑혔다. 스택오버플로우는 설문조사 결과를 발표하면서 “자바스크립트는 가장 많이 사용하고 있는 프로그래밍 언어이며, 노드JS와 앵귤라JS가 눈에 띄게 성장하고 있다”라고 밝혔다. 오픈소스 개발자들이 많이 모이는 깃허브에서도 “자바스크립트가 소스코드 저장소에서 가장 많이 활용되고 있다”라는 통계를 공개했다. 그만큼 자바스크립트가 눈에 띄게 성장하고 있다는 뜻이다. 오픈소스 커뮤니티처럼 개인 개발자가 만든 기술도 많지만, 기업이 직접 자바스크립트 기술을 배포해 사용자를 모으는 경우도 적잖다.

특히 최근에는 자바스크립트 관련 라이브러리나 프레임워크가 개발자들 사이에서 큰 화제다. 위키피디아에 올라온 ‘자바스크립트 라이브러리 목록’을 보면 관련된 기술이 90여개인데다 데이터과학, 이용자조작화면(UI), 서버 등 활용 분야도 다양하다. 다음은 최근 큰 인기를 끄는 자바스크립트 기술들이다.

자바스크립트 관련 기술들 로고 <출처: 각 홈페이지>



+ Recent posts