티스토리 뷰

"요즘 따라 내꺼인 듯

내꺼 아닌 내꺼 같은 너"

 몇 년전 유행가의 노래말중에 하나이다. 왜 이렇게 해묵은 유행가 가사를 인용까지 했는지는 오늘 포스트의 주제를 보면 알 수 있다. 동물로 비유하면 "코끼리"와 "바다코끼리"쯤되는, 자바(Java)와 이상한 동질감아닌 동질감을 갖는 주인공, 바로 자바스크립트(JavaScript)이다. 맞다, 자바스크립트는 자바와는 완전히 다른 언어이다. 하지만, 대부분 사람들[각주:1]은 모른다. 오늘 주제도 마찬가지로 사람들이 모른다. 요즘에는 자바스크립트를 웹(Web)의 '보조도구'라고만 생각하지 않는다. 물론 이전까지는 '웹브라우져 안에서 DOM 컨트롤을 동적으로해주는 느려터진 아이'로 생각했을 수 있다. 하지만 이전 포스트에서도 말했듯이 자바스크립트는 이제 웹브라우져안에만 갇힌 녀석은 아니라는 것이다.


 브랜던 에이크(Brendan Eich)가 자바스크립트를 10일만에 완성하고 웹브라우져에 탑재되었때만하더라도 표준도 없었고 각자 경쟁사별로 독자 표준[각주:2]을 사용하고 있을때였다[각주:3]. 자바스크립트로 HTML문서를 불러오고나서 DOM을 동적으로 다루는 일이 가능해졌고 사람들은 이것으로 각종 효과[각주:4]를 만들어낸다. 이 덕분에 사람들은 웹에 이동말고 움직임을 부여할 수 있게되었고 그 상황은 고착화되었다. 필자 역시 이맘때쯤 자바스크립트를 처음 접했으니 웹의 '보조도구'로써 유용한것 이외에는 자바스크립트를 집중해서 배우진 않았다[각주:5]. 그때 당시 진짜로 그것밖에 역할이 없었다.


 나름 반전의 요소라고 할 수 있지만 크게 흥행까진 못했던[각주:6] XMLHttpRequest[각주:7]인데, 이 API 덕분에 서버와 클라이언트간 상호통신이 가능해졌다. XML형식으로 통신하기 위해 개발되었지만 나중엔 확장된다. 서버와 클라이언트가 데이터를 주고 받는 관계가 되었는데도 불구하고 자바스크립트는 여전히 '보조도구'였다[각주:8].


 이렇게 신생언어이면서 천천히 발전해오던 자바스크립트가, 그저 '보조도구'일것 같았던 자바스크립트가 크게 주목을 받기 시작한건 구글이 구글맵을 만들면서 맵의 데이터 로딩과 페이지 전환에 대한 고민을 해결했을때였다. 구글은 AJAX(Asynchronous Javascript And XML)로 그 고민을 해결했다. 요즘은 우리가 손쉽게 지도를 확대하면 축척에 따른 데이터를 볼 수 있지만[각주:9] AJAX개념이 없을땐 사실상 페이지마다 링크를 타고 가는것과 비슷했다. 그 상황을 반전시킨것이다. 심지어 생각보다 느리지도 않다(!!).


 구글 덕분에 자바스크립트가 주목을 받게되었다. 그리고 또 한번 구글 덕분(?)에 자바스크립트가 지금과 같은 비상을 할 수 있게된다. 구글 크롬이 돌풍을 일으키면서 브라우져 시장을 휘져었을때[각주:10], V8라는 자바스크립트 엔진으로 큰 덕을 보게 되는데, 그 큰 덕은 바로 속도였다. '느려터진 아이'로 천대 받던 자바스크립트의 속도를 끌어올린것이다. 그냥 가만히 있는 자바스크립트로도 놀라운 일이였지만 정작 대형사고는 다른곳에서 나온다. V8 덕분에 자바스크립트의 속도가 올라가니 NodeJS가 등장했다[각주:11]. NodeJS의 등장은 자바스크립트뿐만아니라 다른 서버사이드 언어에도 영향을 미쳤다. 이제 자바스크립트는 PHP,JSP,C#,Pyhton,Perl, 등과 같은 입장이 된것이다. 이것은 자바스크립트만으로 프론트엔드와 백엔드를 전부 개발할 수 있게했고 많은 개발자들이 열광했다[각주:12]. NodeJS 등장을 계기로 자바스크립트의 성장은 고공행진하고 있다.


 이렇게 천대(?)받던 언어가 요즘 가장 핫한 언어로 성장하는 이야기는 정말 놀라지 않을 수 없다. 속담에 "개천에서 용났다."가 딱 어울릴 상황이다. 개인적으로도 아주 좋은 현상이라고 생각한다. 하지만 지금의 관심이 지속될지, 성장도 계속 될지는 의문이다.

  1. javascript로 개발하지 않는 개발자들 [본문으로]
  2. 넷스케이프는 JavaScript, IE는 JScript [본문으로]
  3. 이후에 상표문제로 JavaScript라는 표준은 못쓰고 ECMAScript라고 표준을 정의했다. (ES##) [본문으로]
  4. 우리의 웹사이트를 느려지게 했던 근원 [본문으로]
  5. 근데 지금은 자바스크립트로 먹고 산다. [본문으로]
  6. 영화로 비유하면 국제 영화제에서 작품상을 휩쓸었지만 박스오피스 점수는 평가에 비해 좋지 않을 경우와 비슷하다. [본문으로]
  7. 기능적으론 개벽이라고 생각하지만 많은 이들이 그냥 서버에서 처리하고 클라이언트로 전달하는걸 더 많이 선택했었다(그냥 페이지 링크거는 일). [본문으로]
  8. JSON 규격이 나왔지만 여전히 XML이 대세였던 시절 [본문으로]
  9. 대화식 [본문으로]
  10. 아직도 휘졌고 있다 [본문으로]
  11. 중간에 jQuery가 등장했고 이 역시 커다란 영향을 미쳤다. [본문으로]
  12. 그리고 우린 또 배운다. [본문으로]
댓글
댓글쓰기 폼