1993
- Marc Andreessen은 Netscape 회사를 차림
- Mosaic Web Browser 만듦
1994
-Netscape Navigator (UI요소가 더 추가됨)
└ HTML , CSS 로 페이지를 만듦. (정적인 웹사이트, 시장에서 80%의 점유율)
Marc Andreessen은 동적인 웹사이트를 만들기 위해 고민.. 1. Java(무겁고, 단어가 어려움) 2. Brendan Eich를 스카웃해서 Scheme라는 언어를 변형해서 우리만의 새로운 언어를 만들자! |
- 9월, 내부적으로 Mocha라고 불렀던 새로운 언어 탄생.
- 추후 LiveScript로 이름 변경 / Netscape 안에는 이해하고 실행할 수 있는 LiveScript 엔진, 즉 Interpreter가 포함해서 출시.(=웹 개발자가 LiveScript 언어를 이용하면 Netscape Navigator브라우저가 이 언어가 실행하고자하는 것에 알맞게 조작하는 게 가능)
1995
- 추후 JavaScript로 변경
(Java의 인기에 얹혀 올라타는 방법을 고민하다가 LiveScipt의 이름을 JavaScript로 변경함, 그래서 Java와 JavaScript를 오해하는 경우가 발생한다고..)
위기를 느낀 Microsoft사, Netscape에서 만든 브라우저를 Reverse engineering을 함. =만들어진 프로그램에 바이너리 코드를 분석해 소스코드를 분석하는 과정 Javascipt의 소스코드를 그대로 복원해서 조그만 기능을 변경하고 자신들만의 언어인척 JScript라는 이름으로 시장에 내놓음. ===>이는 개발자들의 고통의 시발점이 된다 (너무 다른 브라우저 위에 동작할 수 있는 웹사이트를 만들어야했기때문) |
1996
- NetScape회사
└ ECMA INternational라는 단체에 찾아가 "JavaScript를 표준화해보자"
1997
-7월, 1번째 ECMAScipt1 출시.
└ 브라우저에 동작하는 문법적 서류를 잘 정리한 문서
-그 이후 2000년대까지 새로운 버전들을 출시함
EMAScript 1 (1997)
EMAScript 2 (1998)
EMAScript 3 (1999) : 새로운 error handling에 관한 문법, === (3 co-operator : 관계 연산자) 추가
EMAScript 4 (2000) : 다양한 것들 추가
2000
-Microsoft사의 Internet Explorer의 시장점유율 95%
└ 조금씩 Netscape사에 대한 불만 표출(개발자들의 편의성을 위해 class를 추가하는 건 더이상 script언어가 아니다)
└ " 사용자들이 많이 쓰니까, 우리가 표준이다" 선언
- 더이상 ECMA Script의 표준화에 참가X.
2004
-Mozilla사 : Firefox 출시
-ActionScript3에 Tamarin이라는 엔진이 있는데 이걸 이용하며 표준화에 대해 다시 검토해보자~
- BUT 기존의 부라우저에 쓰이고있는 JScript와 JavaScript와 너무 달라 표준화에 대한 고민이 필요했음.
- Jesse James Garrett
└AJAX((Asynchoronous JavaScript and XML)기술명세서) :비동기적으로 데이터를 서버에서 받아오고 처리할 수 있는 것
그사이...
웹 시장 증가하고 수요가 많아짐 -> 개발자 많아짐 -> 커뮤니티 형성 (JQuery, dojo, mootools)
2008
-Google사 : chorome (+JIT엔진:JavaScript 실행 속도 빠른엔진)
-7월, 4사(Google, Netscape, Mozilla, Microsoft)의 표준화 작업 시작
2009
- ECMAScript5
2015
- ECMAScript6 (default parameter, class, aarrow function, const, let 등)
그 이후 매 해마다 새로운 Script 나옴(커다란 틀은 5,6에서 정의됐고 그 이후는 조금만 수정된 정도)
JavaScript = 표준화됨.
더이상 jQuery, dojo,mootools 도움없이 웹 API만으로도 모든 브라우저에 잘 동작할 수 잇는 웹 애플리케이션 만들 수 있음.
JavaScript Engines
-V8 (Chrome) : microsoft사에서도 쓰고있음
-SpiderMonkey (Firefox)
-JSCore (Safari)
-Chakra (MS Edge)
-Carakan (Opera)
-Tamarin (Adobe Flash)
-Babel : ECMA Script를 최신 버전으로 변환
:우리가 개발할 때는 최신버전의 ECMA Script 사용,
사용자 배포 시, JavaScript transcompiler이용 (ECMA SCript를 최신 버전으로 변환 ===> Babel)
<현재 가고 있는 방향>
- SPA (Single Page Application)가 뜨고있음.
웹사이트 만드는 건 충분하지않음. 하나의 페이지에 데이터를 가져와 부분적으로 업데이트 하는것. 자바스크립트만으로도 구현 가능하겠지만 SPA를 더 쉽게 만들기위해 리액트 앵귤러 비유 등.. 이 나옴.
<이용할 수 있는 분야>
-백엔드, 모바일, 데스크탑 앱
<뜨고있는 다른 기술>
- 웹 어쌤블리 등장
└ C++, C#, Java, Python 등 다양한 언어 이용해 웹 어플리케이션 만드는 게 가능해짐.
└ C++로 만들어진 게임도 웹브라우저에서 동작 가능하게 만들수 있음. 피그마도 마찬가지.
<시장성>
- 가장 많이 사용된 언어에서 7년 동안 1위.
- 사랑받는 언어 11위.
- 개발자들 배우고싶은 언너 2위.
- 전세계적 평균 연봉 5600.
'JavaScript' 카테고리의 다른 글
[JS] 데이터타입, data types, 변수 선언 let vs var, hoisting (1) | 2023.03.12 |
---|---|
[JS] 콘솔에 출력, script async 와 defer의 차이점 (0) | 2023.03.12 |
[JS] UI vs API & 마무리 (0) | 2023.03.06 |
[JS] 라이브러리와 프레임워크 (0) | 2023.03.06 |
[JS] 파일로 쪼개서 정리 정돈하기 (0) | 2023.03.06 |