자바스크립트 기초 강의 (ES5+) (1/18)

Yuri Lee·2020년 8월 28일
0

자바스크립트 배우기전 꼭 봐야할 영상 | 자바스크립트의 역사와 현재 그리고 미래 (JavaScript, ECMAScript, JQuery, Babel, Node.js)

1993년 Mosaic Web Browser 이 출현함! Marc Andressen이 netscape 라는 회사를 설립.

Netscape Navigator

정말 정적인 웹사이트, html로 구성되어 있었다. 어떻게 하면 동적인 웹사이트를 만들 수 있을까? scripting 언어를 추가하자.

사용자들에게 보여주는 웹 사이트 안에서 DOM 요소들을 조작하면서 다이나믹한 것을 만들기 위해서 새로운 언어를 추가하기로 결심했다.

처음으로 고려되었던 것은 JAVA 언어 하지만 웹 사이트를 주로 개발하던 개발자들이 사용하기에는 다소 무겁고 어려운 언어였기 때문에 pass...

brendan에게 scheme를 변형하여 우리만의 새로운 언어를 만들자고 제안했다. 10일 안에?.. 도랏...ㅋㅋㅋㅋㅋㅋ

1994년 9월에 내부적으로는 Mocha라고 불렸던 새로운 언어가 탄생하게 되었다. 하지만 추후 LiveScript 로 이름이 바꼈다. Netscape Navigator 안에는 LiveScript를 이해하고 실행할 수 있는 LiveScript 엔진, 즉 LiveScript Interpreter가 포함이 되어서 브라우저가 출시되게 된다.

이 말은 즉슨 웹 개발자들이 LiveScript 언어를 이용해 웹 페이지를 만들게 되면 Netscape Navigator 브라우저가 이해하면서 그 언어가 실행하고자 하는 것에 알맞게 돔요소들을 조작하는 것이 가능해짐!

그 당시에 JAVA언어의 인기가 치솟고 있었는데, 어떻게 하면 잘 올라탈 수 있을까 해서 이름을 JavaScript로 변경하게 되었다. (오...신기 😯😯😯😯😯)

1995 Microsoft 에서는 Netscape에서 출시한 브라우저를 Reverse engineering을 하게 된다. 만들어진 프로그램에 binary code를 분석해서 soruce code를 복원해나가는 과정을 이야기 한다. 그대로 베껴서 기능만 조금 수정하여 JScript라는 이름으로 내놓게 된다.

1995년 Microsoft 사에서도 인터넷 익스플로어를 시장에 내놓는다. 개발자들 고통의 시발점이 되었다.....웹개발자는 너무나 다른 이 두 브라우저 위에서도 잘 동작할 수 있는 웹사이트를 만들어야 했다.

ECMA International 이라는 단체에 찾아가서 javascript 표준화를 만들자고 제안,

1997.7 ECMAScript 1 language specification 이 나오게 되었따. 변수는 이렇게, 함수는 이렇게 만들어야 하는 문법적인 사항을 정리하였다.

error handling, optional type annotiation, class, .... 등

2000년 Internet explorer 95% 이상이 사용하게 되었는데 .. 사람들이 우리꺼를 많이 쓰기 때문에 이크마 표준화에 참여하지 않았고...

2004 firefox 브라우저 탄생..

표준화를 앞두고 3사의 치열한 경쟁이 벌어짐.. 불쌍한 개발자들..ㅠㅠ..웹페이지를 만들어가야 했다..

2004 ajax 기술 명세서 표기!!!!! Asynchronous JavaScript and XML. 비동기적으로 데이터를 서버에서 받아오고 처리할 수 있도록 만들어진...!! 이런 도입에도 불구하고 신경전은 계속 되었는데..

시장에는 여러 브라우저가 나오게 되었다. 웹 시장이 증가하고 수요가 많아지면서 개발자들이 웹시장으로 들어오게 되었다. 그렇게 강력한 커뮤니티가 생겨나면서 Jquery, dojo, mootools 와 같은 다양한 라이브러리가 많이 나오게 되었다. 이 라이브러리들의 공통된 점은 딱 하나.

바로 개발자들이 더이상 다른 브라우저의 구현사항을 신경쓰지 않아도 되게 만든 것이다.

2008 google에서 chrome 이 출시되었다. JIT(Just-in-time compilcation)라는 강력한 엔진을 포함하고 있다. 자바스크립트를 실행하는 속도가 엄청 빠른 강력한 엔진이 포함되어있는 브라우저이다. 그래서 다른 브라우저들은 성능개선에 대한 좋은 자극을 받게 되었다.

2008.7드디어 4개의 브라우저가 모여서 협의점을 찾게 되었고

2009 ECMAScript 5가 나오게 되었다.

그리고 7년 후 2015 ECMAScript6 !!!! default parameter, class, arrow, function, const, let

이제 JavaScript는 mature, settled down 성숙하고 잘 정착된 언어라는 것을 말할 수 있다. 모든 브라우저들이 이 표준을 잘 따라가기 때문에 jquery, dojo, mootools와 같은 라이브러리의 도움 없이도 충분히 잘 동작할 수 있는 웹사이트, 웹애플리케이션을 만들 수 있게 되었다.

각각의 브라우저마다 ECMAScript의 표준을 위해 다양한 엔진들이 존재한다.

Chrome : V8

Firefox : SpiderMonkey

Safari : JSCore

... 등등등

크롬에서 사용되는 V8 자바스크립트 엔진은 node.js와 ELECTRON에서도 많이 이용된다.

시장에서 최신 브라우저를 사용하는 유저, 오래된 브라우저를 사용하는 유저 등등 각기 다른 브라우저를 사용한다.

개발할 때는 최신 버전의 이크마 스크립트를 사용하고 사용자에게 배포할 때만 javaScript transcompiler 가능하도록 한다. 바로 그것을 할 수 있게 해주는 게 BABEL이다.

😊현재 가고 있는 방향😊

SPA (Single Page Application)
하나의 페이지에서 데이터를 받아와서 부분적으로 업데이트를 하는 것이 굉장히 유행하고 있다. 이것을 쉽게 만들기 위해서 Angular, React, Vue 와 같은 프레임워크가 나오게 되었다.

자바스크립트는 브라우저에 의한, 브라우저에 동적인 요소를 추가하기 위해 태어난 언어이다. 추가적으로 node.js가 등장하게 되었는데 V8 엔진을 이용하여 백엔드에서 서비스를 구현할 수 있도록 만들어졌다.

자바스크립트는 무궁무진하다.
브라우저에서 동작할 수 있는 유일한 언어는 javascript였다. 요즘에는 웹어셈블리가 등장해 다양한 언어를 이용해 웹애플리케이션을 만드는 게 가능해졌다.


-이 글은 유투버 드림코딩 by 엘리 의
자바스크립트 기초 강의 (ES5+): 같이 노트를 작성하며 배워요 📒를 바탕으로 정리한 내용입니다.-

profile
Step by step goes a long way ✨

0개의 댓글