프런트엔드 개발자가 꼭 알아야 하는 지식 - 자바스크립트 역사


안녕하세요! 이번에는 저번 포스팅(프런트엔드 개발자가 꼭 알아야 하는 지식 - CSS 역사)에 이어서 자바스크립트 역사를 알아보겠습니다.


자바스크립트의 탄생 배경을 이해하기 위해서는 1990년대 당시 치열했던 웹 브라우저 간에 경쟁을 빼 놓고 말할 수 없습니다. 훗날 이러한 경쟁 상황을 일컬어 브라우저 전쟁이라고 부릅니다.


🔥 브라우저 전쟁 🔥


1990년 최초의 웹 브라우저는 팀 버너스리가 만든 ‘월드와이드웹(이후 넥서스)’입니다. 하지만 팀 버너스리의 ‘월드와이드웹’은 단순히 HTML 초기 버전을 시연하기 위해서 만들었던 임시 버전의 브라우저였을 뿐이고, 팀 버너스리는 그 이후에 새로운 브라우저를 만들거나 개발하지 않았습니다.


새로운 브라우저는 오히려 다른 개발자들에 의해 탄생하게 되는데, CSS에서 소개했던 아르고(Argo) 브라우저와 아레나(arena) 브라우저도 그렇게 해서 탄생한 웹 브라우저 중 하나였습니다.


이외에도 라인 모드 브라우저(Line Mode Browser), 비올라월드와이드웹(ViolaWWW), 이알와이즈(Erwise), 마이다스월드와이드웹(MidasWWW) 등 굉장히 많은 웹 브라우저가 탄생했습니다.


각각의 웹 브라우저는 자체적인 경쟁을 통해서 사용자 점유율을 확보하려고 노력했습니다. 하지만 1993년 웹 브라우저에 최초로 이미지를 출력하기 위해 개발된 모자이크(Mosaic)가 다른 브라우저를 누르고 93%라는 높은 점유율로 웹 브라우저 시장을 독점하게 되었습니다. 이를 모자이크 브라우저 전쟁이라고 부릅니다.


이듬해인 1994년 모자이크 설립자 중 한 명이 세운 넷스케이프 커뮤니케이션 코퍼레이션(Netscape Communications Corporation, 이하 넷스케이프사)에서 출시한 넷스케이프 내비게이터(Netscape Navigator, 이하 내비게이터) 브라우저가 이듬해인 1995년 모자이크의 점유율을 누르고 1996년에는 전체 웹 브라우저 시장의 80%의 점유율을 달성하는 놀라운 위업을 달성하게 됩니다.


하지만 내비게이터가 웹 브라우저 시장에서 압도적인 독점적 영향력을 내세울 때, 빌 게이츠가 설립한 마이크로소프트는 1995년 8월 이미 시장에서 뒤처지고 있던 모자이크 브라우저의 라이선스를 구매해 인터넷 익스플로러 1.0(Internet Explorer 1.0)을 개발하여 출시하고 3개월 뒤인 11월에는 2.0 버전을 출시했습니다.


이미 내비게이터가 시장 점유율을 확보한 상황에서 웹 브라우저의 주도권을 가져오기 위해 마이크로소프트사는 당시 운영체제 시장의 독점적인 지위를 갖고 있던 자사의 윈도우 95에 인터넷 익스플로러를 포함시켜 무료 배포하는 마케팅을 벌였습니다.


결과적으로 내비게이터는 인터넷 익스플로러에 패배하였고, 인터넷 익스플로러는 2002년 무려 93%의 점유율을 달성하며 웹 브라우저 전쟁의 승리자가 되었습니다.


넷스케이프사는 결국 2003년에 폐업하게 되는데, 이처럼 1995년 인터넷 익스플로러가 웹 브라우저 시장 경쟁에 참여한 기점부터 넷스케이프사가 패배하여 폐업을 결정하게 된 2003년까지 치열한 브라우저 점유율 경쟁을 벌인 기간을 일컬어 1차 브라우저 전쟁이라고 합니다.


넷스케이프사는 회사가 폐업을 하면서 내비게이터의 소스 코드를 모두 공개했습니다.


이 코드를 모질라 재단(Mozilla Foundation)이 계승하여 2004년에 파이어폭스(Firefox)라는 브라우저를 공개합니다.


이후 2009년에 구글의 크롬 브라우저가 등장하고 마이크로소프트의 인터넷 익스플로러, 모질라 재단의 파이어폭스, 구글의 크롬이 점유율 경쟁을 벌이는 2차 브라우저 전쟁이 시작됩니다. 2차 브라우저 전쟁은 2014년 구글 크롬이 점유율 1위를 탈환하면서 최종 승리자가 되어 마무리됩니다.


🔥 자바스크립트 탄생 🔥


1994년 처음 출시된 내비게이터는 이후 1995년에 출시된 후발 주자인 인터넷 익스플로러와의 점유율 경쟁에서 밀리지 않기 위해 여러 가지 최신 기능을 개발하여 탑재하였습니다.


