JavaScript HISTORY

kich555·2021년 8월 9일
0

🚨자바스크립트 입문한다며 이것저것 뻘짓을 하던 중 갈수록 "콜백", "비동기", "DOM", "객체", "api", "AJAX" 등 모르는 단어가 천지 삐까리더라

💡이대로 가봤자 의미가 없겠다는 판단이 들어, 수업과는 별개로 하나하나씩 발가락부터 훑어보고자 한다.

HISTORY

시작

1. Mosaic


1993년 미국 일리노이 대학교 NCSA 연구소의 대학생이었던 마크 앤드리슨(Marc Andreessen)과 에릭 비나(Eric Bina)가 Mosaic 라는 웹 브라우저를 개발한다.
팀 버너스리(Tim Berners-Lee)가 만든 기존의 WWW(WorldWideWeb) 브라우저가 텍스트 위주였던 것과 달리, 모자이크는 이미지를 표시할 수 있는 최초의 그래픽 웹 브라우저였다.

2. Netscape Navigator

대학교를 졸업한 마크 앤드리슨(Marc Andreessen)은 이 후 Netscape라는 회사를 차리게 되는데, 이전 Mosaic 웹 브라우저를 만들던 경험을 토대로 해서 조금더 UI(User Interface)요소가 더해진 Netscape Navigator (1994)를 개발하였고, 초기 인터넷 사용자들의 폭발적 반응을 얻어 약 90%의 시장점유율을 차지했다.

3. Start of Dynamic Web Page & Scripting Language

마크 앤드리슨(Marc Andreessen)은 성공적으로 Netscape Navigator (1994)를 런칭한 이 후 동적인 웹사이트 환경을 구현하고자 웹사이트 안에서 DOM요소들을 조작하여 다이내믹한 웹사이트를 구현할 수 있는 Script 언어를 추가하게 된다,

DOM(Document Object Model) 문서 객체 모델

XML이나 HTML 문서에 접근하기 위한 일종의 인터페이스이다. 이 객체 모델은 문서 내의 모든 요소를 정의하고, 각각의 요소에 접근하는 방법을 제공한다.
DOM은 W3C의 표준 객체 모델이며, 다음과 같이 계층 구조로 표현된다.

자바스크립트는 이러한 객체 모델을 이용하여 다음과 같은 작업을 할 수 있다.

  • 💡 JavaScript는 새로운 혹은 존재하는 HTML 요소나 속성을 변경/추가/제거할 수 있음
  • 💡 JavaScript는 HTML 문서의 모든 CSS 스타일을 변경할 수 있음
  • 💡 JavaScript는 HTML 문서에 새로운 HTML 이벤트를 추가할 수 있음
  • 💡 JavaScript는 HTML 문서의 모든 HTML 이벤트에 반응할 수 있음

JavaScript


처음으로 고려되었던 Script언어는 당시 가장 🔥했던 썬 마이크로시스템즈(Sun Microsystems)社의 JAVA☕ 였지만 웹사이트를 주로 개발하던 개발자들이 사용하기엔 너무 무겁고 어려웠다.

두번째로 시도한 것은 브랜든 아이크(Brendan Eich)를 스카웃 하여 기존 Scheme Script의 컨셉을 유지하면서 문법은 좀 더 JAVA☕ 스러운 새로운 Script 언어를 주문한 것인데 이로써 굉장히 유연한(Super flexible)한 언어가 개발된다.

1994년 9월 내부적으로는 Mocha라고 불렸던 새로운 언어가 탄생되게 되는데 이 후 LiveScript로 이름이 변경 되고, Netscape Navigator안에는 LiveScript Interpreter(LiveScript Engine)가 포함되어 출시하게 된다.

이 후 JAVA☕의 인기에 한다리 걸치고 싶었던 Netscape社는 LiveScript의 이름을 슬며시 JavaScript로 변경한다.

(아직도 Java랑 JavaScript랑 헷갈려하는 흑우 없제?)

Internet Explorer, IE

(형아가 IE쓰는 사람은 거르랬어요)

Netscape Navigator를 보며 Browser의 무한한 가능성을 보게된 MS(Microsoft)는 Mosaic의 소스코드를 활용하여 1995년 IE(Internet Explorer)를 만들게 되는데 이때 Netscape의 JavaScript의 소스코드도 Reverse engineering으로 고스란히 복원하여 몇가지를 수정한 후 Jscript라는 script언어도 만들게 된다.

-> 이때부터 웹개발자들의 극고통이 시작된다... (물논 난 그런거 안겪어봄)

다음편에 계속

profile
const isInChallenge = true; const hasStrongWill = true; (() => { while (isInChallenge) { if(hasStrongWill) {return 'Success' } })();

0개의 댓글