JavaScript의 생성 배경

이지영·2024년 6월 2일

JavaScript의 역사

1993년 집집마다 컴퓨터가 없었던 그 시절,
컴퓨터를 모르는 사람들도 쉽게 쓸 수 있는 UI요소가 더해진
첫 번째 Mosaic Web Browser 가 시장에 나오게됩니다.

이 Mosaic Web Browser의 개발팀을 이끌던 Mark Andressen은 대학교를 졸업함과 동시에 넷스케이프(Netscape)는 회사를 설립하게 된다.

이전에 만들었던 Mosaic Web Browser 의 경험을 토대로 해서 조금 더 UI요소가 더해진 Netscape Navigater 를 시장에 내놓게 된다.

당시에는 html과 css로 간단하게 웹 페이지를 만들 수 있었는데
html 의 약자인 하이퍼 텍스트 링크를 걸어서 페이지와 페이지 사이의 이동만 가능한 정말 정적인 웹 사이트만 가능했다.

이 Netscape Navigater는 시장에서 80%의 점유율을 자랑하면서 급경히 성장해 나간다.

JavaScript 생성의 발단

그리고 Mark Andressen은 이미 사용자들에게 보여주고 있는 웹 사이트 안에서 돔 요소들을 조작하면서 다이나믹한 웹 사이트를 만들기 위해 고심하다 스크립팅 언어를 추가하기로 한다.

JavaScript 생성 과정

처음으로 고려되었던 것은 그때 한참 뜨고 있었던 JAVA언어였고
웹 사이트를 주로 개발하던 개발자들이 쓰기에는 다소 무겁고 어려운 언어였기 때문에,

두번째 시도로는 Brendan Eich라는 사람을 스카우하여 기존에 존재했던 Cheme 스크립트 언어를
유지하면서 문법은 조금 더 JAVA 스럽게 조금 변형하여 새로은 언어를 만들어 보기로 했다.

그리하여 Brendan은 10일만에 프로토타입을 베이스로 한 유연한 언어를 개발하게 된다.

1994년에 내부적으로 모카라고 불렸던 새로운 언어가 탄생하게된다.

자바스크립트 이름의 변화
모카 -> 라이브 스크립트 -> 자바 스크립트

넷스케이프 네비게이터 안에는 라이브 스크립트를 이해하고 실행할 수 있는 라이브 스크립트 엔진 즉 인터프리터가 포함이 되어서 브라우저에 출시하게 된다.

즉, 개발자들이 라이브 스크립트 언어를 이용하여 웹 페이지를 만들게 되면
넷스케이프 네비게이터 브라우저가 그언어를 이해하면서 그 언어가 실행하고자 하는 것에 알맞게 DOM요소를 조작하는게 가능해진것이다.

1995년도에 공식적으로 넷스케이프 네비게이터 브라우저 위에 자바스크립트와 자바스크립트를 이해할 수 있는 엔진이 포함되어 출시가 된다.

경쟁사의 등장

이런 성공사례를 목격하고 브라우저의 무한한 잠재성을 확인한 마이크로소프트사는

*리버스 엔지니어링 을 하여 자바스크립트와 그 엔진의 소스코드를 복원하여 기능을 변경해 자신들만의 언어를 만들게 되고, 그 언어를 J스크립트라고 이름을 변경하여 시장에 출시하게 된다.

그리고 마이크로소프트사에서 인터넷 익스플로어를 출시한다.

*리버스 엔지니어링:
만들어진 프로그램의 바이너리 코드를 분석하여 소스 코드를 복원해내는 과정

개발자들의 고통 시작

이것이 개발자들의 고통의 시발점이 되었다.
너무 다른 이 두 브라우저 위에서도 잘 동작할 수 있는 웹 사이트를 만들어야 했다.

표준안 생성

이 사태를 참지 못한 넷스케이프사는
ECMA International 이라는 단체를 찾아가서
표준안을 만들자 제안하게된다.

그리하여 1997년 7월 첫 번째 ECMA Script1 이 시장에 나오게 된다.

ECMA Script :
브라우저에서 동작하는 언어를 만들 때, 엔진이 이해하기 위한 변수와 함수의 문법적인 사항을 잘 정리한 문서이다.

그 뒤에 새로운 버전들이 계속 추가적으로 나오게 되었는데
그 사이에 마이크로소프트사의 익스플로어의 시장 점유율이 95%가 되면서, 더 이상 표준안에 참가하지 않게 되어
2000년도부터는 표준화 진행이 더뎌지게 되었다.

그리고 4년 뒤인 2004년도에 모질라에서 파이어 폭스 브라우저가 출시되게 된다.

표준화를 앞에두고 3사의 치열한 신경전이 벌어지고
시장에 존재하는 다양한 브라우저에서 잘 동작하 수 있도록 웹페이지를 만들어야 했기 때문에 개발자들은 고통이였다.

라이브러리의 등장

이로인해 강력한 커뮤니티가 형성되기 시작하는데
더 이상 개발자들이 서로 다른 브라우저의 구현사항을 신경쓰지 않게 만들어주는 Jquery, dojo, mootools 와 같은 라이브러리들이 나오게 된다.

"우리가 제공하는 apis만 써 우리가 제공하는 함수들을 쓰면 각기 다른 바라우저 상에서 동작할 수 있게 하는건 우리가 신경 써줄게"

그 중에서서도 Write less, do more 이라고 강조하는 제이쿼리가 많은 사랑을 받게된다.

*여기서 배울 수 있는 좋은 프로그래밍의 철학
서비스, 프리젠테이션, 비즈니스 레이어를 만들 때 apis들을 잘 작성하여서 나중에 구현사항이 변경되더라도 이 인터페이스를 사용하는 사용자 코드는 수정하지 않도록 만드는 것이 좋은 practice이다.

구글 크럼 브라우저의 등장

2008년 크롬이 출시되었고
크롬은 JIT(Just-In-Time-Compilation 이라는 강력한 엔진이 포함된 브라우저로, 자바스크립트를 실행하는 속도가 엄청나게 빠른 강력한 엔진이 포함된 브라우저이다.

이런 크롬의 획기적인 등장에 시장에 존재하던 다른 브라우저는 위기를 느끼고 좋은 자극을 받게되고

2008년 7월에 모든 브라우저들이 표준화 형성을 위해 모이게된다.

그리하여 드디어 2009년도 ECMA Script5가 나오게되고 뒤를 이어 2015년도에 ECMA Script6가 나오게된다.

이로써 JavaScript는 성숙하고 잘 정착된 언어가 되었다.

0개의 댓글