드림코딩_by엘리/유투브강의_JavaScript

드림코딩 by 엘리_자바스크립트의 역사와 현재 그리고 미래 (JavaScript, ECMAScript, JQuery, Babel, Node.js)

AngeRay 2021. 7. 18. 21:31

새로운 언어를 배울때 바로 문법 공부에 전념하는 것보다 그 언어의 탄생배경에 대해 이해하는 것이 매우 중요하다.

이 언어를 배웠을 때 어느 분야에서 활용가능하고, 나에게 어떤 이득이 생길 수 있는지에 대한 이해가 필수 이다.

 

 

당시에는 HTML과 CSS로 간단하게 웹페이지를 만들었는데,

HTML의 약자인 text에 link를 걸어서 페이지와 페이지 사이에 이동만 가능한 웹페이지 였다.

 

 

이미 사용자들에게 보여지고 있는 웹사이트 안에서 DOM 요소들을 조작하면서 다이다믹한 웹사이트를 만들기 위해서

새로운 언어를 추가하기로 한다.

브랜든은 짧은 시간안에 프로토타입을 베이스로한 유연한 언어를 개발하게 된다.

(프로토타입(prototype)은 원래의 형태 또는 전형적인 예, 기초 또는 표준이다. 시제품이 나오기 전의 제품의 원형으로 개발검증과 양산 검증을 거쳐야 시제품이 될 수 있다. 프로토타입은 '정보시스템의 미완성 버전 또는 중요한 기능들이 포함되어 있는 시스템의 초기모델'이다.)

그 언어가 바로 LiveScript 이다.

 

 

Java의 인기에 힘입어 LiveScript를 JavaScript로 이름을 변경한다.

즉 두 언어는 Java와 JavaScript는 아예 다른 언어인 것이다.

 

 

이때 마이크로소프트 사에서 JavaScript를 카피해서 웹브라우저를 만들었고, 이때문에 Netscape 사에서는 ECMA International 에 표준화를 제안한다.

그래서 짜잔 ECMAScript가 등장한다.

ECMAScript는 브라우저에서 동작하는 언어를 만들 때

그리고 그 언어를 이해할 수 있는 엔진이 이해하기 위해서는 문법적인 사항들을 잘 정리한 문서이다.

그리고 계속 새로운 버전들이 추가적으로 나오게 된다.

우리가 흔하게 쓰이는 문법들은 2015년에 버전 ECMAScript6에 정의되어 있다.

 

이제는 JavaScript is Mature, Settled down 된 언어 이다.

 

각각의 브라우저들마다 ECMA Script 표준안에 따라가는 다양한 엔진이 존재한다.

모든 브라우저들이 ECMAScript의 표준사항들을 잘 따르고 있기때문에 이제 더이상 JQuery 같은 라이브러리의 도움없이도 충분히 JavaScript와 웹APIs에서 제공하는 APIs 만으로도 모든 브라우저에서 동작할 수 있는 웹과 앱을 만들 수 있다. 

 

JavaScript는 브라우저를 위한 브라우저에서 동적인 요소를 추가하기 위한 언어이다.

ECMAScript의 활발한 표준화를 통해서 그리고 강력한 V8 자바스크립트 엔진을 통해서 node.js가 등장하게 된다.

(여기서 V8은 크롬의 자바스크립트 엔진이다.)

 

요즘에는 SPA(Single Page Application)이 뜨고 있다.

즉 웹사이트를 만드는것은 더 이상 충분하지 않다.

하나의 페이지 안에서 데이터를 받아와서 필요한 부분만 부분적으로 업데이트 하는것이 트렌드 이다.

물론 자바스크립트 만으로도 충분히 구현이 가능하지만 SPA를 쉽게 만들기 위해서 React, Vue 같은 라이브러리 들이 나오게 된다.

 

ECMAScript의 표준화와 강력한 V8(자바스크립트 엔진)을 통해서node.js가 등장한다.

node.js는 V8을 이용한 back-end에서 서비스를 구현할 수 있는 언어이다.