본문 바로가기

JavaScript

[JS] JavaScript의 역사, 현재 그리고 미래

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.