당시 표준으로 제안되었던 CSS에 대한 브라우저 지원은 물론이고, 웹 페이지에 기능과 동작을 추가할 수 있었던 스크립트 언어까지 개발하게 되는데, 이때 개발된 언어가 모카(Mocha)입니다. 이후 모카는 라이브스크립트(LiveScript)로 이름이 변경되었습니다.


그리고 또다시 마케팅을 위해 당시 유명한 프로그래밍 언어였던 자바(Java)와 유사하게 자바스크립트(Javascript)라는 이름으로 변경되어 오늘날 자바스크립트라는 이름의 어원이 됩니다.


자바스크립트의 등장은 웹 브라우저를 사용하는 많은 사람에게 혁신이었습니다. 단순히 제공해 주는 정보만 읽는 역할을 하던 웹 페이지가 자바스크립트의 지원으로 인해 사용자와 웹 페이지 사이의 커뮤니케이션을 가능하게 했습니다.


하지만 자바스크립트는 내비게이터에서만 사용이 가능했습니다. 웹 브라우저 점유율을 확보하려고 했던 마이크로소프트사도 제이스크립트(Jscript)라는 스크립트 언어를 개발하여 자사의 인터넷 익스플로러에 탑재했습니다.


결국 내비게이터는 자바스크립트(Javascript), 인터넷 익스플로러는 제이스크립트(Jscript)라는 독자적인 스크립트 언어를 사용하는 체제로 가게 되었습니다.


넷스케이프사는 양사의 무분별한 스크립트 언어 개발로 스크립트 세계가 파괴되는 것을 우려했습니다. 그래서 스크립트 언어를 공식적으로 표준 사양으로 등록하도록 국제 기관에 요청했고 요청이 받아들여져 자바스크립트 표준을 공식화했습니다.


참고로 이와 동시에 W3C(World Wide Web Consortium)는 표준 DOM(Document Object Model, 웹 페이지에 대한 인터페이스)에 대한 작업을 시작하게 되는데, 이는 표준화로 지정된 자바스크립트를 사용해서 HTML 문서를 조작하게 하기 위한 방법을 정의하기 위한 것이었습니다.


자바스크립트 표준의 공식화로 인해서 더 이상 넷스케이프사와 마이크로소프트사는 자체적인 독점 기술 사양으로 스크립트 언어를 개발할 수 없게 되었고 이름은 다르지만 표준 규약은 동일하게 스크립트 언어를 개발하게 되었습니다.


이후 넷스케이프사가 폐업한 이후에도 인터넷 익스플로러는 제이스크립트(Jscript)를 꾸준히 개발해서 자사의 인터넷 익스플로러에 탑재했습니다. 다만 이 스크립트 언어가 자바스크립트 표준을 따르기 때문에 나중에는 그냥 보편적으로 자바스크립트라고 불리게 됩니다.


이렇게해서 자바스크립트의 역사도 간단하게 살펴보았는데요! 이 포스팅을 통해서 자바스크립트가 어떤 역사적 배경 속에서 탄생하게 되었는지 알게 되셨죠? 이러한 역사는 각 언어를 공부하는 데 필수는 아니지만 알아두면 조금 더 재미있게 언어를 배울 수 있습니다!😊


이 밖에도 더 많은 프런트엔드 기술과 관련 정보, 로드맵이 궁금하시다면!

제가 이번에 집필한 <아는 만큼 보이는 프런트엔드 - 한 권으로 보는 프런트엔드 로드맵과 학습 가이드> 에서 조금 더 확인해 보실 수 있습니다!


🚀 교보문고: http://gilbut.co/c/23091331Eo

🚀 YES24: http://gilbut.co/c/23098124bF

🚀 알라딘: http://gilbut.co/c/23098896Pw

아는 만큼 보이는 프런트엔드 개발 | 김기수 - 교보문고

kyobobook.co.kr

아는 만큼 보이는 프런트엔드 개발 | 김기수 - 교보문고

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 10월 8일 오후 7:02

댓글 0

    함께 읽은 게시물


    React 면접 전 살펴보기 위한 Q&A 40가지 (2024년 ver)

    1. R

    ... 더 보기

    Top 40 ReactJS Interview Questions and Answers in 2024 | Simplilearn

    Simplilearn.com

    Top 40 ReactJS Interview Questions and Answers in 2024 | Simplilearn

     • 

    댓글 1 • 저장 218 • 조회 11,571


    Oblivious HTTP(Swift 프라이버시 보호 HTTP 프로토콜)

    ... 더 보기

    Oblivious HTTP support in Swift (feat. privacy)

    iOYES

    Oblivious HTTP support in Swift (feat. privacy)

    개발자의 장애 공유 문화

    ... 더 보기

    개발자의 장애 공유 문화

    K리그 프로그래머

    개발자의 장애 공유 문화

     • 

    저장 23 • 조회 4,184


    ChatGPT 버전명 설명

    ChatGPT 사용할 때 어떤 모델을 선택해야할지 망설여집니다. 모델명만 봐서는 어떤게 좋은지 모르겠더라고요.

    ... 더 보기

    < 완벽한 계획은 없다, 그런데 왜 계획을 세울까? >

    1. 작전계획이란게 왜 필요한 걸까?

    ... 더 보기

     • 

    댓글 1 • 저장 4 • 조회 880