자바스크립트

내위키
Dennis (토론 | 기여)님의 2020년 11월 14일 (토) 03:39 판

JavaScript.

프로그래밍 언어. 특히 웹 환경에서는 절대 지존의 자리를 차지하고 있다. 동적인 웹페이지를 위해서는 대안 없는 원톱이고 서버 사이드에서도 Node.js 덕택에 강력한 세력을 구축했다. 일렉트론 프레임워크를 활용하면 크로스 플랫폼 데스크톱 응용프로그램을 만들 수 있고[1] 아파치 코르도바, 리액트 네이티브로 모바일 앱도 개발할 수 있다. 이쯤 되면 정말로 만능이다.

이렇게 막강한 영향력을 가진 자바스크립트는 브랜든 아이크가 넷스케이프 내비게이터 브라우저를 위해 단 열흘만에 설계했다. 이전까지는 웹 페이지는 정적이었고, 페이지가 한번 로딩되고 나면 더 이상 변화가 없었다. 여기에 동적인 변화를 가능하게 하기 위해 넷스케이프는 두 가지 방안을 생각했는데, 하나는 자바를 브라우저에 안아서 자바로 동적인 웹 페이지를 구현하는 것이고, 다른 하나는 새로운 언어를 개발하는 것이었다. 이를 위해 브랜든 아이크를 채용하고 자바스크립트 개발을 추진했는데, 결국 넷스케이프는 후자를 채택했다.

처음에는 모카(Mocha)라는 이름을 붙였다가 라이브스크립트(LiveScript)로 바뀌었고, 다시 자바스크립트로 바뀌었다. 자바스크립트라는 말 때문에 자바 개발사[2]에서 만든 거 아닌가 싶지만 자바와는 관계 없고[3] 자바가 새로운 프로그래밍 언어로 아주 잘 나가고 있었기 때문에 그 명성에 그냥 묻어가려고 그렇게 이름 붙인 것.

1995년에는 마이크로소프트가 인터넷 익스플로러를 내놓음으로써 첫 웹 브라우저 전쟁이 시작된다. 당시 MS는 넷스케이프 내비게이터를 역엔지니어링해서 자체적인 자바스크립트 구현체를 만들었고 이를 JScript라고 이름 붙였다. 둘 다 자바스크립트이긴 하지만 제공되는 라이브러리나 동작 방식에 차이가 있었기 때문에 내비게이터에서는 잘 돌아가는 코드가 IE에서는 에러가 나거나 그 반대의 현상이 일어나는 일이 잦았다.

자바스크립트의 진정한 파워가 빛을 낸 것은 AJAX. 이걸 처음 들고 나온 건 구굴이지만 아이러니하게도 기반을 만든 건 웹 세계를 난장판으로 만들었던 MS였다. 원래는 1999년에 아웃룩에서 쓰였던 xml request 기능을 제공하는 IXMLHTTPRequest라는 건데 모질라 측도 이 기능을 2002년에 포함시켰다. 그런데 구글이 이 기능을 사용해서 웹 페이지를 다시 로드하지 않고도 자바스크립트를 이용해서 서버와 통신하고, 받아 온 데이터를 가지고 DOM을 업데이트하는 방식으로 웹 페이지를 업데이트하는 기능을 선보인게 AJAX. 이걸로 자바스크립트의 활용도는 다시 한번 급상승하고, 웹 페이지에서 이전에는 생각도 못했던 별의 별 기능들을 다 구현할 수 있게 되었다.

다시 한번 자바스크립트의 활용도를 대폭 상승시킨 것은 jQuery. 세련된 웹 페이지 인터페이스를 허탈할 만큼 간단하게 구현할 수 있도록 돕는 라이브러리인 jQuery의 뒤를 이어 리액트, Angular, Vue.js와 같은 라이브러리들이 등장했다.

한편으로는 웹 페이지, 즉 프론트 엔드만이 아니라 백 엔드에서도 자바스크립트를 활용하려는 시도가 있었고, 대박이 난 게 Node.js다. 자바스크립트로 웹 서버를 돌릴 수 있게 되고 데스크톱 환경에서도 활용도가 급속하게 올라가면서 자바스크립트는 웹 페이지만이 아니라 웹 서버, 모바일, 데스크톱을 아우르는 개발 언어로 입지를 다지게 된다.

각주

  1. 비주얼 스튜디오 코드가 일렉트론 프레임워크를 활용한 대표적인 작품이다.
  2. 선이 개발했고, 이후 선이 오라클에 인수되어 지금은 오라클 소유다
  3. 코드의 문법이 비슷한 면이 있긴 하지만 둘 다 C 계열 언어이기 때문에 그런 것이지 별 관계는 없다. 객체지향을 구현하는 방법도 아예 다르다.